Rajini,

the KIP wiki is a bit unclear on the protocol changes.
Could you document the proposed Kafka protocol requests&responses in the
standard format (as on "A guide to the Kafka protocol").
This information should also be added to that page when the KIP is accepted.
I think it would also be good to clarify what SASL handshake means, if that
is the Kafka-leved SASL mechanism handshake or the opaque SASL data
handshake performed by the SASL libraries.

Thanks,
Magnus

2016-04-19 17:20 GMT-07:00 Jun Rao <j...@confluent.io>:

> Just to close the loop on this. Discussed with Magnus offline on how KIP-43
> and KIP-35 can play together. We agreed upon the following proposal.
>
> On a SASL port,
>
> client sends:
>
>     ApiVersionRequest (optional), SaslHandshakeRequest, SASL tokens (size
> delimited as being done now), regular api requests
>
> client receives:
>
>     ApiVersionResponse (optional), SaslHandshakeResponse, SASL tokens (size
> delimited as being done now), regular api responses
>
> The format of SaslHandshakeRequest is what's currently described in
> KIP-43. There
> will be some minor tweaks on ApiVersionResponse, which Magnus will follow
> up in the KIP-35 thread itself.
>
> Thanks,
>
> Jun
>
>
> On Wed, Apr 13, 2016 at 5:59 AM, Rajini Sivaram <
> rajinisiva...@googlemail.com> wrote:
>
> > I have updated the PR (https://github.com/apache/kafka/pull/812) and
> > KIP-43
> > to use standard Kafka format for the new request/response added by
> KIP-43.
> > I haven't changed the overall structure of the Java code. Feedback is
> > appreciated.
> >
> > Thanks,
> >
> > Rajini
> >
> > On Tue, Apr 12, 2016 at 3:52 PM, Ismael Juma <ism...@juma.me.uk> wrote:
> >
> > > Hi Jun,
> > >
> > > Comments inline.
> > >
> > > On Mon, Apr 11, 2016 at 1:57 AM, Jun Rao <j...@confluent.io> wrote:
> > >
> > > > Yes, that should be fine right? Since the new api key will start with
> > a 0
> > > > byte, it actually guarantees that it's different from 0x60 (1st byte
> in
> > > the
> > > > old protocol) even if we change the request version id in the future.
> > >
> > >
> > > Yes, this is true. Also, the GSS API library will throw an exception if
> > the
> > > first byte is not 0x60 (for the case where newer clients connect to
> older
> > > brokers):
> > >
> > >
> > >
> >
> https://github.com/frohoff/jdk8u-dev-jdk/blob/master/src/share/classes/sun/security/jgss/GSSHeader.java#L97
> > >
> > >
> > > And the DEFECTIVE_TOKEN status code is specified in both RFC 2743[1]
> and
> > > RFC 5653[2]. Section 3.1 of RFC 2743 specifies that the token tag
> > consists
> > > of the following elements, in order:
> > >
> > > 1. 0x60 -- Tag for [APPLICATION 0] SEQUENCE; indicates that
> > >       -- constructed form, definite length encoding follows.
> > >
> > > 2. Token length octets ...
> > >
> > >
> > > Ismael
> > >
> > > [1] Generic Security Service Application Program Interface Version 2,
> > > Update 1: https://tools.ietf.org/html/rfc2743
> > > [2] Generic Security Service API Version 2: Java Bindings Update:
> > > https://tools.ietf.org/html/rfc5653
> > >
> > > Ismael
> > >
> >
> >
> >
> > --
> > Regards,
> >
> > Rajini
> >
>

Reply via email to