--- gajim-0.9.1.012506/src/common/xmpp/auth.py 2006-01-26 04:57:43.000000000 +0100 +++ /usr/share/gajim/src/common/xmpp/auth.py 2006-05-01 16:03:41.000000000 +0200 @@ -21,7 +21,7 @@ from protocol import * from client import PlugIn -import sha,base64,random,dispatcher +import sha,base64,random,dispatcher,re import md5 def HH(some): return md5.new(some).hexdigest() @@ -173,11 +173,11 @@ chal={} data=base64.decodestring(incoming_data) self.DEBUG('Got challenge:'+data,'ok') - for pair in data.split(','): + for pair in re.findall("[^,=]+=[^\"][^,]*|[^,=]+=\"[^\"]*?\"", data): key,value=pair.split('=', 1) if value[:1]=='"' and value[-1:]=='"': value=value[1:-1] chal[key]=value - if chal.has_key('qop') and chal['qop']=='auth': + if chal.has_key('qop') and 'auth' in chal['qop'].split(','): resp={} resp['username']=self.username resp['realm']=self._owner.Server