diff options
author | the-sea <huhaiyang2@huawei.com> | 2018-08-31 21:03:26 +0800 |
---|---|---|
committer | Dana Powers <dana.powers@gmail.com> | 2018-08-31 06:03:26 -0700 |
commit | 36b53f487778e919dfe6a5940dc25c552444cc7c (patch) | |
tree | eeb843fbdaf059c964a5f16b5b8ba82735ea43d1 /kafka/conn.py | |
parent | a7d3063d5fa1c3cb2a76c16231bb3028a6f8cde9 (diff) | |
download | kafka-python-36b53f487778e919dfe6a5940dc25c552444cc7c.tar.gz |
add kerberos domain name config for gssapi sasl mechanism handshake (#1542)
Diffstat (limited to 'kafka/conn.py')
-rw-r--r-- | kafka/conn.py | 8 |
1 files changed, 6 insertions, 2 deletions
diff --git a/kafka/conn.py b/kafka/conn.py index 122297b..ccaa2ed 100644 --- a/kafka/conn.py +++ b/kafka/conn.py @@ -176,6 +176,8 @@ class BrokerConnection(object): Default: None sasl_kerberos_service_name (str): Service name to include in GSSAPI sasl mechanism handshake. Default: 'kafka' + sasl_kerberos_domain_name (str): kerberos domain name to use in GSSAPI + sasl mechanism handshake. Default: one of bootstrap servers """ DEFAULT_CONFIG = { @@ -206,7 +208,8 @@ class BrokerConnection(object): 'sasl_mechanism': 'PLAIN', 'sasl_plain_username': None, 'sasl_plain_password': None, - 'sasl_kerberos_service_name': 'kafka' + 'sasl_kerberos_service_name': 'kafka', + 'sasl_kerberos_domain_name': None } SECURITY_PROTOCOLS = ('PLAINTEXT', 'SSL', 'SASL_PLAINTEXT', 'SASL_SSL') SASL_MECHANISMS = ('PLAIN', 'GSSAPI') @@ -567,7 +570,8 @@ class BrokerConnection(object): return future.success(True) def _try_authenticate_gssapi(self, future): - auth_id = self.config['sasl_kerberos_service_name'] + '@' + self.host + kerberos_damin_name = self.config['sasl_kerberos_domain_name'] or self.host + auth_id = self.config['sasl_kerberos_service_name'] + '@' + kerberos_damin_name gssapi_name = gssapi.Name( auth_id, name_type=gssapi.NameType.hostbased_service |