From: Stefan Metzmacher Date: Wed, 14 Jun 2017 21:24:10 +0000 (+0200) Subject: s4:libcli/smb_composite: move chosen_oid to state->chosen_oid X-Git-Tag: tevent-0.9.32~69 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=068817a9143ca405d1dc6ff80b47c42489c49c9a;p=thirdparty%2Fsamba.git s4:libcli/smb_composite: move chosen_oid to state->chosen_oid Signed-off-by: Stefan Metzmacher Reviewed-by: Andrew Bartlett --- diff --git a/source4/libcli/smb_composite/sesssetup.c b/source4/libcli/smb_composite/sesssetup.c index 7f748c177b2..256d12b18bd 100644 --- a/source4/libcli/smb_composite/sesssetup.c +++ b/source4/libcli/smb_composite/sesssetup.c @@ -35,6 +35,7 @@ struct sesssetup_state { union smb_sesssetup setup; + const char *chosen_oid; NTSTATUS remote_status; NTSTATUS gensec_status; struct smb_composite_sesssetup *io; @@ -522,28 +523,36 @@ static NTSTATUS session_setup_spnego(struct composite_context *c, state->setup.spnego.out.secblob = session->transport->negotiate.secblob; if (session->transport->negotiate.secblob.length) { - chosen_oid = GENSEC_OID_SPNEGO; - status = gensec_start_mech_by_oid(session->gensec, chosen_oid); + state->chosen_oid = GENSEC_OID_SPNEGO; + status = gensec_start_mech_by_oid(session->gensec, + state->chosen_oid); if (!NT_STATUS_IS_OK(status)) { DEBUG(1, ("Failed to start set GENSEC client mechanism %s: %s\n", - gensec_get_name_by_oid(session->gensec, chosen_oid), nt_errstr(status))); + gensec_get_name_by_oid(session->gensec, + state->chosen_oid), + nt_errstr(status))); state->setup.spnego.out.secblob = data_blob_null; - chosen_oid = GENSEC_OID_NTLMSSP; - status = gensec_start_mech_by_oid(session->gensec, chosen_oid); + state->chosen_oid = GENSEC_OID_NTLMSSP; + status = gensec_start_mech_by_oid(session->gensec, + state->chosen_oid); if (!NT_STATUS_IS_OK(status)) { DEBUG(1, ("Failed to start set (fallback) GENSEC client mechanism %s: %s\n", - gensec_get_name_by_oid(session->gensec, chosen_oid), + gensec_get_name_by_oid(session->gensec, + state->chosen_oid), nt_errstr(status))); return status; } } } else { /* without a sec blob, means raw NTLMSSP */ - chosen_oid = GENSEC_OID_NTLMSSP; - status = gensec_start_mech_by_oid(session->gensec, chosen_oid); + state->chosen_oid = GENSEC_OID_NTLMSSP; + status = gensec_start_mech_by_oid(session->gensec, + state->chosen_oid); if (!NT_STATUS_IS_OK(status)) { DEBUG(1, ("Failed to start set GENSEC client mechanism %s: %s\n", - gensec_get_name_by_oid(session->gensec, chosen_oid), nt_errstr(status))); + gensec_get_name_by_oid(session->gensec, + state->chosen_oid), + nt_errstr(status))); } } @@ -555,7 +564,8 @@ static NTSTATUS session_setup_spnego(struct composite_context *c, if (!NT_STATUS_EQUAL(status, NT_STATUS_MORE_PROCESSING_REQUIRED) && !NT_STATUS_IS_OK(status)) { DEBUG(1, ("Failed initial gensec_update with mechanism %s: %s\n", - gensec_get_name_by_oid(session->gensec, chosen_oid), + gensec_get_name_by_oid(session->gensec, + state->chosen_oid), nt_errstr(status))); return status; }