r2303: allow setting of many ntlmssp options from smb.conf or the command
authorAndrew Tridgell <tridge@samba.org>
Mon, 13 Sep 2004 02:35:55 +0000 (02:35 +0000)
committerGerald (Jerry) Carter <jerry@samba.org>
Wed, 10 Oct 2007 17:58:41 +0000 (12:58 -0500)
line. This makes testing much easier.
(This used to be commit 0a4723d250ba13e6374700fc6e80854ec6a3eddc)

source4/libcli/auth/ntlmssp.c

index 592656e8802d347894f6305ccfb7f64eae777042..f52f1ffbf9b6109c1cead6a15efe4c9233e79036 100644 (file)
@@ -938,10 +938,19 @@ NTSTATUS ntlmssp_server_start(struct ntlmssp_state **ntlmssp_state)
        (*ntlmssp_state)->ref_count = 1;
 
        (*ntlmssp_state)->neg_flags = 
-               NTLMSSP_NEGOTIATE_128 |
-               NTLMSSP_NEGOTIATE_NTLM |
-               NTLMSSP_NEGOTIATE_NTLM2 |
-               NTLMSSP_NEGOTIATE_KEY_EXCH;
+               NTLMSSP_NEGOTIATE_NTLM;
+
+       if (lp_parm_bool(-1, "ntlmssp_server", "128bit", True)) {
+               (*ntlmssp_state)->neg_flags |= NTLMSSP_NEGOTIATE_128;           
+       }
+
+       if (lp_parm_bool(-1, "ntlmssp_server", "keyexchange", True)) {
+               (*ntlmssp_state)->neg_flags |= NTLMSSP_NEGOTIATE_KEY_EXCH;              
+       }
+
+       if (lp_parm_bool(-1, "ntlmssp_server", "ntlm2", True)) {
+               (*ntlmssp_state)->neg_flags |= NTLMSSP_NEGOTIATE_NTLM2;         
+       }
 
        return NT_STATUS_OK;
 }
@@ -1291,12 +1300,24 @@ NTSTATUS ntlmssp_client_start(struct ntlmssp_state **ntlmssp_state)
        (*ntlmssp_state)->ref_count = 1;
 
        (*ntlmssp_state)->neg_flags = 
-               NTLMSSP_NEGOTIATE_128 |
                NTLMSSP_NEGOTIATE_NTLM |
-               NTLMSSP_NEGOTIATE_NTLM2 |
-               NTLMSSP_NEGOTIATE_KEY_EXCH |
                NTLMSSP_REQUEST_TARGET;
 
+       if (lp_parm_bool(-1, "ntlmssp_client", "128bit", True)) {
+               (*ntlmssp_state)->neg_flags |= NTLMSSP_NEGOTIATE_128;           
+       }
+
+       if (lp_parm_bool(-1, "ntlmssp_client", "keyexchange", True)) {
+               (*ntlmssp_state)->neg_flags |= NTLMSSP_NEGOTIATE_KEY_EXCH;              
+       }
+
+       if (lp_parm_bool(-1, "ntlmssp_client", "ntlm2", True)) {
+               (*ntlmssp_state)->neg_flags |= NTLMSSP_NEGOTIATE_NTLM2;         
+       } else {
+               /* apparently we can't do ntlmv2 if we don't do ntlm2 */
+               (*ntlmssp_state)->use_ntlmv2 = False;
+       }
+
        return NT_STATUS_OK;
 }