| 84 xmlnode_set_attrib(identity, "name", PACKAGE); |
84 xmlnode_set_attrib(identity, "name", PACKAGE); |
| 85 |
85 |
| 86 SUPPORT_FEATURE("jabber:iq:last") |
86 SUPPORT_FEATURE("jabber:iq:last") |
| 87 SUPPORT_FEATURE("jabber:iq:oob") |
87 SUPPORT_FEATURE("jabber:iq:oob") |
| 88 SUPPORT_FEATURE("jabber:iq:time") |
88 SUPPORT_FEATURE("jabber:iq:time") |
| |
89 SUPPORT_FEATURE("xmpp:urn:time") |
| 89 SUPPORT_FEATURE("jabber:iq:version") |
90 SUPPORT_FEATURE("jabber:iq:version") |
| 90 SUPPORT_FEATURE("jabber:x:conference") |
91 SUPPORT_FEATURE("jabber:x:conference") |
| 91 SUPPORT_FEATURE("http://jabber.org/protocol/bytestreams") |
92 SUPPORT_FEATURE("http://jabber.org/protocol/bytestreams") |
| 92 SUPPORT_FEATURE("http://jabber.org/protocol/disco#info") |
93 SUPPORT_FEATURE("http://jabber.org/protocol/disco#info") |
| 93 SUPPORT_FEATURE("http://jabber.org/protocol/disco#items") |
94 SUPPORT_FEATURE("http://jabber.org/protocol/disco#items") |
| 97 SUPPORT_FEATURE("http://jabber.org/protocol/muc") |
98 SUPPORT_FEATURE("http://jabber.org/protocol/muc") |
| 98 SUPPORT_FEATURE("http://jabber.org/protocol/muc#user") |
99 SUPPORT_FEATURE("http://jabber.org/protocol/muc#user") |
| 99 SUPPORT_FEATURE("http://jabber.org/protocol/si") |
100 SUPPORT_FEATURE("http://jabber.org/protocol/si") |
| 100 SUPPORT_FEATURE("http://jabber.org/protocol/si/profile/file-transfer") |
101 SUPPORT_FEATURE("http://jabber.org/protocol/si/profile/file-transfer") |
| 101 SUPPORT_FEATURE("http://jabber.org/protocol/xhtml-im") |
102 SUPPORT_FEATURE("http://jabber.org/protocol/xhtml-im") |
| |
103 SUPPORT_FEATURE("urn:xmpp:ping") |
| 102 SUPPORT_FEATURE("http://www.xmpp.org/extensions/xep-0199.html#ns") |
104 SUPPORT_FEATURE("http://www.xmpp.org/extensions/xep-0199.html#ns") |
| 103 |
105 |
| 104 if(!node) { /* non-caps disco#info, add all enabled extensions */ |
106 if(!node) { /* non-caps disco#info, add all enabled extensions */ |
| 105 GList *features; |
107 GList *features; |
| 106 for(features = jabber_features; features; features = features->next) { |
108 for(features = jabber_features; features; features = features->next) { |
| 278 } |
280 } |
| 279 |
281 |
| 280 static void |
282 static void |
| 281 jabber_disco_finish_server_info_result_cb(JabberStream *js) |
283 jabber_disco_finish_server_info_result_cb(JabberStream *js) |
| 282 { |
284 { |
| 283 PurplePresence *gpresence; |
285 |
| 284 PurpleStatus *status; |
286 jabber_vcard_fetch_mine(js); |
| 285 |
287 |
| 286 if (!(js->server_caps & JABBER_CAP_GOOGLE_ROSTER)) { |
288 if (!(js->server_caps & JABBER_CAP_GOOGLE_ROSTER)) { |
| 287 /* If the server supports JABBER_CAP_GOOGLE_ROSTER; we will have already requested it */ |
289 /* If the server supports JABBER_CAP_GOOGLE_ROSTER; we will have already requested it */ |
| 288 jabber_roster_request(js); |
290 jabber_roster_request(js); |
| 289 } |
291 } |