[asterisk-commits] file: trunk r378918 - in /trunk: ./ res/res_xmpp.c

SVN commits to the Asterisk project asterisk-commits at lists.digium.com
Fri Jan 11 17:05:41 CST 2013


Author: file
Date: Fri Jan 11 17:05:38 2013
New Revision: 378918

URL: http://svnview.digium.com/svn/asterisk?view=rev&rev=378918
Log:
Retain XMPP filters across reconnections so external modules continue to function as expected.

Previously if an XMPP client reconnected any filters added by an external module were lost.
This issue exhibited itself with chan_motif not receiving and reacting to Jingle signaling.

(closes issue ASTERISK-20916)
Reported by: kuj
........

Merged revisions 378917 from http://svn.asterisk.org/svn/asterisk/branches/11

Modified:
    trunk/   (props changed)
    trunk/res/res_xmpp.c

Propchange: trunk/
------------------------------------------------------------------------------
Binary property 'branch-11-merged' - no diff available.

Modified: trunk/res/res_xmpp.c
URL: http://svnview.digium.com/svn/asterisk/trunk/res/res_xmpp.c?view=diff&rev=378918&r1=378917&r2=378918
==============================================================================
--- trunk/res/res_xmpp.c (original)
+++ trunk/res/res_xmpp.c Fri Jan 11 17:05:38 2013
@@ -440,6 +440,10 @@
 
 	ast_xmpp_client_disconnect(client);
 
+	if (client->filter) {
+		iks_filter_delete(client->filter);
+	}
+
 	if (client->stack) {
 		iks_stack_delete(client->stack);
 	}
@@ -3408,12 +3412,6 @@
 		iks_disconnect(client->parser);
 	}
 
-	/* Disconnecting the parser and going back to a disconnected state means any hooks should no longer be present */
-	if (client->filter) {
-		iks_filter_delete(client->filter);
-		client->filter = NULL;
-	}
-
 	client->state = XMPP_STATE_DISCONNECTED;
 
 	return 0;




More information about the asterisk-commits mailing list