diff options
author | James Booth <boothj5@gmail.com> | 2013-06-16 18:58:18 +0100 |
---|---|---|
committer | James Booth <boothj5@gmail.com> | 2013-06-16 18:58:18 +0100 |
commit | 96496ca21933ebcc21e0f28b6947dba084fa6c56 (patch) | |
tree | 9d69c2051c3a62612efd45ce1f6193a66ef70bed | |
parent | 1f207beb99648daab295a802bacdc1de66ac2dfd (diff) | |
parent | c84cb17bd4f85abdd30cfa5229b3c22743f5ba26 (diff) | |
download | profani-tty-96496ca21933ebcc21e0f28b6947dba084fa6c56.tar.gz |
Merge remote-tracking branch 'dmitry/captcha-2' into captcha
-rw-r--r-- | src/xmpp/message.c | 12 | ||||
-rw-r--r-- | src/xmpp/stanza.h | 1 |
2 files changed, 13 insertions, 0 deletions
diff --git a/src/xmpp/message.c b/src/xmpp/message.c index 29a7cd98..1111d6f5 100644 --- a/src/xmpp/message.c +++ b/src/xmpp/message.c @@ -185,6 +185,7 @@ _conference_message_handler(xmpp_conn_t * const conn, xmpp_ctx_t *ctx = connection_get_ctx(); xmpp_stanza_t *x_muc = xmpp_stanza_get_child_by_ns(stanza, STANZA_NS_MUC_USER); xmpp_stanza_t *x_groupchat = xmpp_stanza_get_child_by_ns(stanza, STANZA_NS_CONFERENCE); + xmpp_stanza_t *captcha = xmpp_stanza_get_child_by_ns(stanza, STANZA_NS_CAPTCHA); char *from = xmpp_stanza_get_attribute(stanza, STANZA_ATTR_FROM); char *room = NULL; char *invitor = NULL; @@ -239,6 +240,17 @@ _conference_message_handler(xmpp_conn_t * const conn, prof_handle_room_invite(INVITE_DIRECT, invitor, room, reason); jid_destroy(jidp); + + // XEP-0158 + } else if (captcha != NULL) { + xmpp_stanza_t *body = xmpp_stanza_get_child_by_name(stanza, STANZA_NAME_BODY); + if (body != NULL) { + char *message = xmpp_stanza_get_text(body); + if (message != NULL) { + prof_handle_room_broadcast(from, message); + xmpp_free(ctx, message); + } + } } return 1; diff --git a/src/xmpp/stanza.h b/src/xmpp/stanza.h index b35486e8..d1f55890 100644 --- a/src/xmpp/stanza.h +++ b/src/xmpp/stanza.h @@ -99,6 +99,7 @@ #define STANZA_NS_DATA "jabber:x:data" #define STANZA_NS_VERSION "jabber:iq:version" #define STANZA_NS_CONFERENCE "jabber:x:conference" +#define STANZA_NS_CAPTCHA "urn:xmpp:captcha" #define STANZA_DATAFORM_SOFTWARE "urn:xmpp:dataforms:softwareinfo" |