Mercurial > hg
comparison mcabber/mcabber/xmpp.c @ 1920:bfa507815e0c
Add caps to presence when joining a MUC room
(Noticed by diSabler)
author | Mikael Berthe <mikael@lilotux.net> |
---|---|
date | Tue, 09 Nov 2010 12:44:53 +0100 |
parents | 33d1c42cf07e |
children | 118524e9d7b6 |
comparison
equal
deleted
inserted
replaced
1919:fba12c1f6386 | 1920:bfa507815e0c |
---|---|
1857 g_error_free(error); | 1857 g_error_free(error); |
1858 } | 1858 } |
1859 return 0; | 1859 return 0; |
1860 } | 1860 } |
1861 | 1861 |
1862 // insert_entity_capabilities(presence_stanza) | 1862 // xmpp_insert_entity_capabilities(presence_stanza) |
1863 // Entity Capabilities (XEP-0115) | 1863 // Entity Capabilities (XEP-0115) |
1864 static void insert_entity_capabilities(LmMessageNode *x, enum imstatus status) | 1864 void xmpp_insert_entity_capabilities(LmMessageNode *x, enum imstatus status) |
1865 { | 1865 { |
1866 LmMessageNode *y; | 1866 LmMessageNode *y; |
1867 const char *ver = entity_version(status); | 1867 const char *ver = entity_version(status); |
1868 | 1868 |
1869 y = lm_message_node_add_child(x, "c", NULL); | 1869 y = lm_message_node_add_child(x, "c", NULL); |
1920 // (But we want to update internal status even when disconnected, | 1920 // (But we want to update internal status even when disconnected, |
1921 // in order to avoid some problems during network failures) | 1921 // in order to avoid some problems during network failures) |
1922 if (isonline) { | 1922 if (isonline) { |
1923 const char *s_msg = (st != invisible ? msg : NULL); | 1923 const char *s_msg = (st != invisible ? msg : NULL); |
1924 m = lm_message_new_presence(st, recipient, s_msg); | 1924 m = lm_message_new_presence(st, recipient, s_msg); |
1925 insert_entity_capabilities(m->node, st); // Entity Capabilities (XEP-0115) | 1925 xmpp_insert_entity_capabilities(m->node, st); // Entity Caps (XEP-0115) |
1926 #ifdef HAVE_GPGME | 1926 #ifdef HAVE_GPGME |
1927 if (!do_not_sign && gpg_enabled()) { | 1927 if (!do_not_sign && gpg_enabled()) { |
1928 char *signature; | 1928 char *signature; |
1929 signature = gpg_sign(s_msg ? s_msg : ""); | 1929 signature = gpg_sign(s_msg ? s_msg : ""); |
1930 if (signature) { | 1930 if (signature) { |