diff options
author | Dana Powers <dana.powers@gmail.com> | 2017-10-14 17:22:00 -0700 |
---|---|---|
committer | Dana Powers <dana.powers@gmail.com> | 2017-10-14 17:22:00 -0700 |
commit | 4ce4daa933c634484d41cae527b2e0d0992c1944 (patch) | |
tree | 8e6469537577f0435bc05412b7c575b51fa500c4 /kafka | |
parent | bbab7aadb62517464420abfd1eed771af68fd7be (diff) | |
download | kafka-python-auth_recv.tar.gz |
validate sasl_mechanism against SaslHandShakeResponse enabled_mechanismsauth_recv
Diffstat (limited to 'kafka')
-rw-r--r-- | kafka/conn.py | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/kafka/conn.py b/kafka/conn.py index 2f560d0..7ca2652 100644 --- a/kafka/conn.py +++ b/kafka/conn.py @@ -460,7 +460,12 @@ class BrokerConnection(object): self.close(error=error) return future.failure(error_type(self)) - if self.config['sasl_mechanism'] == 'PLAIN': + if self.config['sasl_mechanism'] not in response.enabled_mechanisms: + return future.failure( + Errors.UnsupportedSaslMechanismError( + 'Kafka broker does not support %s sasl mechanism. Enabled mechanisms are: %s' + % (self.config['sasl_mechanism'], response.enabled_mechanisms))) + elif self.config['sasl_mechanism'] == 'PLAIN': return self._try_authenticate_plain(future) elif self.config['sasl_mechanism'] == 'GSSAPI': return self._try_authenticate_gssapi(future) |