diff options
author | Stefan Metzmacher <metze@samba.org> | 2017-05-11 13:16:16 +0200 |
---|---|---|
committer | Andreas Schneider <asn@cryptomilk.org> | 2017-07-25 13:51:12 +0200 |
commit | a7f401243cb179dc3af6c6084474785ad189307a (patch) | |
tree | 2322659a91643bb67a0612e2346d66e4acf6a499 /auth | |
parent | 8268374c8307170f03b149a8fa7ed049c21889bf (diff) | |
download | samba-a7f401243cb179dc3af6c6084474785ad189307a.tar.gz |
auth/gensec: make use of gensec_update_send/recv in gensec_update_ev()
Signed-off-by: Stefan Metzmacher <metze@samba.org>
Reviewed-by: Andreas Schneider <asn@samba.org>
Diffstat (limited to 'auth')
-rw-r--r-- | auth/gensec/gensec.c | 22 |
1 files changed, 2 insertions, 20 deletions
diff --git a/auth/gensec/gensec.c b/auth/gensec/gensec.c index 6569c72ea25..6a747ca3601 100644 --- a/auth/gensec/gensec.c +++ b/auth/gensec/gensec.c @@ -325,15 +325,10 @@ _PUBLIC_ NTSTATUS gensec_update_ev(struct gensec_security *gensec_security, const DATA_BLOB in, DATA_BLOB *out) { NTSTATUS status; - const struct gensec_security_ops *ops = gensec_security->ops; TALLOC_CTX *frame = NULL; struct tevent_req *subreq = NULL; bool ok; - if (gensec_security->child_security != NULL) { - return NT_STATUS_INVALID_PARAMETER; - } - frame = talloc_stackframe(); if (ev == NULL) { @@ -350,7 +345,7 @@ _PUBLIC_ NTSTATUS gensec_update_ev(struct gensec_security *gensec_security, tevent_loop_allow_nesting(ev); } - subreq = ops->update_send(frame, ev, gensec_security, in); + subreq = gensec_update_send(frame, ev, gensec_security, in); if (subreq == NULL) { status = NT_STATUS_NO_MEMORY; goto fail; @@ -359,20 +354,7 @@ _PUBLIC_ NTSTATUS gensec_update_ev(struct gensec_security *gensec_security, if (!ok) { goto fail; } - status = ops->update_recv(subreq, out_mem_ctx, out); - if (!NT_STATUS_IS_OK(status)) { - goto fail; - } - - /* - * Because callers using the - * gensec_start_mech_by_auth_type() never call - * gensec_want_feature(), it isn't sensible for them - * to have to call gensec_have_feature() manually, and - * these are not points of negotiation, but are - * asserted by the client - */ - status = gensec_verify_features(gensec_security); + status = gensec_update_recv(subreq, out_mem_ctx, out); fail: TALLOC_FREE(frame); return status; |