summaryrefslogtreecommitdiffstats
path: root/ipaserver/secrets
diff options
context:
space:
mode:
authorMartin Basti <mbasti@redhat.com>2017-01-24 17:49:06 +0100
committerJan Cholasta <jcholast@redhat.com>2017-02-08 08:32:44 +0100
commitcaa560ca79e4038b161b27d11e3f144606dbbcdb (patch)
treed3b4b053061170ffa182be3f1e012e56899eac78 /ipaserver/secrets
parent8e139d4b559a6f19d859e078e1940a69d8977fdb (diff)
downloadfreeipa-caa560ca79e4038b161b27d11e3f144606dbbcdb.tar.gz
freeipa-caa560ca79e4038b161b27d11e3f144606dbbcdb.tar.xz
freeipa-caa560ca79e4038b161b27d11e3f144606dbbcdb.zip
py3: base64 encoding/decoding returns always bytes don't mix it
Using unicode(bytes) call causes undesired side effect that is inserting `b` character to result. This obviously causes issues with binary base64 data https://fedorahosted.org/freeipa/ticket/4985 Reviewed-By: Jan Cholasta <jcholast@redhat.com>
Diffstat (limited to 'ipaserver/secrets')
-rw-r--r--ipaserver/secrets/client.py6
1 files changed, 4 insertions, 2 deletions
diff --git a/ipaserver/secrets/client.py b/ipaserver/secrets/client.py
index a04b9a643..a945e01c9 100644
--- a/ipaserver/secrets/client.py
+++ b/ipaserver/secrets/client.py
@@ -70,7 +70,8 @@ class CustodiaClient(object):
name = gssapi.Name(self.client_service,
gssapi.NameType.hostbased_service)
store = {'client_keytab': self.keytab,
- 'ccache': 'MEMORY:Custodia_%s' % b64encode(os.urandom(8))}
+ 'ccache': 'MEMORY:Custodia_%s' % b64encode(
+ os.urandom(8)).decode('ascii')}
return gssapi.Credentials(name=name, store=store, usage='initiate')
def _auth_header(self):
@@ -78,7 +79,8 @@ class CustodiaClient(object):
self.creds = self.init_creds()
ctx = gssapi.SecurityContext(name=self.service_name, creds=self.creds)
authtok = ctx.step()
- return {'Authorization': 'Negotiate %s' % b64encode(authtok)}
+ return {'Authorization': 'Negotiate %s' % b64encode(
+ authtok).decode('ascii')}
def fetch_key(self, keyname, store=True):