]> git.pld-linux.org Git - packages/PyMSNt.git/blobdiff - PyMSNt-unexpected-xfr.patch
- bugfixes from gentoo
[packages/PyMSNt.git] / PyMSNt-unexpected-xfr.patch
diff --git a/PyMSNt-unexpected-xfr.patch b/PyMSNt-unexpected-xfr.patch
new file mode 100644 (file)
index 0000000..7d93d97
--- /dev/null
@@ -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
This page took 0.02615 seconds and 4 git commands to generate.