Skip to content

Commit

Permalink
spnego: add client option to omit sending an optimistic token
Browse files Browse the repository at this point in the history
BUG: https://bugzilla.samba.org/show_bug.cgi?id=14106

Signed-off-by: Isaac Boukris <[email protected]>
Reviewed-by: Andreas Schneider <[email protected]>
Reviewed-by: Andrew Bartlett <[email protected]>
Reviewed-by: Stefan Metzmacher <[email protected]>
  • Loading branch information
iboukris authored and cryptomilk committed Oct 12, 2019
1 parent 90f557f commit d7e57ef
Showing 1 changed file with 11 additions and 0 deletions.
11 changes: 11 additions & 0 deletions auth/gensec/spnego.c
Original file line number Diff line number Diff line change
Expand Up @@ -136,6 +136,7 @@ struct spnego_state {
bool done_mic_check;

bool simulate_w2k;
bool no_optimistic;

/*
* The following is used to implement
Expand Down Expand Up @@ -187,6 +188,10 @@ static NTSTATUS gensec_spnego_client_start(struct gensec_security *gensec_securi

spnego_state->simulate_w2k = gensec_setting_bool(gensec_security->settings,
"spnego", "simulate_w2k", false);
spnego_state->no_optimistic = gensec_setting_bool(gensec_security->settings,
"spnego",
"client_no_optimistic",
false);

gensec_security->private_data = spnego_state;
return NT_STATUS_OK;
Expand Down Expand Up @@ -1942,6 +1947,12 @@ static void gensec_spnego_update_pre(struct tevent_req *req)
* blob and NT_STATUS_OK.
*/
state->sub.status = NT_STATUS_OK;
} else if (spnego_state->state_position == SPNEGO_CLIENT_START &&
spnego_state->no_optimistic) {
/*
* Skip optimistic token per conf.
*/
state->sub.status = NT_STATUS_MORE_PROCESSING_REQUIRED;
} else {
/*
* MORE_PROCESSING_REQUIRED =>
Expand Down

0 comments on commit d7e57ef

Please sign in to comment.