From: <abe...@us...> - 2013-08-31 17:41:22
|
Revision: 6183 http://sourceforge.net/p/astlinux/code/6183 Author: abelbeck Date: 2013-08-31 17:41:19 +0000 (Sat, 31 Aug 2013) Log Message: ----------- asterisk, fix jabber/xmpp MWI pubsub issue where the mailbox and context got swapped on the remote end. Thanks Michael. Added Paths: ----------- branches/1.0/package/asterisk/asterisk-1.8-res_jabber-aji_handle_pubsub_event.patch branches/1.0/package/asterisk/asterisk-11-res_xmpp-xmpp_pubsub_handle_event.patch Added: branches/1.0/package/asterisk/asterisk-1.8-res_jabber-aji_handle_pubsub_event.patch =================================================================== --- branches/1.0/package/asterisk/asterisk-1.8-res_jabber-aji_handle_pubsub_event.patch (rev 0) +++ branches/1.0/package/asterisk/asterisk-1.8-res_jabber-aji_handle_pubsub_event.patch 2013-08-31 17:41:19 UTC (rev 6183) @@ -0,0 +1,27 @@ +--- asterisk-1.8.23.1/res/res_jabber.c.orig 2013-08-31 11:54:46.000000000 -0500 ++++ asterisk-1.8.23.1/res/res_jabber.c 2013-08-31 11:57:41.000000000 -0500 +@@ -3260,7 +3260,7 @@ + */ + static int aji_handle_pubsub_event(void *data, ikspak *pak) + { +- char *item_id, *device_state, *context, *cachable_str; ++ char *item_id, *device_state, *mailbox, *cachable_str; + int oldmsgs, newmsgs; + iks *item, *item_content; + struct ast_eid pubsub_eid; +@@ -3293,12 +3293,12 @@ + return IKS_FILTER_EAT; + } + } else if (!strcasecmp(iks_name(item_content), "mailbox")) { +- context = strsep(&item_id, "@"); ++ mailbox = strsep(&item_id, "@"); + 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, mailbox, 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))) { Added: branches/1.0/package/asterisk/asterisk-11-res_xmpp-xmpp_pubsub_handle_event.patch =================================================================== --- branches/1.0/package/asterisk/asterisk-11-res_xmpp-xmpp_pubsub_handle_event.patch (rev 0) +++ branches/1.0/package/asterisk/asterisk-11-res_xmpp-xmpp_pubsub_handle_event.patch 2013-08-31 17:41:19 UTC (rev 6183) @@ -0,0 +1,27 @@ +--- asterisk-11.5.1/res/res_xmpp.c.orig 2013-08-31 12:04:32.000000000 -0500 ++++ asterisk-11.5.1/res/res_xmpp.c 2013-08-31 12:06:47.000000000 -0500 +@@ -1309,7 +1309,7 @@ + */ + static int xmpp_pubsub_handle_event(void *data, ikspak *pak) + { +- char *item_id, *device_state, *context, *cachable_str; ++ char *item_id, *device_state, *mailbox, *cachable_str; + int oldmsgs, newmsgs; + iks *item, *item_content; + struct ast_eid pubsub_eid; +@@ -1341,12 +1341,12 @@ + return IKS_FILTER_EAT; + } + } else if (!strcasecmp(iks_name(item_content), "mailbox")) { +- context = strsep(&item_id, "@"); ++ mailbox = strsep(&item_id, "@"); + 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, mailbox, 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))) { This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |