aboutsummaryrefslogtreecommitdiffstats
path: root/protocols
diff options
context:
space:
mode:
Diffstat (limited to 'protocols')
-rw-r--r--protocols/jabber/iq.c1
-rw-r--r--protocols/jabber/jabber.c2
-rw-r--r--protocols/jabber/jabber.h1
-rw-r--r--protocols/jabber/message.c22
-rw-r--r--protocols/nogaim.h4
-rw-r--r--protocols/oscar/oscar.c14
6 files changed, 25 insertions, 19 deletions
diff --git a/protocols/jabber/iq.c b/protocols/jabber/iq.c
index b5a37a30..fa5104b1 100644
--- a/protocols/jabber/iq.c
+++ b/protocols/jabber/iq.c
@@ -127,6 +127,7 @@ xt_status jabber_pkt_iq( struct xt_node *node, gpointer data )
XMLNS_CHATSTATES,
XMLNS_MUC,
XMLNS_PING,
+ XMLNS_RECEIPTS,
XMLNS_SI,
XMLNS_BYTESTREAMS,
XMLNS_FILETRANSFER,
diff --git a/protocols/jabber/jabber.c b/protocols/jabber/jabber.c
index 723894fe..b8d6f234 100644
--- a/protocols/jabber/jabber.c
+++ b/protocols/jabber/jabber.c
@@ -230,7 +230,7 @@ void jabber_connect( struct im_connection *ic )
non-standard ports... */
if( set_getbool( &acc->set, "ssl" ) )
{
- jd->ssl = ssl_connect( connect_to, set_getint( &acc->set, "port" ), FALSE, jabber_connected_ssl, ic );
+ jd->ssl = ssl_connect( connect_to, set_getint( &acc->set, "port" ), set_getbool( &acc->set, "tls_verify" ), jabber_connected_ssl, ic );
jd->fd = jd->ssl ? ssl_getfd( jd->ssl ) : -1;
}
else
diff --git a/protocols/jabber/jabber.h b/protocols/jabber/jabber.h
index d11d2fe8..fa0ca015 100644
--- a/protocols/jabber/jabber.h
+++ b/protocols/jabber/jabber.h
@@ -226,6 +226,7 @@ struct jabber_transfer
#define XMLNS_TIME_OLD "jabber:iq:time" /* XEP-0090 */
#define XMLNS_TIME "urn:xmpp:time" /* XEP-0202 */
#define XMLNS_PING "urn:xmpp:ping" /* XEP-0199 */
+#define XMLNS_RECEIPTS "urn:xmpp:receipts" /* XEP-0184 */
#define XMLNS_VCARD "vcard-temp" /* XEP-0054 */
#define XMLNS_DELAY "jabber:x:delay" /* XEP-0091 */
#define XMLNS_XDATA "jabber:x:data" /* XEP-0004 */
diff --git a/protocols/jabber/message.c b/protocols/jabber/message.c
index 85c71c9d..58c1c815 100644
--- a/protocols/jabber/message.c
+++ b/protocols/jabber/message.c
@@ -28,12 +28,34 @@ xt_status jabber_pkt_message( struct xt_node *node, gpointer data )
struct im_connection *ic = data;
char *from = xt_find_attr( node, "from" );
char *type = xt_find_attr( node, "type" );
+ char *id = xt_find_attr( node, "id" );
struct xt_node *body = xt_find_node( node->children, "body" ), *c;
+ struct xt_node *request = xt_find_node( node->children, "request" );
struct jabber_buddy *bud = NULL;
char *s, *room = NULL, *reason = NULL;
if( !from )
return XT_HANDLED; /* Consider this packet corrupted. */
+
+ if( request && id )
+ {
+ /* Send a message receipt (XEP-0184), looking like this:
+ * <message
+ * from='kingrichard@royalty.england.lit/throne'
+ * id='bi29sg183b4v'
+ * to='northumberland@shakespeare.lit/westminster'>
+ * <received xmlns='urn:xmpp:receipts' id='richard2-4.1.247'/>
+ * </message> */
+ struct xt_node *received, *receipt;
+
+ received = xt_new_node( "received", NULL, NULL );
+ xt_add_attr( received, "xmlns", XMLNS_RECEIPTS );
+ xt_add_attr( received, "id", id );
+ receipt = jabber_make_packet( "message", NULL, from, received );
+
+ jabber_write_packet( ic, receipt );
+ xt_free_node( receipt );
+ }
bud = jabber_buddy_by_jid( ic, from, GET_BUDDY_EXACT );
diff --git a/protocols/nogaim.h b/protocols/nogaim.h
index fb82fc73..aa6ba7c0 100644
--- a/protocols/nogaim.h
+++ b/protocols/nogaim.h
@@ -89,11 +89,8 @@ struct im_connection
GSList *deny;
int permdeny;
- char displayname[128];
char *away;
- int evil;
-
/* BitlBee */
bee_t *bee;
@@ -128,7 +125,6 @@ struct buddy {
char name[80];
char show[BUDDY_ALIAS_MAXLEN];
int present;
- int evil;
time_t signon;
time_t idle;
int uc;
diff --git a/protocols/oscar/oscar.c b/protocols/oscar/oscar.c
index a5e177e9..0a1de519 100644
--- a/protocols/oscar/oscar.c
+++ b/protocols/oscar/oscar.c
@@ -946,9 +946,6 @@ static int gaim_parse_oncoming(aim_session_t *sess, aim_frame_t *fr, ...) {
g_hash_table_insert(od->ips, uin, (gpointer) (long) info->icqinfo.ipaddr);
}
- if (!aim_sncmp(ic->acc->user, info->sn))
- g_snprintf(ic->displayname, sizeof(ic->displayname), "%s", info->sn);
-
tmp = normalize(info->sn);
imcb_buddy_status(ic, tmp, flags, state_string, NULL);
imcb_buddy_times(ic, tmp, signon, time_idle);
@@ -1535,17 +1532,6 @@ static int gaim_parse_ratechange(aim_session_t *sess, aim_frame_t *fr, ...) {
}
static int gaim_selfinfo(aim_session_t *sess, aim_frame_t *fr, ...) {
- va_list ap;
- aim_userinfo_t *info;
- struct im_connection *ic = sess->aux_data;
-
- va_start(ap, fr);
- info = va_arg(ap, aim_userinfo_t *);
- va_end(ap);
-
- ic->evil = info->warnlevel/10;
- /* ic->correction_time = (info->onlinesince - ic->login_time); */
-
return 1;
}