diff options
author | Lance Stout <lancestout@gmail.com> | 2014-08-24 16:19:15 -0700 |
---|---|---|
committer | Lance Stout <lancestout@gmail.com> | 2014-08-24 16:19:15 -0700 |
commit | c9f8ddff6556401ced52a88ae25263384bdec639 (patch) | |
tree | 3cc7626f8ba3ea80dff5f3419ece379753ac1529 | |
parent | aabec8b993748866b9cf3f09ebb7ae7ce2ddc426 (diff) | |
parent | f5ae98aaf18e441ce2d7b924a992d6b827823b23 (diff) | |
download | slixmpp-c9f8ddff6556401ced52a88ae25263384bdec639.tar.gz slixmpp-c9f8ddff6556401ced52a88ae25263384bdec639.tar.bz2 slixmpp-c9f8ddff6556401ced52a88ae25263384bdec639.tar.xz slixmpp-c9f8ddff6556401ced52a88ae25263384bdec639.zip |
Merge pull request #315 from louiz/develop
Fix saslprep on the username
-rw-r--r-- | sleekxmpp/util/sasl/mechanisms.py | 19 |
1 files changed, 9 insertions, 10 deletions
diff --git a/sleekxmpp/util/sasl/mechanisms.py b/sleekxmpp/util/sasl/mechanisms.py index d341ed3e..7a7ebf7b 100644 --- a/sleekxmpp/util/sasl/mechanisms.py +++ b/sleekxmpp/util/sasl/mechanisms.py @@ -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',': - escaped += b'=2C' - elif char == b'=': - escaped += b'=3D' + value = value.decode("utf-8") + escaped = [] + for char in value: + if char == ',': + escaped += '=2C' + elif char == '=': + escaped += '=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 = {} |