tag 569767 +patch thanks
The attached patch is taken roughly from upstream's fix, but fits the current unstable package. It would do in the interim until a new upstream release is made (seeing it applied before then would be great, since I think this will get many people). I've tested it without any side-effects so far. HTH, -- Jonathan Wiltshire 1024D: 0xDB800B52 / 4216 F01F DCA9 21AC F3D3 A903 CA6B EA3E DB80 0B52 4096R: 0xD3524C51 / 0A55 B7C5 1223 3942 86EC 74C3 5394 479D D352 4C51
only in patch2: unchanged: --- gajim-0.13.2.orig/src/common/connection_handlers.py +++ gajim-0.13.2/src/common/connection_handlers.py @@ -1182,9 +1182,14 @@ else: if iq_obj.getErrorCode() not in ('403', '406', '404'): self.private_storage_supported = False + # We can now continue connection by requesting the roster - version = gajim.config.get_per('accounts', self.name, - 'roster_version') + version = None + if con.Stream.features.getTag('ver', + namespace=common.xmpp.NS_ROSTER_VER): + version = gajim.config.get_per('accounts', self.name, + 'roster_version') + iq_id = self.connection.initRoster(version=version) self.awaiting_answers[iq_id] = (ROSTER_ARRIVED, ) elif self.awaiting_answers[id_][0] == ROSTER_ARRIVED: only in patch2: unchanged: --- gajim-0.13.2.orig/src/common/xmpp/protocol.py +++ gajim-0.13.2/src/common/xmpp/protocol.py @@ -86,6 +86,7 @@ NS_REGISTER ='jabber:iq:register' NS_ROSTER ='jabber:iq:roster' NS_ROSTERX ='http://jabber.org/protocol/rosterx' # XEP-0144 +NS_ROSTER_VER ='urn:xmpp:features:rosterver' # XEP-0273 NS_RPC ='jabber:iq:rpc' # XEP-0009 NS_SASL ='urn:ietf:params:xml:ns:xmpp-sasl' NS_SEARCH ='jabber:iq:search' only in patch2: unchanged: --- gajim-0.13.2.orig/src/common/xmpp/roster_nb.py +++ gajim-0.13.2/src/common/xmpp/roster_nb.py @@ -36,7 +36,7 @@ You can also use mapping interface for access to the internal representation of contacts in roster. ''' - def __init__(self, version=''): + def __init__(self, version=None): ''' Init internal variables. ''' PlugIn.__init__(self) self.version = version @@ -52,7 +52,8 @@ elif not force: return iq = Iq('get',NS_ROSTER) - iq.setTagAttr('query', 'ver', self.version) + if self.version is not None: + iq.setTagAttr('query', 'ver', self.version) id_ = self._owner.getAnID() iq.setID(id_) self._owner.send(iq)
signature.asc
Description: Digital signature