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

