From 830db11b4164410d792255eb9cf2f96779e86520 Mon Sep 17 00:00:00 2001 From: Lance Stout Date: Mon, 5 Mar 2012 11:08:57 -0800 Subject: [PATCH] Ensure that roster nodes aren't empty strings. This would happen when receiving presence without a 'to' field, which happens when receiving presence from other resources for the same account. --- sleekxmpp/basexmpp.py | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/sleekxmpp/basexmpp.py b/sleekxmpp/basexmpp.py index f729132d..14b99823 100644 --- a/sleekxmpp/basexmpp.py +++ b/sleekxmpp/basexmpp.py @@ -674,11 +674,15 @@ class BaseXMPP(XMLStream): def _handle_available(self, presence): pto = presence['to'].bare + if not pto: + pto = self.boundjid.bare pfrom = presence['from'].bare self.roster[pto][pfrom].handle_available(presence) def _handle_unavailable(self, presence): pto = presence['to'].bare + if not pto: + pto = self.boundjid.bare pfrom = presence['from'].bare self.roster[pto][pfrom].handle_unavailable(presence)