summaryrefslogtreecommitdiff
path: root/auth
diff options
context:
space:
mode:
authorStefan Metzmacher <metze@samba.org>2017-07-13 16:20:59 +0200
committerAndreas Schneider <asn@cryptomilk.org>2017-07-25 13:51:10 +0200
commitd9e764ed9b134f3c7e0869bd5567dbf49513d45f (patch)
treed4204ac83afc71f9616d827c99b248ac13932495 /auth
parent6a3c50f368979c8bf5dc6c8c88bf34227c61a56e (diff)
downloadsamba-d9e764ed9b134f3c7e0869bd5567dbf49513d45f.tar.gz
auth/spnego: introduce an early return in gensec_spnego_create_negTokenInit()
This avoids print two debug message for the same failure. 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.c14
1 files changed, 10 insertions, 4 deletions
diff --git a/auth/gensec/spnego.c b/auth/gensec/spnego.c
index c91ae3833d0..d8c62b350e3 100644
--- a/auth/gensec/spnego.c
+++ b/auth/gensec/spnego.c
@@ -214,7 +214,7 @@ static NTSTATUS gensec_spnego_create_negTokenInit(struct gensec_security *gensec
DATA_BLOB *out)
{
int i;
- NTSTATUS status = NT_STATUS_INVALID_PARAMETER;
+ NTSTATUS status;
const char **mechTypes = NULL;
DATA_BLOB unwrapped_out = data_blob_null;
const struct gensec_security_ops_wrapper *all_sec;
@@ -302,15 +302,21 @@ static NTSTATUS gensec_spnego_create_negTokenInit(struct gensec_security *gensec
spnego_state->sub_sec_security->ops->name,
principal, next, nt_errstr(status)));
+ if (next == NULL) {
+ /*
+ * A hard error without a possible fallback.
+ */
+ return status;
+ }
+
/*
* Pretend we never started it
*/
gensec_spnego_update_sub_abort(spnego_state);
}
- DBG_WARNING("Failed to setup SPNEGO negTokenInit request: %s\n",
- nt_errstr(status));
- return status;
+ DBG_WARNING("Failed to setup SPNEGO negTokenInit request\n");
+ return NT_STATUS_INVALID_PARAMETER;
reply:
spnego_out.type = SPNEGO_NEG_TOKEN_INIT;