summaryrefslogtreecommitdiff
path: root/kafka/protocol/commit.py
diff options
context:
space:
mode:
authorAndre Araujo <araujo@cloudera.com>2017-10-25 14:04:59 -0700
committerDana Powers <dana.powers@gmail.com>2017-12-26 09:49:05 -0800
commit4cfeaca5c867e15213420caad400f5f1863f64e3 (patch)
tree5ae006e83afa93046fd72106f072b16f84a337ab /kafka/protocol/commit.py
parentc49ae90b105fad958dbc60499aeedd27ff52416c (diff)
downloadkafka-python-4cfeaca5c867e15213420caad400f5f1863f64e3.tar.gz
Add security layer negotiation to the GSSAPI authentication. (#1283)
When trying to establish a connection with Kafka using SASL with the GSSAPI authentication mechanism the connection was hanging an timing out after 60 secons. On the Kafka broker side I noticed that the SaslServerAuthenticator was going from the AUTHENTICATE to the FAILED state. The GSSAPI auth implementation was missing the second handshake defined in RFC 2222, which happens after the security context is established. This handshake is used by the client and server to negotiate the security layer (QoP) to be used for the connection. Kafka currently only support the "auth" QoP, so the implementation in this commit doesn't make it configurable, but this can be extended later. With this change I was able to successfully connect to a Kerberos-enabled Kafka broker using the SASL_PLAINTEXT protocol and the GSSAPI mechanism.
Diffstat (limited to 'kafka/protocol/commit.py')
0 files changed, 0 insertions, 0 deletions