]> git.ipfire.org Git - thirdparty/samba.git/commitdiff
lib/fuzzing: adapt fuzz_sddl_access_check for AD variant
authorDouglas Bagnall <douglas.bagnall@catalyst.net.nz>
Mon, 17 Jul 2023 20:56:40 +0000 (08:56 +1200)
committerAndrew Bartlett <abartlet@samba.org>
Wed, 19 Jul 2023 03:31:30 +0000 (03:31 +0000)
Signed-off-by: Douglas Bagnall <douglas.bagnall@catalyst.net.nz>
Reviewed-by: Andrew Bartlett <abartlet@samba.org>
lib/fuzzing/fuzz_sddl_access_check.c
lib/fuzzing/wscript_build

index d4247272e4d089c5fd87bb620f8c0b7f07e54fb8..e6231d7da5f4abc60f7ada66ee7aa646e1fa894c 100644 (file)
@@ -118,7 +118,26 @@ int LLVMFuzzerTestOneInput(uint8_t *input, size_t len)
        if (sd == NULL) {
                goto end;
        }
+
+#ifdef FUZZ_SEC_ACCESS_CHECK_DS
+       /*
+        * The sec_access_check_ds() function has two arguments not found in
+        * se_access_check, and also not found in our fuzzing examples.
+        *
+        * One is a struct object_tree, which is used for object ACE types.
+        * The other is a SID, which is used as a default if an ACE lacks a
+        * SID.
+        */
+       sec_access_check_ds(sd,
+                           &token,
+                           access_desired,
+                           &access_granted,
+                           NULL,
+                           NULL);
+#else
        status = se_access_check(sd, &token, access_desired, &access_granted);
+#endif
+
 end:
        talloc_free(mem_ctx);
        return 0;
index 7a138a474683fa02a16ed905607b8db557fc599b..e0f4173b98939f50d3c8e0f91b00b4a1b6c4065f 100644 (file)
@@ -47,6 +47,12 @@ bld.SAMBA_BINARY('fuzz_sddl_access_check',
                  deps='fuzzing samba-security  afl-fuzz-main',
                  fuzzer=True)
 
+bld.SAMBA_BINARY('fuzz_sddl_access_check_ds',
+                 cflags='-DFUZZ_SEC_ACCESS_CHECK_DS=1',
+                 source='fuzz_sddl_access_check.c',
+                 deps='fuzzing samba-security  afl-fuzz-main',
+                 fuzzer=True)
+
 bld.SAMBA_BINARY('fuzz_regfio',
                  source='fuzz_regfio.c',
                  deps='fuzzing samba3-util smbconf REGFIO afl-fuzz-main',