From 2d18d905a537587ee9685877ae2c108511e57d91 Mon Sep 17 00:00:00 2001 From: Florent Le Coz Date: Sun, 17 Oct 2010 02:26:06 +0800 Subject: Anonymous authentication Implemented ANONYMOUS authentication on the ClientXMPP class. To use it, you just need to provide a domain (e.g 'anon.example.com') with an optional resource (e.g 'anon.example.com/resource') as the JID, with no password. The JID class has been improved to accept domains as fulljid. You can test this with echo_client.py python echo_client.py -j anon.louiz.org/ # anonymous with a resource # defined by the server python echo_client.py -j anon.louiz.org/resource # anonymous with given # resource The "normal" authentication method still works exactly like before. --- sleekxmpp/xmlstream/jid.py | 8 ++++++++ 1 file changed, 8 insertions(+) (limited to 'sleekxmpp/xmlstream') diff --git a/sleekxmpp/xmlstream/jid.py b/sleekxmpp/xmlstream/jid.py index 789410b9..aa17c7bc 100644 --- a/sleekxmpp/xmlstream/jid.py +++ b/sleekxmpp/xmlstream/jid.py @@ -94,6 +94,14 @@ class JID(object): elif name in ('server', 'domain', 'host'): self.domain = value elif name in ('full', 'jid'): + if '@' not in value: + if '/' in value: + d, r = value.split('/', 1) + object.__setattr__(self, "_resource", r) + else: + d = value + object.__setattr__(self, "_domain", d) + else: self.reset(value) elif name == 'bare': if '@' in value: -- cgit v1.2.3