summaryrefslogtreecommitdiff
path: root/auth
diff options
context:
space:
mode:
authorStefan Metzmacher <metze@samba.org>2017-06-13 23:41:01 +0200
committerAndreas Schneider <asn@cryptomilk.org>2017-06-29 15:59:22 +0200
commite9f1daa6f43fcb2c6db35c66d786947cf2af9bc5 (patch)
tree780f113a843672ed468eb69143574c098c064e39 /auth
parent91287ce566c53aabb8b928827a4c7fd9b6465ee1 (diff)
downloadsamba-e9f1daa6f43fcb2c6db35c66d786947cf2af9bc5.tar.gz
auth/spnego: move gensec_spnego_update() into gensec_spnego_update_send()
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.c73
1 files changed, 36 insertions, 37 deletions
diff --git a/auth/gensec/spnego.c b/auth/gensec/spnego.c
index 02eacfc96e9..bb2aa70a4d8 100644
--- a/auth/gensec/spnego.c
+++ b/auth/gensec/spnego.c
@@ -1268,39 +1268,6 @@ static NTSTATUS gensec_spnego_update_server(struct gensec_security *gensec_secur
return NT_STATUS_INTERNAL_ERROR;
}
-
-static NTSTATUS gensec_spnego_update(struct gensec_security *gensec_security, TALLOC_CTX *out_mem_ctx,
- struct tevent_context *ev,
- const DATA_BLOB in, DATA_BLOB *out)
-{
- struct spnego_state *spnego_state = (struct spnego_state *)gensec_security->private_data;
-
- *out = data_blob_null;
-
- /* and switch into the state machine */
-
- switch (spnego_state->state_position) {
- case SPNEGO_FALLBACK:
- return gensec_update_ev(spnego_state->sub_sec_security,
- out_mem_ctx, ev, in, out);
-
- case SPNEGO_CLIENT_START:
- case SPNEGO_CLIENT_TARG:
- return gensec_spnego_update_client(gensec_security, out_mem_ctx,
- ev, in, out);
-
- case SPNEGO_SERVER_START:
- case SPNEGO_SERVER_TARG:
- return gensec_spnego_update_server(gensec_security, out_mem_ctx,
- ev, in, out);
-
- case SPNEGO_DONE:
- /* We should not be called after we are 'done' */
- return NT_STATUS_INVALID_PARAMETER;
- }
- return NT_STATUS_INVALID_PARAMETER;
-}
-
struct gensec_spnego_update_state {
struct gensec_security *gensec;
struct spnego_state *spnego;
@@ -1390,10 +1357,42 @@ static struct tevent_req *gensec_spnego_update_send(TALLOC_CTX *mem_ctx,
return tevent_req_post(req, ev);
}
- status = gensec_spnego_update(gensec_security,
- state, ev,
- state->full_in,
- &spnego_state->out_frag);
+ /* and switch into the state machine */
+
+ switch (spnego_state->state_position) {
+ case SPNEGO_FALLBACK:
+ status = gensec_update_ev(spnego_state->sub_sec_security,
+ state, ev,
+ state->full_in,
+ &spnego_state->out_frag);
+ break;
+
+ case SPNEGO_CLIENT_START:
+ case SPNEGO_CLIENT_TARG:
+ status = gensec_spnego_update_client(gensec_security,
+ state, ev,
+ state->full_in,
+ &spnego_state->out_frag);
+ break;
+
+ case SPNEGO_SERVER_START:
+ case SPNEGO_SERVER_TARG:
+ status = gensec_spnego_update_server(gensec_security,
+ state, ev,
+ state->full_in,
+ &spnego_state->out_frag);
+ break;
+
+ case SPNEGO_DONE:
+ /* We should not be called after we are 'done' */
+ tevent_req_nterror(req, NT_STATUS_INVALID_PARAMETER);
+ return tevent_req_post(req, ev);
+
+ default:
+ tevent_req_nterror(req, NT_STATUS_INVALID_PARAMETER);
+ return tevent_req_post(req, ev);
+ }
+
if (NT_STATUS_IS_OK(status)) {
bool reset_full = true;