From a2ca911d80fd7ee8ee5a8b98d7f3b8011b2acee1 Mon Sep 17 00:00:00 2001
From: Yann Leboulanger <asterix@lagaule.org>
Date: Mon, 31 Aug 2009 23:04:54 +0200
Subject: [PATCH] when a JID is invalid in member / admin / ... list in MUC
 configuration, just ignore this JID and not all others. Fixes #5241

---
 src/common/connection_handlers.py | 7 ++++---
 1 file changed, 4 insertions(+), 3 deletions(-)

diff --git a/src/common/connection_handlers.py b/src/common/connection_handlers.py
index fe2bf98ab0..f4304d9769 100644
--- a/src/common/connection_handlers.py
+++ b/src/common/connection_handlers.py
@@ -2482,7 +2482,8 @@ class ConnectionHandlers(ConnectionVcard, ConnectionBytestream, ConnectionDisco,
 
 	def _MucAdminCB(self, con, iq_obj):
 		log.debug('MucAdminCB')
-		items = iq_obj.getTag('query', namespace = common.xmpp.NS_MUC_ADMIN).getTags('item')
+		items = iq_obj.getTag('query', namespace=common.xmpp.NS_MUC_ADMIN).\
+			getTags('item')
 		users_dict = {}
 		for item in items:
 			if item.has_attr('jid') and item.has_attr('affiliation'):
@@ -2490,7 +2491,7 @@ class ConnectionHandlers(ConnectionVcard, ConnectionBytestream, ConnectionDisco,
 					jid = helpers.parse_jid(item.getAttr('jid'))
 				except common.helpers.InvalidFormat:
 					log.warn('Invalid JID: %s, ignoring it' % item.getAttr('jid'))
-					return
+					continue
 				affiliation = item.getAttr('affiliation')
 				users_dict[jid] = {'affiliation': affiliation}
 				if item.has_attr('nick'):
@@ -2502,7 +2503,7 @@ class ConnectionHandlers(ConnectionVcard, ConnectionBytestream, ConnectionDisco,
 					users_dict[jid]['reason'] = reason
 
 		self.dispatch('GC_AFFILIATION', (helpers.get_full_jid_from_iq(iq_obj),
-															users_dict))
+			users_dict))
 
 	def _MucErrorCB(self, con, iq_obj):
 		log.debug('MucErrorCB')
-- 
GitLab