Changes in protocols/jabber/presence.c [8c1eb80:dded27d]
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
protocols/jabber/presence.c
r8c1eb80 rdded27d 29 29 char *from = xt_find_attr( node, "from" ); 30 30 char *type = xt_find_attr( node, "type" ); /* NULL should mean the person is online. */ 31 struct xt_node *c , *cap;31 struct xt_node *c; 32 32 struct jabber_buddy *bud, *send_presence = NULL; 33 33 int is_chat = 0; … … 76 76 else 77 77 bud->priority = 0; 78 79 if( bud && ( cap = xt_find_node( node->children, "c" ) ) &&80 ( s = xt_find_attr( cap, "xmlns" ) ) && strcmp( s, XMLNS_CAPS ) == 0 )81 {82 /* This <presence> stanza includes an XEP-011583 capabilities part. Not too interesting, but we can84 see if it has an ext= attribute. */85 s = xt_find_attr( cap, "ext" );86 if( s && ( strstr( s, "cstates" ) || strstr( s, "chatstate" ) ) )87 bud->flags |= JBFLAG_DOES_XEP85;88 89 /* This field can contain more information like xhtml90 support, but we don't support that ourselves.91 Officially the ext= tag was deprecated, but enough92 clients do send it.93 94 (I'm aware that this is not the right way to use95 this field.) See for an explanation of ext=:96 http://www.xmpp.org/extensions/attic/xep-0115-1.3.html*/97 }98 78 99 79 if( is_chat ) … … 206 186 { 207 187 struct jabber_data *jd = ic->proto_data; 208 struct xt_node *node , *cap;188 struct xt_node *node; 209 189 char *show = jd->away_state->code; 210 190 char *status = jd->away_message; … … 219 199 xt_add_child( node, xt_new_node( "status", status, NULL ) ); 220 200 221 /* This makes the packet slightly bigger, but clients interested in222 capabilities can now cache the discovery info. This reduces the223 usual post-login iq-flood. See XEP-0115. At least libpurple and224 Trillian seem to do this right. */225 cap = xt_new_node( "c", NULL, NULL );226 xt_add_attr( cap, "xmlns", XMLNS_CAPS );227 xt_add_attr( cap, "node", "http://bitlbee.org/xmpp/caps" );228 xt_add_attr( cap, "ver", BITLBEE_VERSION ); /* The XEP wants this hashed, but nobody's doing that. */229 xt_add_child( node, cap );230 231 201 st = jabber_write_packet( ic, node ); 232 202
Note: See TracChangeset
for help on using the changeset viewer.