diff options
author | Stefan Metzmacher <metze@samba.org> | 2017-06-28 14:53:49 +0200 |
---|---|---|
committer | Andreas Schneider <asn@cryptomilk.org> | 2017-07-25 13:51:07 +0200 |
commit | eee973a6aee5c1298c1dfed12fced34f3deeaf85 (patch) | |
tree | ba44ef09fe33ee5e069cc2d50ef039a98f652715 | |
parent | dc074180be692d2cfe36e70edae96b1c28e1a094 (diff) | |
download | samba-eee973a6aee5c1298c1dfed12fced34f3deeaf85.tar.gz |
auth/spnego: make use of GENSEC_UPDATE_IS_NTERROR() in gensec_spnego_update_send()
Check with git show -U15
Signed-off-by: Stefan Metzmacher <metze@samba.org>
Reviewed-by: Andreas Schneider <asn@samba.org>
-rw-r--r-- | auth/gensec/spnego.c | 31 |
1 files 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); } |