From d62a30b0f8353640928d11cdfd76ea3c7a9b5cc3 Mon Sep 17 00:00:00 2001 From: Brian Beggs Date: Thu, 1 Jul 2010 09:46:12 -0400 Subject: digest-md5 authentication now works with unicode-literals import. Re-added the __future__ imports that were removed. --- sleekxmpp/__init__.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/sleekxmpp/__init__.py b/sleekxmpp/__init__.py index b62e35db..3379e45d 100644 --- a/sleekxmpp/__init__.py +++ b/sleekxmpp/__init__.py @@ -7,6 +7,7 @@ See the file license.txt for copying permission. """ +from __future__ import absolute_import, unicode_literals from . basexmpp import basexmpp from xml.etree import cElementTree as ET from . xmlstream.xmlstream import XMLStream @@ -255,8 +256,7 @@ class ClientXMPP(basexmpp, XMLStream): for i in range(7): cnonce+=hex(int(random.random()*65536*4096))[2:] cnonce = base64.encodestring(cnonce)[0:-1] - a1 = md5("%s:%s:%s" % (self.username, self.domain, self.password)) - a1 = "%s:%s:%s" %(a1, challenge["nonce"], cnonce ) + a1 = b"%s:%s:%s" %(md5("%s:%s:%s" % (self.username, self.domain, self.password)), challenge["nonce"].encode("UTF-8"), cnonce.encode("UTF-8") ) a2 = "AUTHENTICATE:xmpp/%s" %self.domain responseHash = md5digest("%s:%s:00000001:%s:auth:%s" %(md5digest(a1), challenge["nonce"], cnonce, md5digest(a2) ) ) response = '''charset=utf-8,username="%s",realm="%s",nonce="%s",nc=00000001,cnonce="%s",digest-uri="%s",response=%s,qop=%s,''' %(self.username, self.domain, challenge["nonce"], cnonce, "xmpp/%s" % self.domain, responseHash, challenge["qop"]) -- cgit v1.2.3