summaryrefslogtreecommitdiff
path: root/lib
diff options
context:
space:
mode:
authorDouglas Bagnall <douglas.bagnall@catalyst.net.nz>2023-07-18 08:56:40 +1200
committerAndrew Bartlett <abartlet@samba.org>2023-07-19 03:31:30 +0000
commit9ea606dad1147734c1877dd054dc769c4df4e005 (patch)
tree6896b6d9d6d3c5d6f68e4c5094b8e3a147318084 /lib
parent89b02bad3e2db7a9a3aceed7122c1d680cef728d (diff)
downloadsamba-9ea606dad1147734c1877dd054dc769c4df4e005.tar.gz
samba-9ea606dad1147734c1877dd054dc769c4df4e005.tar.bz2
samba-9ea606dad1147734c1877dd054dc769c4df4e005.zip
lib/fuzzing: adapt fuzz_sddl_access_check for AD variant
Signed-off-by: Douglas Bagnall <douglas.bagnall@catalyst.net.nz> Reviewed-by: Andrew Bartlett <abartlet@samba.org>
Diffstat (limited to 'lib')
-rw-r--r--lib/fuzzing/fuzz_sddl_access_check.c19
-rw-r--r--lib/fuzzing/wscript_build6
2 files changed, 25 insertions, 0 deletions
diff --git a/lib/fuzzing/fuzz_sddl_access_check.c b/lib/fuzzing/fuzz_sddl_access_check.c
index d4247272e4d..e6231d7da5f 100644
--- a/lib/fuzzing/fuzz_sddl_access_check.c
+++ b/lib/fuzzing/fuzz_sddl_access_check.c
@@ -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;
diff --git a/lib/fuzzing/wscript_build b/lib/fuzzing/wscript_build
index 7a138a47468..e0f4173b989 100644
--- a/lib/fuzzing/wscript_build
+++ b/lib/fuzzing/wscript_build
@@ -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',