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() return self.hash(text).digest()
def saslname(self, value): def saslname(self, value):
escaped = b'' value = value.decode("utf-8")
for char in bytes(value): escaped = []
if char == b',': for char in value:
if char == ',':
escaped += b'=2C' escaped += b'=2C'
elif char == b'=': elif char == '=':
escaped += b'=3D' escaped += b'=3D'
else: else:
if isinstance(char, int): escaped += char
char = chr(char) return "".join(escaped).encode("utf-8")
escaped += bytes(char)
return escaped
def parse(self, challenge): def parse(self, challenge):
items = {} items = {}