auth/ntlmssp: define all client neg_flags in gensec_ntlmssp_client_start()
authorStefan Metzmacher <metze@samba.org>
Tue, 1 Dec 2015 10:01:24 +0000 (11:01 +0100)
committerStefan Metzmacher <metze@samba.org>
Thu, 10 Mar 2016 05:52:28 +0000 (06:52 +0100)
Signed-off-by: Stefan Metzmacher <metze@samba.org>
Reviewed-by: Andrew Bartlett <abartlet@samba.org>
Reviewed-by: Günther Deschner <gd@samba.org>
auth/ntlmssp/ntlmssp_client.c

index 0823ebeb70432b4acbbb0cc12d76b030943a5f57..114f8b0ec68c3434443ac917c013587d6965571b 100644 (file)
@@ -71,16 +71,6 @@ NTSTATUS ntlmssp_client_initial(struct gensec_security *gensec_security,
                workstation = "";
        }
 
-       if (ntlmssp_state->unicode) {
-               ntlmssp_state->neg_flags |= NTLMSSP_NEGOTIATE_UNICODE;
-       } else {
-               ntlmssp_state->neg_flags |= NTLMSSP_NEGOTIATE_OEM;
-       }
-
-       if (ntlmssp_state->use_ntlmv2) {
-               ntlmssp_state->neg_flags |= NTLMSSP_NEGOTIATE_NTLM2;
-       }
-
        /* generate the ntlmssp negotiate packet */
        status = msrpc_gen(out_mem_ctx,
                  out, "CddAA",
@@ -604,6 +594,12 @@ NTSTATUS gensec_ntlmssp_client_start(struct gensec_security *gensec_security)
                NTLMSSP_NEGOTIATE_NTLM |
                NTLMSSP_REQUEST_TARGET;
 
+       if (ntlmssp_state->unicode) {
+               ntlmssp_state->neg_flags |= NTLMSSP_NEGOTIATE_UNICODE;
+       } else {
+               ntlmssp_state->neg_flags |= NTLMSSP_NEGOTIATE_OEM;
+       }
+
        if (gensec_setting_bool(gensec_security->settings, "ntlmssp_client", "128bit", true)) {
                ntlmssp_state->neg_flags |= NTLMSSP_NEGOTIATE_128;
        }
@@ -631,6 +627,10 @@ NTSTATUS gensec_ntlmssp_client_start(struct gensec_security *gensec_security)
                ntlmssp_state->use_ntlmv2 = false;
        }
 
+       if (ntlmssp_state->use_ntlmv2) {
+               ntlmssp_state->neg_flags |= NTLMSSP_NEGOTIATE_NTLM2;
+       }
+
        if (gensec_security->want_features & GENSEC_FEATURE_SESSION_KEY) {
                /*
                 * We need to set this to allow a later SetPassword