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: