diff options
| author | Wilmer van der Gaast <wilmer@gaast.net> | 2012-11-17 23:51:21 +0000 | 
|---|---|---|
| committer | Wilmer van der Gaast <wilmer@gaast.net> | 2012-11-17 23:51:21 +0000 | 
| commit | b0064647d06d4169f2b49f4f527ce05af43aacff (patch) | |
| tree | d1d1c7a5bd947cdb9e1931b79fa5b71c65e33cd8 /protocols | |
| parent | d1356cb8b0f964ddf7de50e1ba52eecc271e470a (diff) | |
| parent | e1d3f986ddad6140a25f3feffc9e28da8fc2318d (diff) | |
Merge mainline.
Diffstat (limited to 'protocols')
| -rw-r--r-- | protocols/jabber/iq.c | 1 | ||||
| -rw-r--r-- | protocols/jabber/jabber.c | 2 | ||||
| -rw-r--r-- | protocols/jabber/jabber.h | 1 | ||||
| -rw-r--r-- | protocols/jabber/message.c | 22 | ||||
| -rw-r--r-- | protocols/nogaim.h | 4 | ||||
| -rw-r--r-- | protocols/oscar/oscar.c | 14 | 
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;  } | 
