CVE-2016-2111: s4:torture/raw: don't use ntlmv2 for dos connection in raw.samba3badpath
authorStefan Metzmacher <metze@samba.org>
Sat, 26 Mar 2016 21:24:23 +0000 (22:24 +0100)
committerStefan Metzmacher <metze@samba.org>
Tue, 12 Apr 2016 17:25:24 +0000 (19:25 +0200)
BUG: https://bugzilla.samba.org/show_bug.cgi?id=11749

Signed-off-by: Stefan Metzmacher <metze@samba.org>
Reviewed-by: Alexander Bokovoy <ab@samba.org>
source4/torture/raw/samba3misc.c

index f40a4f198c9ea9b8f79c41dcafc3bc510655aa39..dc460b9cd8b97ce2425f6f928aa796133169ad20 100644 (file)
@@ -440,22 +440,29 @@ bool torture_samba3_badpath(struct torture_context *torture)
        bool ret = true;
        TALLOC_CTX *mem_ctx;
        bool nt_status_support;
+       bool client_ntlmv2_auth;
 
        torture_assert(torture, mem_ctx = talloc_init("torture_samba3_badpath"), "talloc_init failed");
 
        nt_status_support = lpcfg_nt_status_support(torture->lp_ctx);
+       client_ntlmv2_auth = lpcfg_client_ntlmv2_auth(torture->lp_ctx);
 
        torture_assert_goto(torture, lpcfg_set_cmdline(torture->lp_ctx, "nt status support", "yes"), ret, fail, "Could not set 'nt status support = yes'\n");
+       torture_assert_goto(torture, lpcfg_set_cmdline(torture->lp_ctx, "client ntlmv2 auth", "yes"), ret, fail, "Could not set 'client ntlmv2 auth = yes'\n");
 
        torture_assert_goto(torture, torture_open_connection(&cli_nt, torture, 0), ret, fail, "Could not open NTSTATUS connection\n");
 
        torture_assert_goto(torture, lpcfg_set_cmdline(torture->lp_ctx, "nt status support", "no"), ret, fail, "Could not set 'nt status support = no'\n");
+       torture_assert_goto(torture, lpcfg_set_cmdline(torture->lp_ctx, "client ntlmv2 auth", "no"), ret, fail, "Could not set 'client ntlmv2 auth = no'\n");
 
        torture_assert_goto(torture, torture_open_connection(&cli_dos, torture, 1), ret, fail, "Could not open DOS connection\n");
 
        torture_assert_goto(torture, lpcfg_set_cmdline(torture->lp_ctx, "nt status support",
                                                       nt_status_support ? "yes":"no"), 
                            ret, fail, "Could not set 'nt status support' back to where it was\n");
+       torture_assert_goto(torture, lpcfg_set_cmdline(torture->lp_ctx, "client ntlmv2 auth",
+                                                      client_ntlmv2_auth ? "yes":"no"),
+                           ret, fail, "Could not set 'client ntlmv2 auth' back to where it was\n");
 
        torture_assert(torture, torture_setup_dir(cli_nt, dirname), "creating test directory");