diff options
author | Dana Powers <dana.powers@gmail.com> | 2017-10-16 12:14:44 -0700 |
---|---|---|
committer | Dana Powers <dana.powers@gmail.com> | 2017-10-16 12:14:44 -0700 |
commit | 5fbc61f4ccf5500df2c44ed1a92b3db50632eed5 (patch) | |
tree | 948425a7e84acbd29f7e819faca2215962ae9677 /kafka | |
parent | 0d2164431f8245359c417473fd84e7af034f1306 (diff) | |
download | kafka-python-more_gssapi_fixes.tar.gz |
Cleanup gssapi code; fix bug report re AttributeError.more_gssapi_fixes
Diffstat (limited to 'kafka')
-rw-r--r-- | kafka/conn.py | 19 |
1 files changed, 9 insertions, 10 deletions
diff --git a/kafka/conn.py b/kafka/conn.py index 7ca2652..6117262 100644 --- a/kafka/conn.py +++ b/kafka/conn.py @@ -532,20 +532,19 @@ class BrokerConnection(object): return future.success(True) def _try_authenticate_gssapi(self, future): - data = b'' - gssname = self.config['sasl_kerberos_service_name'] + '@' + self.hostname - ctx_Name = gssapi.Name(gssname, name_type=gssapi.NameType.hostbased_service) - ctx_CanonName = ctx_Name.canonicalize(gssapi.MechType.kerberos) - log.debug('%s: canonical Servicename: %s', self, ctx_CanonName) - ctx_Context = gssapi.SecurityContext(name=ctx_CanonName, usage='initiate') - log.debug("%s: initiator name: %s", self, ctx_Context.initiator_name) + gssapi_name = gssapi.Name( + self.config['sasl_kerberos_service_name'] + '@' + self.hostname, + name_type=gssapi.NameType.hostbased_service + ).canonicalize(gssapi.MechType.kerberos) + log.debug('%s: GSSAPI name: %s', self, gssapi_name) # Exchange tokens until authentication either succeeds or fails + client_ctx = gssapi.SecurityContext(name=gssapi_name, usage='initiate') received_token = None try: - while not ctx_Context.complete: + while not client_ctx.complete: # calculate an output token from kafka token (or None if first iteration) - output_token = ctx_Context.step(received_token) + output_token = client_ctx.step(received_token) # pass output token to kafka try: @@ -570,7 +569,7 @@ class BrokerConnection(object): except Exception as e: return future.failure(e) - log.info('%s: Authenticated as %s via GSSAPI', self, gssname) + log.info('%s: Authenticated as %s via GSSAPI', self, gssapi_name) return future.success(True) def blacked_out(self): |