From 0cb39b32a4ee3a2f86f6db6d2354836bcf68a33e Mon Sep 17 00:00:00 2001 From: mathieui Date: Wed, 1 Aug 2012 20:10:00 +0200 Subject: [PATCH] Do not generate invalid jids (e.g. localpart@domainpart/) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit This is in prevision of a sleekxmpp update with JID validation. Also, comment the “server” option in the config file a bit better. --- data/default_config.cfg | 3 ++- src/connection.py | 4 +++- src/contact.py | 6 ++++-- 3 files changed, 9 insertions(+), 4 deletions(-) diff --git a/data/default_config.cfg b/data/default_config.cfg index 8871de15..ff73ecc4 100644 --- a/data/default_config.cfg +++ b/data/default_config.cfg @@ -4,7 +4,8 @@ [Poezio] -# the server. Make sure the server you're using accepts anonymous authentification +# The server used for anonymous connection. +# Make sure the server you're using accepts anonymous authentication server = anon.louiz.org # SSL Certificate fingerprint diff --git a/src/connection.py b/src/connection.py index 80c41ee8..f4db0816 100644 --- a/src/connection.py +++ b/src/connection.py @@ -34,7 +34,9 @@ class Connection(sleekxmpp.ClientXMPP): self.anon = False # Field used to know if we are anonymous or not. # many features will be handled diferently # depending on this setting - jid = '%s/%s' % (config.get('jid', ''), resource) + jid = '%s' % config.get('jid', '') + if resource: + jid = '%s/%s' (jid, resource) password = config.get('password', '') or getpass.getpass() else: # anonymous auth self.anon = True diff --git a/src/contact.py b/src/contact.py index 3a8e38ab..b8963a71 100644 --- a/src/contact.py +++ b/src/contact.py @@ -100,8 +100,10 @@ class Contact(object): @property def resources(self): """List of the available resources as Resource objects""" - return [Resource('%s/%s' % (self.bare_jid, key), self.__item.resources[key]) - for key in self.__item.resources] + return [Resource( + '%s%s' % (self.bare_jid, ('/' + key) if key else ''), + self.__item.resources[key] + ) for key in self.__item.resources.keys()] @property def subscription(self):