From e835843aab9fa17deb8fc74d9fdbdfafdc66d83c Mon Sep 17 00:00:00 2001 From: Brian Beggs Date: Fri, 2 Jul 2010 13:31:55 -0400 Subject: fixes to digest-md5 for ejabberd --- sleekxmpp/__init__.py | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) (limited to 'sleekxmpp/__init__.py') diff --git a/sleekxmpp/__init__.py b/sleekxmpp/__init__.py index 061f68c1..4b33a2ef 100644 --- a/sleekxmpp/__init__.py +++ b/sleekxmpp/__init__.py @@ -250,8 +250,13 @@ class ClientXMPP(basexmpp, XMLStream): challenge = dict(challenge) logging.debug("MD5 auth challenge: %s", challenge) + if challenge.get('rspauth'): #authenticated success... send response + self.sendPriorityRaw("""""") + return + + #TODO: use realm is supplied by server, use default qop unless supplied by server #Realm, nonce, qop should all be present - if not challenge['realm'] or not challenge['qop'] or not challenge['nonce']: + if not challenge.get('qop') or not challenge.get('nonce'): logging.error("Error during digest-md5 authentication. Challenge missing critical information. Challenge: %s" %base64.b64decode(xml.text)) self.disconnect() self.event("failed_auth") -- cgit v1.2.3