From: Kinsey Moore Date: Fri, 6 Sep 2013 19:28:16 +0000 (+0000) Subject: Fix Jabber/XMPP distributed MWI X-Git-Tag: 11.6.0-rc1~3^2~22 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=2d902e728fd2cd9aac723f3d416d2d1b9ad403e1;p=thirdparty%2Fasterisk.git Fix Jabber/XMPP distributed MWI The mailbox and context are swapped on the receiving end for all users of Jabber and XMPP distributed MWI in Asterisk 1.8 and all more recent versions. This swaps those values to be correct when publishing to the internal event system from Jabber/XMPP distributed MWI state. (closes issue ASTERISK-22435) Reported by: abelbeck Tested by: Michael Keuter Patches: asterisk-1.8-res_jabber-aji_handle_pubsub_event.patch uploaded by abelbeck asterisk-11-res_xmpp-xmpp_pubsub_handle_event.patch uploaded by abelbeck ........ Merged revisions 398523 from http://svn.asterisk.org/svn/asterisk/branches/1.8 git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/11@398558 65c4cc65-6c06-0410-ace0-fbb531ad65f3 --- diff --git a/res/res_jabber.c b/res/res_jabber.c index 0cdbc9b215..1c7a2349ef 100644 --- a/res/res_jabber.c +++ b/res/res_jabber.c @@ -3356,8 +3356,8 @@ static int aji_handle_pubsub_event(void *data, ikspak *pak) sscanf(iks_find_cdata(item_content, "OLDMSGS"), "%10d", &oldmsgs); sscanf(iks_find_cdata(item_content, "NEWMSGS"), "%10d", &newmsgs); if (!(event = ast_event_new(AST_EVENT_MWI, AST_EVENT_IE_MAILBOX, - AST_EVENT_IE_PLTYPE_STR, item_id, AST_EVENT_IE_CONTEXT, - AST_EVENT_IE_PLTYPE_STR, context, AST_EVENT_IE_OLDMSGS, + AST_EVENT_IE_PLTYPE_STR, context, AST_EVENT_IE_CONTEXT, + AST_EVENT_IE_PLTYPE_STR, item_id, AST_EVENT_IE_OLDMSGS, AST_EVENT_IE_PLTYPE_UINT, oldmsgs, AST_EVENT_IE_NEWMSGS, AST_EVENT_IE_PLTYPE_UINT, newmsgs, AST_EVENT_IE_EID, AST_EVENT_IE_PLTYPE_RAW, &pubsub_eid, sizeof(pubsub_eid), AST_EVENT_IE_END))) { diff --git a/res/res_xmpp.c b/res/res_xmpp.c index 8f0f8b5a14..30e2c4059a 100644 --- a/res/res_xmpp.c +++ b/res/res_xmpp.c @@ -1345,8 +1345,8 @@ static int xmpp_pubsub_handle_event(void *data, ikspak *pak) sscanf(iks_find_cdata(item_content, "OLDMSGS"), "%10d", &oldmsgs); sscanf(iks_find_cdata(item_content, "NEWMSGS"), "%10d", &newmsgs); if (!(event = ast_event_new(AST_EVENT_MWI, AST_EVENT_IE_MAILBOX, - AST_EVENT_IE_PLTYPE_STR, item_id, AST_EVENT_IE_CONTEXT, - AST_EVENT_IE_PLTYPE_STR, context, AST_EVENT_IE_OLDMSGS, + AST_EVENT_IE_PLTYPE_STR, context, AST_EVENT_IE_CONTEXT, + AST_EVENT_IE_PLTYPE_STR, item_id, AST_EVENT_IE_OLDMSGS, AST_EVENT_IE_PLTYPE_UINT, oldmsgs, AST_EVENT_IE_NEWMSGS, AST_EVENT_IE_PLTYPE_UINT, newmsgs, AST_EVENT_IE_EID, AST_EVENT_IE_PLTYPE_RAW, &pubsub_eid, sizeof(pubsub_eid), AST_EVENT_IE_END))) {