[PATCH 1/3] ntdll: Add NtAccessCheckByTypeAndAuditAlarm stub.
Mohamad Al-Jaf
mohamadaljaf at gmail.com
Mon Mar 7 22:58:16 CST 2022
Signed-off-by: Mohamad Al-Jaf <mohamadaljaf at gmail.com>
---
dlls/ntdll/ntdll.spec | 2 +-
dlls/ntdll/unix/security.c | 18 ++++++++++++++++++
include/winnt.h | 7 +++++++
include/winternl.h | 1 +
4 files changed, 27 insertions(+), 1 deletion(-)
diff --git a/dlls/ntdll/ntdll.spec b/dlls/ntdll/ntdll.spec
index d514bca5e11..b867767652e 100644
--- a/dlls/ntdll/ntdll.spec
+++ b/dlls/ntdll/ntdll.spec
@@ -131,7 +131,7 @@
@ stdcall -syscall NtAccessCheck(ptr long long ptr ptr ptr ptr ptr)
@ stdcall -syscall NtAccessCheckAndAuditAlarm(ptr long ptr ptr ptr long ptr long ptr ptr ptr)
# @ stub NtAccessCheckByType
-# @ stub NtAccessCheckByTypeAndAuditAlarm
+@ stdcall -syscall NtAccessCheckByTypeAndAuditAlarm(ptr long ptr ptr ptr ptr long long long ptr long ptr long ptr ptr ptr)
# @ stub NtAccessCheckByTypeResultList
# @ stub NtAccessCheckByTypeResultListAndAuditAlarm
# @ stub NtAccessCheckByTypeResultListAndAuditAlarmByHandle
diff --git a/dlls/ntdll/unix/security.c b/dlls/ntdll/unix/security.c
index 2955355353e..728ee961aa2 100644
--- a/dlls/ntdll/unix/security.c
+++ b/dlls/ntdll/unix/security.c
@@ -796,6 +796,24 @@ NTSTATUS WINAPI NtAccessCheckAndAuditAlarm( UNICODE_STRING *subsystem, HANDLE ha
}
+/***********************************************************************
+ * NtAccessCheckByTypeAndAuditAlarm (NTDLL.@)
+ */
+NTSTATUS WINAPI NtAccessCheckByTypeAndAuditAlarm( UNICODE_STRING *subsystem, HANDLE handle,
+ UNICODE_STRING *type_name, UNICODE_STRING *name,
+ PSECURITY_DESCRIPTOR descr, PSID sid, ACCESS_MASK access,
+ AUDIT_EVENT_TYPE type, ULONG flags, POBJECT_TYPE_LIST list,
+ ULONG length, GENERIC_MAPPING *mapping, BOOLEAN creation,
+ ACCESS_MASK *access_granted, NTSTATUS *access_status,
+ BOOLEAN *on_close )
+{
+ FIXME( "(%s, %p, %s, %s, %p, %p, 0x%08x, %u, 0x%08x, %p, %u, %p, %d, %p, %p, %p), stub\n",
+ debugstr_us(subsystem), handle, debugstr_us(type_name), debugstr_us(name), descr, sid,
+ access, type, flags, list, length, mapping, creation, access_granted, access_status, on_close );
+ return STATUS_NOT_IMPLEMENTED;
+}
+
+
/***********************************************************************
* NtQuerySecurityObject (NTDLL.@)
*/
diff --git a/include/winnt.h b/include/winnt.h
index 079858d2f7d..939c2f8d7dd 100644
--- a/include/winnt.h
+++ b/include/winnt.h
@@ -3633,6 +3633,13 @@ typedef PVOID PACCESS_TOKEN;
typedef PVOID PSECURITY_DESCRIPTOR;
typedef PVOID PSID;
+typedef enum _AUDIT_EVENT_TYPE {
+ AuditEventObjectAccess,
+ AuditEventDirectoryServiceAccess
+} AUDIT_EVENT_TYPE, *PAUDIT_EVENT_TYPE;
+
+#define AUDIT_ALLOW_NO_PRIVILEGE 0x1
+
typedef enum _TOKEN_ELEVATION_TYPE {
TokenElevationTypeDefault = 1,
TokenElevationTypeFull,
diff --git a/include/winternl.h b/include/winternl.h
index 6a95c4e0fdc..8e236f9d97d 100644
--- a/include/winternl.h
+++ b/include/winternl.h
@@ -3912,6 +3912,7 @@ NTSYSAPI NTSTATUS WINAPI LdrUnregisterDllNotification(void*);
NTSYSAPI NTSTATUS WINAPI NtAcceptConnectPort(PHANDLE,ULONG,PLPC_MESSAGE,BOOLEAN,PLPC_SECTION_WRITE,PLPC_SECTION_READ);
NTSYSAPI NTSTATUS WINAPI NtAccessCheck(PSECURITY_DESCRIPTOR,HANDLE,ACCESS_MASK,PGENERIC_MAPPING,PPRIVILEGE_SET,PULONG,PULONG,NTSTATUS*);
NTSYSAPI NTSTATUS WINAPI NtAccessCheckAndAuditAlarm(PUNICODE_STRING,HANDLE,PUNICODE_STRING,PUNICODE_STRING,PSECURITY_DESCRIPTOR,ACCESS_MASK,PGENERIC_MAPPING,BOOLEAN,PACCESS_MASK,PBOOLEAN,PBOOLEAN);
+NTSYSAPI NTSTATUS WINAPI NtAccessCheckByTypeAndAuditAlarm(PUNICODE_STRING,HANDLE,PUNICODE_STRING,PUNICODE_STRING,PSECURITY_DESCRIPTOR,PSID,ACCESS_MASK,AUDIT_EVENT_TYPE,ULONG,POBJECT_TYPE_LIST,ULONG,PGENERIC_MAPPING,BOOLEAN,PACCESS_MASK,NTSTATUS*,PBOOLEAN);
NTSYSAPI NTSTATUS WINAPI NtAddAtom(const WCHAR*,ULONG,RTL_ATOM*);
NTSYSAPI NTSTATUS WINAPI NtAdjustGroupsToken(HANDLE,BOOLEAN,PTOKEN_GROUPS,ULONG,PTOKEN_GROUPS,PULONG);
NTSYSAPI NTSTATUS WINAPI NtAdjustPrivilegesToken(HANDLE,BOOLEAN,PTOKEN_PRIVILEGES,DWORD,PTOKEN_PRIVILEGES,PDWORD);
--
2.35.1
More information about the wine-devel
mailing list