plugin XEP-0115: trap "service-unavailable" error when retrieving disco infos

This commit is contained in:
souliane 2014-10-07 10:19:01 +02:00
commit be4fda30dd

View file

@ -150,7 +150,11 @@ class XEP_0115_handler(XMPPHandler):
self.host.memory.updateEntityData(from_jid, C.ENTITY_CAP_HASH, c_ver, self.profile)
return
yield self.host.getDiscoInfos(from_jid, self.profile)
try:
yield self.host.getDiscoInfos(from_jid, self.profile)
except Exception, e:
log.error(_("Couldn't retrieve disco info for {jid}: {error}").format(jid=from_jid.full(), error=e.condition))
return
if c_hash != 'sha-1':
#unknown hash method
log.warning(_('Unknown hash method for entity capabilities: [%(hash_method)s] (entity: %(jid)s, node: %(node)s)') % {'hash_method':c_hash, 'jid': from_jid, 'node': c_node})