diff options
| author | Martin Basti <mbasti@redhat.com> | 2017-01-24 17:49:06 +0100 |
|---|---|---|
| committer | Jan Cholasta <jcholast@redhat.com> | 2017-02-08 08:32:44 +0100 |
| commit | caa560ca79e4038b161b27d11e3f144606dbbcdb (patch) | |
| tree | d3b4b053061170ffa182be3f1e012e56899eac78 /ipaserver/secrets | |
| parent | 8e139d4b559a6f19d859e078e1940a69d8977fdb (diff) | |
| download | freeipa-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.py | 6 |
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): |
