From eee973a6aee5c1298c1dfed12fced34f3deeaf85 Mon Sep 17 00:00:00 2001 From: Stefan Metzmacher Date: Wed, 28 Jun 2017 14:53:49 +0200 Subject: auth/spnego: make use of GENSEC_UPDATE_IS_NTERROR() in gensec_spnego_update_send() Check with git show -U15 Signed-off-by: Stefan Metzmacher Reviewed-by: Andreas Schneider --- auth/gensec/spnego.c | 31 ++++++++++++++----------------- 1 file changed, 14 insertions(+), 17 deletions(-) diff --git a/auth/gensec/spnego.c b/auth/gensec/spnego.c index cec44bc1e2b..fe819ad749f 100644 --- a/auth/gensec/spnego.c +++ b/auth/gensec/spnego.c @@ -1245,15 +1245,12 @@ static struct tevent_req *gensec_spnego_update_send(TALLOC_CTX *mem_ctx, status = gensec_spnego_update_out(gensec_security, state, &state->out); - state->status = status; - if (NT_STATUS_EQUAL(status, NT_STATUS_MORE_PROCESSING_REQUIRED)) { - tevent_req_done(req); - return tevent_req_post(req, ev); - } - if (tevent_req_nterror(req, status)) { + if (GENSEC_UPDATE_IS_NTERROR(status)) { + tevent_req_nterror(req, status); return tevent_req_post(req, ev); } + state->status = status; tevent_req_done(req); return tevent_req_post(req, ev); } @@ -1390,6 +1387,11 @@ static struct tevent_req *gensec_spnego_update_send(TALLOC_CTX *mem_ctx, return NULL; } + if (GENSEC_UPDATE_IS_NTERROR(status)) { + tevent_req_nterror(req, status); + return tevent_req_post(req, ev); + } + if (NT_STATUS_IS_OK(status)) { bool reset_full = true; @@ -1397,26 +1399,21 @@ static struct tevent_req *gensec_spnego_update_send(TALLOC_CTX *mem_ctx, status = gensec_may_reset_crypto(spnego_state->sub_sec_security, reset_full); - } - if (!NT_STATUS_IS_OK(status) && - !NT_STATUS_EQUAL(status, NT_STATUS_MORE_PROCESSING_REQUIRED)) { - tevent_req_nterror(req, status); - return tevent_req_post(req, ev); + if (tevent_req_nterror(req, status)) { + return tevent_req_post(req, ev); + } } spnego_state->out_status = status; status = gensec_spnego_update_out(gensec_security, state, &state->out); - state->status = status; - if (NT_STATUS_EQUAL(status, NT_STATUS_MORE_PROCESSING_REQUIRED)) { - tevent_req_done(req); - return tevent_req_post(req, ev); - } - if (tevent_req_nterror(req, status)) { + if (GENSEC_UPDATE_IS_NTERROR(status)) { + tevent_req_nterror(req, status); return tevent_req_post(req, ev); } + state->status = status; tevent_req_done(req); return tevent_req_post(req, ev); } -- cgit v1.2.1