summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJelmer Vernooij <jelmer@jelmer.uk>2018-10-30 22:29:20 +0000
committerJelmer Vernooij <jelmer@jelmer.uk>2018-10-30 22:29:20 +0000
commit2d228bdb56373ef006f59eed107a2f9d6757e917 (patch)
treedd49a2dcc62b6f8c7071de071d9eb2bddaa32600
parent570e653ac2beb5fdf56151334f65461b91085944 (diff)
downloadslixmpp-2d228bdb56373ef006f59eed107a2f9d6757e917.tar.gz
slixmpp-2d228bdb56373ef006f59eed107a2f9d6757e917.tar.bz2
slixmpp-2d228bdb56373ef006f59eed107a2f9d6757e917.tar.xz
slixmpp-2d228bdb56373ef006f59eed107a2f9d6757e917.zip
Decode bytes in GSSAPI handling, as expected by the kerberos module API.
-rw-r--r--slixmpp/util/sasl/mechanisms.py6
1 files changed, 3 insertions, 3 deletions
diff --git a/slixmpp/util/sasl/mechanisms.py b/slixmpp/util/sasl/mechanisms.py
index 36b2795c..874787a9 100644
--- a/slixmpp/util/sasl/mechanisms.py
+++ b/slixmpp/util/sasl/mechanisms.py
@@ -516,13 +516,13 @@ else:
def setup(self, name):
authzid = self.credentials['authzid']
if not authzid:
- authzid = 'xmpp@%s' % self.credentials['service-name']
+ authzid = 'xmpp@' + self.credentials['service-name'].decode()
_, self.gss = kerberos.authGSSClientInit(authzid)
self.step = 0
def process(self, challenge=b''):
- b64_challenge = b64encode(challenge)
+ b64_challenge = b64encode(challenge).decode('ascii')
try:
if self.step == 0:
result = kerberos.authGSSClientStep(self.gss, b64_challenge)
@@ -536,7 +536,7 @@ else:
kerberos.authGSSClientUnwrap(self.gss, b64_challenge)
resp = kerberos.authGSSClientResponse(self.gss)
- kerberos.authGSSClientWrap(self.gss, resp, username)
+ kerberos.authGSSClientWrap(self.gss, resp, username.decode())
resp = kerberos.authGSSClientResponse(self.gss)
except kerberos.GSSError as e: