Module: wine Branch: stable Commit: ae5af823b8b5a7f579e2fa203cf1add2a5b13b82 URL: http://source.winehq.org/git/wine.git/?a=commit;h=ae5af823b8b5a7f579e2fa203c...
Author: Louis Lenders xerox.xerox2000x@gmail.com Date: Fri Mar 4 08:40:39 2016 +0100
ntdll: Add stub for RtlAddAccessDeniedObjectAce and forward to AddAccessDeniedObjectAce in advapi32.
Signed-off-by: Louis Lenders xerox.xerox2000x@gmail.com Signed-off-by: Alexandre Julliard julliard@winehq.org (cherry picked from commit eee837e9314e8bb3eb2f8d27f280560996bf7714) Signed-off-by: Michael Stefaniuc mstefani@winehq.org
---
dlls/advapi32/advapi32.spec | 2 +- dlls/advapi32/security.c | 16 ++++++++++++++++ .../api-ms-win-downlevel-advapi32-l1-1-0.spec | 2 +- .../api-ms-win-security-base-l1-1-0.spec | 2 +- .../api-ms-win-security-base-l1-2-0.spec | 2 +- dlls/ntdll/ntdll.spec | 2 +- dlls/ntdll/sec.c | 17 +++++++++++++++++ include/winternl.h | 1 + 8 files changed, 39 insertions(+), 5 deletions(-)
diff --git a/dlls/advapi32/advapi32.spec b/dlls/advapi32/advapi32.spec index faae877..0d70bcc 100644 --- a/dlls/advapi32/advapi32.spec +++ b/dlls/advapi32/advapi32.spec @@ -19,7 +19,7 @@ @ stdcall AddAccessAllowedObjectAce(ptr long long long ptr ptr ptr) @ stdcall AddAccessDeniedAce(ptr long long ptr) @ stdcall AddAccessDeniedAceEx(ptr long long long ptr) -# @ stub AddAccessDeniedObjectAce +@ stdcall AddAccessDeniedObjectAce(ptr long long long ptr ptr ptr) @ stdcall AddAce(ptr long long ptr long) @ stdcall AddAuditAccessAce(ptr long long ptr long long) @ stdcall AddAuditAccessAceEx(ptr long long long ptr long long) diff --git a/dlls/advapi32/security.c b/dlls/advapi32/security.c index b74b1a1..c8a6579 100644 --- a/dlls/advapi32/security.c +++ b/dlls/advapi32/security.c @@ -1683,6 +1683,22 @@ BOOL WINAPI AddAccessDeniedAceEx( }
/****************************************************************************** + * AddAccessDeniedObjectAce [ADVAPI32.@] + */ +BOOL WINAPI AddAccessDeniedObjectAce( + IN OUT PACL pAcl, + IN DWORD dwAceRevision, + IN DWORD dwAceFlags, + IN DWORD dwAccessMask, + IN GUID* pObjectTypeGuid, + IN GUID* pInheritedObjectTypeGuid, + IN PSID pSid) +{ + return set_ntstatus( RtlAddAccessDeniedObjectAce(pAcl, dwAceRevision, dwAceFlags, dwAccessMask, + pObjectTypeGuid, pInheritedObjectTypeGuid, pSid) ); +} + +/****************************************************************************** * AddAce [ADVAPI32.@] */ BOOL WINAPI AddAce( diff --git a/dlls/api-ms-win-downlevel-advapi32-l1-1-0/api-ms-win-downlevel-advapi32-l1-1-0.spec b/dlls/api-ms-win-downlevel-advapi32-l1-1-0/api-ms-win-downlevel-advapi32-l1-1-0.spec index 6c8a5e7..9cc4d82 100644 --- a/dlls/api-ms-win-downlevel-advapi32-l1-1-0/api-ms-win-downlevel-advapi32-l1-1-0.spec +++ b/dlls/api-ms-win-downlevel-advapi32-l1-1-0/api-ms-win-downlevel-advapi32-l1-1-0.spec @@ -10,7 +10,7 @@ @ stdcall AddAccessAllowedObjectAce(ptr long long long ptr ptr ptr) advapi32.AddAccessAllowedObjectAce @ stdcall AddAccessDeniedAce(ptr long long ptr) advapi32.AddAccessDeniedAce @ stdcall AddAccessDeniedAceEx(ptr long long long ptr) advapi32.AddAccessDeniedAceEx -@ stub AddAccessDeniedObjectAce +@ stdcall AddAccessDeniedObjectAce(ptr long long long ptr ptr ptr) advapi32.AddAccessDeniedObjectAce @ stdcall AddAce(ptr long long ptr long) advapi32.AddAce @ stdcall AddAuditAccessAce(ptr long long ptr long long) advapi32.AddAuditAccessAce @ stdcall AddAuditAccessAceEx(ptr long long long ptr long long) advapi32.AddAuditAccessAceEx diff --git a/dlls/api-ms-win-security-base-l1-1-0/api-ms-win-security-base-l1-1-0.spec b/dlls/api-ms-win-security-base-l1-1-0/api-ms-win-security-base-l1-1-0.spec index 1cc6206..083c921 100644 --- a/dlls/api-ms-win-security-base-l1-1-0/api-ms-win-security-base-l1-1-0.spec +++ b/dlls/api-ms-win-security-base-l1-1-0/api-ms-win-security-base-l1-1-0.spec @@ -10,7 +10,7 @@ @ stdcall AddAccessAllowedObjectAce(ptr long long long ptr ptr ptr) advapi32.AddAccessAllowedObjectAce @ stdcall AddAccessDeniedAce(ptr long long ptr) advapi32.AddAccessDeniedAce @ stdcall AddAccessDeniedAceEx(ptr long long long ptr) advapi32.AddAccessDeniedAceEx -@ stub AddAccessDeniedObjectAce +@ stdcall AddAccessDeniedObjectAce(ptr long long long ptr ptr ptr) advapi32.AddAccessDeniedObjectAce @ stdcall AddAce(ptr long long ptr long) advapi32.AddAce @ stdcall AddAuditAccessAce(ptr long long ptr long long) advapi32.AddAuditAccessAce @ stdcall AddAuditAccessAceEx(ptr long long long ptr long long) advapi32.AddAuditAccessAceEx diff --git a/dlls/api-ms-win-security-base-l1-2-0/api-ms-win-security-base-l1-2-0.spec b/dlls/api-ms-win-security-base-l1-2-0/api-ms-win-security-base-l1-2-0.spec index 83ecd50..fc3e5f4 100644 --- a/dlls/api-ms-win-security-base-l1-2-0/api-ms-win-security-base-l1-2-0.spec +++ b/dlls/api-ms-win-security-base-l1-2-0/api-ms-win-security-base-l1-2-0.spec @@ -10,7 +10,7 @@ @ stdcall AddAccessAllowedObjectAce(ptr long long long ptr ptr ptr) advapi32.AddAccessAllowedObjectAce @ stdcall AddAccessDeniedAce(ptr long long ptr) advapi32.AddAccessDeniedAce @ stdcall AddAccessDeniedAceEx(ptr long long long ptr) advapi32.AddAccessDeniedAceEx -@ stub AddAccessDeniedObjectAce +@ stdcall AddAccessDeniedObjectAce(ptr long long long ptr ptr ptr) advapi32.AddAccessDeniedObjectAce @ stdcall AddAce(ptr long long ptr long) advapi32.AddAce @ stdcall AddAuditAccessAce(ptr long long ptr long long) advapi32.AddAuditAccessAce @ stdcall AddAuditAccessAceEx(ptr long long long ptr long long) advapi32.AddAuditAccessAceEx diff --git a/dlls/ntdll/ntdll.spec b/dlls/ntdll/ntdll.spec index 9910043..2c1be0e 100644 --- a/dlls/ntdll/ntdll.spec +++ b/dlls/ntdll/ntdll.spec @@ -410,7 +410,7 @@ @ stdcall RtlAddAccessAllowedObjectAce(ptr long long long ptr ptr ptr) @ stdcall RtlAddAccessDeniedAce(ptr long long ptr) @ stdcall RtlAddAccessDeniedAceEx(ptr long long long ptr) -# @ stub RtlAddAccessDeniedObjectAce +@ stdcall RtlAddAccessDeniedObjectAce(ptr long long long ptr ptr ptr) @ stdcall RtlAddAce(ptr long long ptr long) @ stub RtlAddActionToRXact @ stdcall RtlAddAtomToAtomTable(ptr wstr ptr) diff --git a/dlls/ntdll/sec.c b/dlls/ntdll/sec.c index d4739d5..3bc52ac 100644 --- a/dlls/ntdll/sec.c +++ b/dlls/ntdll/sec.c @@ -1304,6 +1304,23 @@ NTSTATUS WINAPI RtlAddAccessDeniedAceEx( AccessMask, pSid, ACCESS_DENIED_ACE_TYPE); }
+/****************************************************************************** + * RtlAddAccessDeniedObjectAce [NTDLL.@] + */ +NTSTATUS WINAPI RtlAddAccessDeniedObjectAce( + IN OUT PACL pAcl, + IN DWORD dwAceRevision, + IN DWORD dwAceFlags, + IN DWORD dwAccessMask, + IN GUID* pObjectTypeGuid, + IN GUID* pInheritedObjectTypeGuid, + IN PSID pSid) +{ + FIXME("%p %x %x %x %p %p %p - stub\n", pAcl, dwAceRevision, dwAceFlags, dwAccessMask, + pObjectTypeGuid, pInheritedObjectTypeGuid, pSid); + return STATUS_NOT_IMPLEMENTED; +} + /************************************************************************** * RtlAddAuditAccessAce [NTDLL.@] */ diff --git a/include/winternl.h b/include/winternl.h index 179a84a..e86faba 100644 --- a/include/winternl.h +++ b/include/winternl.h @@ -2346,6 +2346,7 @@ NTSYSAPI NTSTATUS WINAPI RtlAddAccessAllowedAceEx(PACL,DWORD,DWORD,DWORD,PSID); NTSYSAPI NTSTATUS WINAPI RtlAddAccessAllowedObjectAce(PACL,DWORD,DWORD,DWORD,GUID*,GUID*,PSID); NTSYSAPI NTSTATUS WINAPI RtlAddAccessDeniedAce(PACL,DWORD,DWORD,PSID); NTSYSAPI NTSTATUS WINAPI RtlAddAccessDeniedAceEx(PACL,DWORD,DWORD,DWORD,PSID); +NTSYSAPI NTSTATUS WINAPI RtlAddAccessDeniedObjectAce(PACL,DWORD,DWORD,DWORD,GUID*,GUID*,PSID); NTSYSAPI NTSTATUS WINAPI RtlAddAtomToAtomTable(RTL_ATOM_TABLE,const WCHAR*,RTL_ATOM*); NTSYSAPI NTSTATUS WINAPI RtlAddAuditAccessAce(PACL,DWORD,DWORD,PSID,BOOL,BOOL); NTSYSAPI NTSTATUS WINAPI RtlAddAuditAccessAceEx(PACL,DWORD,DWORD,DWORD,PSID,BOOL,BOOL);