Subject: Re: SSH GSSAPI key exchange

From: Simon Wilkinson <[email-masked]>
Date: Wed, 21 Feb 2001 21:06:45 GMT

> the way I read the GSSAPI spec, _every_ call to gss_init_sec_context 
> results in a token that must be sent to the server.

RFC2743 says that gss_init_sec_context "ordinarily emits an output token",
RFC2744 (the C bindings) says "may return an output token ... If no token
need be sent, gss_init_sec_context will indicate this by setting the length
field ... to zero", and "Portable applications should ... use the token
length ... to determine whether a token needs to be sent". The sample code
in RFC2744 certainly assumes that an output token may or may not be present
at either end of the connection.

> Let's assume, then, that either initiator or acceptor can be the last to
> send, and will return COMPLETE iff it is not expecting a reply.  Then I
> think we should do the following:

This appears to work in all of the situations I can think of. Just to get
my head round it, I've tried implementing this, and it works correctly in
the Kerberos case.

Cheers,

Simon.