Keep track of the opportunistic token in the inital message, it might
be a complete gss-api context, in that case we'll get back accept_completed without any token. With this change, krb5 w/o mutual authentication works. git-svn-id: svn://svn.h5l.se/heimdal/trunk/heimdal@19043 ec53bebd-3082-4978-b11e-865c3cabbd6b
This commit is contained in:
@@ -228,6 +228,8 @@ spnego_initial
|
|||||||
_gss_spnego_internal_delete_sec_context(&minor, &context, GSS_C_NO_BUFFER);
|
_gss_spnego_internal_delete_sec_context(&minor, &context, GSS_C_NO_BUFFER);
|
||||||
return sub;
|
return sub;
|
||||||
}
|
}
|
||||||
|
if (sub == GSS_S_COMPLETE)
|
||||||
|
ctx->maybe_open = 1;
|
||||||
|
|
||||||
if (mech_token.length != 0) {
|
if (mech_token.length != 0) {
|
||||||
ALLOC(ni.mechToken, 1);
|
ALLOC(ni.mechToken, 1);
|
||||||
@@ -439,6 +441,9 @@ spnego_reply
|
|||||||
if (ret == GSS_S_COMPLETE) {
|
if (ret == GSS_S_COMPLETE) {
|
||||||
ctx->open = 1;
|
ctx->open = 1;
|
||||||
}
|
}
|
||||||
|
} else if (*(resp.negResult) == accept_completed) {
|
||||||
|
if (ctx->maybe_open)
|
||||||
|
ctx->open = 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (*(resp.negResult) == request_mic) {
|
if (*(resp.negResult) == request_mic) {
|
||||||
|
Reference in New Issue
Block a user