diff options
Diffstat (limited to 'net-im/pymsn-t/files/pymsn-t-0.11.3-unexpected-xfr.patch')
-rw-r--r-- | net-im/pymsn-t/files/pymsn-t-0.11.3-unexpected-xfr.patch | 44 |
1 files changed, 44 insertions, 0 deletions
diff --git a/net-im/pymsn-t/files/pymsn-t-0.11.3-unexpected-xfr.patch b/net-im/pymsn-t/files/pymsn-t-0.11.3-unexpected-xfr.patch new file mode 100644 index 000000000000..7d93d975852e --- /dev/null +++ b/net-im/pymsn-t/files/pymsn-t-0.11.3-unexpected-xfr.patch @@ -0,0 +1,44 @@ +--- pymsn-t/src/legacy/glue.py 2008-09-19 10:53:30.000000000 +0200 ++++ pymsn-t/src/legacy/glue.py 2008-09-19 10:52:38.000000000 +0200 +@@ -379,7 +379,13 @@ + self.session.removeMe() + + def connectionLost(self, reason): +- LogEvent(INFO, self.jabberID) ++ LogEvent(INFO, self.jabberID) ++ # If we got a second referral, don't really log out but let the next NS ++ # try to log us in ++ if reason.type == error.ConnectionDone and self.gotadditionalXFR != 0: ++ LogEvent(INFO, self.ident) ++ self.gotadditionalXFR = 0 ++ return + if reason.type != error.ConnectionDone: + text = lang.get(self.session.lang).msnDisconnected % reason + self.session.sendMessage(to=self.jabberID, fro=config.jid, body=text) +--- pymsn-t/src/legacy/msn/msn.py 2008-09-19 10:53:30.000000000 +0200 ++++ pymsn-t/src/legacy/msn/msn.py 2008-09-19 10:52:38.000000000 +0200 +@@ -1347,7 +1347,9 @@ + port = MSN_PORT + + if not self._fireCallback(id, host, int(port), params[4]): +- raise MSNProtocolError, "Got XFR (referral) that I didn't ask for .. should this happen?" # debug ++ #raise MSNProtocolError, "Got XFR (referral) that I didn't ask for .. should this happen?" # debug ++ self.factory.msncon.gotadditionalXFR = 1 ++ self.factory.msncon.connectors.append(reactor.connectTCP(host, int(port), self.factory, bindAddress=(self.factory.msncon.BINDADDRESS, 0))) + + def handle_RNG(self, params): + checkParamLen(len(params), 6, 'RNG') +--- pymsn-t/src/legacy/msn/msnw.py 2008-09-19 10:53:30.000000000 +0200 ++++ pymsn-t/src/legacy/msn/msnw.py 2008-09-19 10:52:38.000000000 +0200 +@@ -67,8 +67,9 @@ + LogEvent(INFO, self.ident) + + def _gotNotificationReferral(self, (host, port)): +- self.timeout.cancel() +- self.timeout = None ++ if self.timeout != None: ++ self.timeout.cancel() ++ self.timeout = None + # Create the NotificationClient + self.notificationFactory = msn.NotificationFactory() + self.notificationFactory.userHandle = self.username |