From 04e688a26d9f7c93748edb4eac650fd03c6d2381 Mon Sep 17 00:00:00 2001 From: Mikolaj Zalewski Date: Mon, 24 Sep 2007 17:20:36 -0700 Subject: [PATCH] ntdll: Add RtlAddAuditAccessAceEx. --- dlls/ntdll/ntdll.spec | 4 ++-- dlls/ntdll/sec.c | 21 +++++++++++++++++---- include/winternl.h | 1 + 3 files changed, 20 insertions(+), 6 deletions(-) diff --git a/dlls/ntdll/ntdll.spec b/dlls/ntdll/ntdll.spec index 07abf1c32cd..1c4a39d8b5c 100644 --- a/dlls/ntdll/ntdll.spec +++ b/dlls/ntdll/ntdll.spec @@ -402,8 +402,8 @@ @ stub RtlAddActionToRXact @ stdcall RtlAddAtomToAtomTable(ptr wstr ptr) @ stub RtlAddAttributeActionToRXact -@ stdcall RtlAddAuditAccessAce(ptr long long ptr long long) -# @ stub RtlAddAuditAccessAceEx +@ stdcall RtlAddAuditAccessAce(ptr long long ptr long long) +@ stdcall RtlAddAuditAccessAceEx(ptr long long long ptr long long) # @ stub RtlAddAuditAccessObjectAce # @ stub RtlAddCompoundAce # @ stub RtlAddRange diff --git a/dlls/ntdll/sec.c b/dlls/ntdll/sec.c index af89b724ea2..0eaa9fe6a60 100644 --- a/dlls/ntdll/sec.c +++ b/dlls/ntdll/sec.c @@ -1213,17 +1213,16 @@ NTSTATUS WINAPI RtlAddAccessDeniedAceEx( /************************************************************************** * RtlAddAuditAccessAce [NTDLL.@] */ -NTSTATUS WINAPI RtlAddAuditAccessAce( +NTSTATUS WINAPI RtlAddAuditAccessAceEx( IN OUT PACL pAcl, IN DWORD dwAceRevision, + IN DWORD dwAceFlags, IN DWORD dwAccessMask, IN PSID pSid, IN BOOL bAuditSuccess, IN BOOL bAuditFailure) { - DWORD dwAceFlags = 0; - - TRACE("(%p,%d,%d,%p,%u,%u)\n",pAcl,dwAceRevision,dwAccessMask, + TRACE("(%p,%d,0x%08x,0x%08x,%p,%u,%u)\n",pAcl,dwAceRevision,dwAceFlags,dwAccessMask, pSid,bAuditSuccess,bAuditFailure); if (bAuditSuccess) @@ -1235,6 +1234,20 @@ NTSTATUS WINAPI RtlAddAuditAccessAce( return add_access_ace(pAcl, dwAceRevision, dwAceFlags, dwAccessMask, pSid, SYSTEM_AUDIT_ACE_TYPE); } + +/************************************************************************** + * RtlAddAuditAccessAce [NTDLL.@] + */ +NTSTATUS WINAPI RtlAddAuditAccessAce( + IN OUT PACL pAcl, + IN DWORD dwAceRevision, + IN DWORD dwAccessMask, + IN PSID pSid, + IN BOOL bAuditSuccess, + IN BOOL bAuditFailure) +{ + return RtlAddAuditAccessAceEx(pAcl, dwAceRevision, 0, dwAccessMask, pSid, bAuditSuccess, bAuditFailure); +} /****************************************************************************** * RtlValidAcl [NTDLL.@] diff --git a/include/winternl.h b/include/winternl.h index 541eb5835b9..88c36b1cf44 100644 --- a/include/winternl.h +++ b/include/winternl.h @@ -1987,6 +1987,7 @@ NTSTATUS WINAPI RtlAddAccessDeniedAce(PACL,DWORD,DWORD,PSID); NTSTATUS WINAPI RtlAddAccessDeniedAceEx(PACL,DWORD,DWORD,DWORD,PSID); NTSTATUS WINAPI RtlAddAtomToAtomTable(RTL_ATOM_TABLE,const WCHAR*,RTL_ATOM*); NTSTATUS WINAPI RtlAddAuditAccessAce(PACL,DWORD,DWORD,PSID,BOOL,BOOL); +NTSTATUS WINAPI RtlAddAuditAccessAceEx(PACL,DWORD,DWORD,DWORD,PSID,BOOL,BOOL); void WINAPI RtlAddRefActivationContext(HANDLE); PVOID WINAPI RtlAddVectoredExceptionHandler(ULONG,PVECTORED_EXCEPTION_HANDLER); NTSTATUS WINAPI RtlAdjustPrivilege(ULONG,BOOLEAN,BOOLEAN,PBOOLEAN);