[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Bug#651808: pu: package jabberbot/0.9-1+squeeze1



Package: release.debian.org
Severity: normal
User: release.debian.org@packages.debian.org
Usertags: pu

Hi,

I'd like to get #651621 fixed in squeeze.  jabberbot has a
race-condition on connect where it sets up its callbacks before setting
up the data they need.  The bug has been fixed in 0.11 upstream, so in
sid in February.

diff --git a/debian/changelog b/debian/changelog
index 45455a5..14ef2aa 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -1,3 +1,14 @@
+jabberbot (0.9-1+squeeze1) UNRELEASED; urgency=low
+
+  * Team upload.
+  * Cherry-pick a change from upstream (included in 0.11):
+    "Bind callbacks after the roster has been initialised.  It is possible on
+    busy servers that the callback can receive roster events before the roster
+    is initalised, this moves the binding to later in the process."
+    Closes: #651621
+
+ -- Julien Cristau <jcristau@debian.org>  Mon, 12 Dec 2011 10:39:47 +0100
+
 jabberbot (0.9-1) unstable; urgency=low
 
   * New upstream release
diff --git a/jabberbot.py b/jabberbot.py
index 7d9b56e..cc5b3db 100644
--- a/jabberbot.py
+++ b/jabberbot.py
@@ -130,8 +130,6 @@ class JabberBot(object):
             if authres<>'sasl':
                 self.log("Warning: unable to perform SASL auth os %s. Old authentication method used!" % self.jid.getDomain())
 
-            conn.RegisterHandler('message', self.callback_message)
-            conn.RegisterHandler('presence', self.callback_presence)
             conn.sendInitPresence()
             self.conn = conn
             self.roster = self.conn.Roster.getRoster()
@@ -139,6 +137,8 @@ class JabberBot(object):
             for contact in self.roster.getItems():
                 self.log('  ' + str(contact))
             self.log('*** roster ***')
+            self.conn.RegisterHandler('message', self.callback_message)
+            self.conn.RegisterHandler('presence', self.callback_presence)
 
         return self.conn
 

Cheers,
Julien
-- 
Julien Cristau          <julien.cristau@logilab.fr>
Logilab		        http://www.logilab.fr/
Informatique scientifique & gestion de connaissances



Reply to: