Fix saslprep for non-ascii usernames

This commit is contained in:
Florent Le Coz 2014-08-25 00:57:28 +02:00
parent cdb9a6ff7e
commit b92dac72f3

View file

@ -223,17 +223,16 @@ class SCRAM(Mech):
return self.hash(text).digest()
def saslname(self, value):
escaped = b''
for char in bytes(value):
if char == b',':
value = value.decode("utf-8")
escaped = []
for char in value:
if char == ',':
escaped += b'=2C'
elif char == b'=':
elif char == '=':
escaped += b'=3D'
else:
if isinstance(char, int):
char = chr(char)
escaped += bytes(char)
return escaped
escaped += char
return "".join(escaped).encode("utf-8")
def parse(self, challenge):
items = {}