summaryrefslogtreecommitdiff
path: root/auth
diff options
context:
space:
mode:
authorStefan Metzmacher <metze@samba.org>2017-07-18 11:42:43 +0200
committerAndreas Schneider <asn@cryptomilk.org>2017-07-25 13:51:11 +0200
commit3e6daa30f5594c25da190773be79003eef9b157a (patch)
tree72eab555e044966156aadfa216dbd9b54551ea02 /auth
parenta97057d5b88c02bb3874f2dfe2ed5a8c2edfc596 (diff)
downloadsamba-3e6daa30f5594c25da190773be79003eef9b157a.tar.gz
auth/spnego: generate a valid packet if gensec_spnego_client_negTokenTarg() gives MORE_PROCESSING_REQUIRED
If we wait for the mechListMIC from the server we should send a valid paket instead of an empty blob. Signed-off-by: Stefan Metzmacher <metze@samba.org> Reviewed-by: Andreas Schneider <asn@samba.org>
Diffstat (limited to 'auth')
-rw-r--r--auth/gensec/spnego.c10
1 files changed, 4 insertions, 6 deletions
diff --git a/auth/gensec/spnego.c b/auth/gensec/spnego.c
index 22abad342b1..5eb75ad47aa 100644
--- a/auth/gensec/spnego.c
+++ b/auth/gensec/spnego.c
@@ -829,10 +829,6 @@ static NTSTATUS gensec_spnego_client_negTokenTarg(struct gensec_security *gensec
spnego_state->needs_mic_sign = false;
}
- if (spnego_state->needs_mic_check) {
- status = NT_STATUS_MORE_PROCESSING_REQUIRED;
- }
-
client_response:
if (GENSEC_UPDATE_IS_NTERROR(status)) {
DBG_WARNING("SPNEGO(%s) login failed: %s\n",
@@ -856,8 +852,10 @@ static NTSTATUS gensec_spnego_client_negTokenTarg(struct gensec_security *gensec
return NT_STATUS_INVALID_PARAMETER;
}
- spnego_state->state_position = SPNEGO_DONE;
- return status;
+ if (!spnego_state->needs_mic_check) {
+ spnego_state->state_position = SPNEGO_DONE;
+ return NT_STATUS_OK;
+ }
}
/* compose reply */