From 2252d516b013feae668d3e523e2a2f127133daef Mon Sep 17 00:00:00 2001 From: Amine Khaldi Date: Fri, 24 Oct 2014 17:51:40 +0000 Subject: [PATCH] [ADVAPI32] * Move some functions from ac.c to security.c. CORE-8540 svn path=/trunk/; revision=64968 --- reactos/dll/win32/advapi32/sec/ac.c | 345 --------------------- reactos/dll/win32/advapi32/wine/security.c | 328 ++++++++++++++++++++ 2 files changed, 328 insertions(+), 345 deletions(-) diff --git a/reactos/dll/win32/advapi32/sec/ac.c b/reactos/dll/win32/advapi32/sec/ac.c index 65b22c26c17..3299d2fc93c 100644 --- a/reactos/dll/win32/advapi32/sec/ac.c +++ b/reactos/dll/win32/advapi32/sec/ac.c @@ -8,150 +8,8 @@ #include WINE_DEFAULT_DEBUG_CHANNEL(advapi); -/* --- ACL --- */ - -/* - * @implemented - */ -BOOL -WINAPI -GetAclInformation(PACL pAcl, - LPVOID pAclInformation, - DWORD nAclInformationLength, - ACL_INFORMATION_CLASS dwAclInformationClass) -{ - NTSTATUS Status; - - Status = RtlQueryInformationAcl(pAcl, - pAclInformation, - nAclInformationLength, - dwAclInformationClass); - if (!NT_SUCCESS(Status)) - { - SetLastError(RtlNtStatusToDosError(Status)); - return FALSE; - } - - return TRUE; -} - - -/* - * @implemented - */ -BOOL -WINAPI -InitializeAcl(PACL pAcl, - DWORD nAclLength, - DWORD dwAclRevision) -{ - NTSTATUS Status; - - Status = RtlCreateAcl(pAcl, - nAclLength, - dwAclRevision); - if (!NT_SUCCESS(Status)) - { - SetLastError(RtlNtStatusToDosError(Status)); - return FALSE; - } - - return TRUE; -} - - -/* - * @implemented - */ -BOOL -WINAPI -IsValidAcl(PACL pAcl) -{ - return RtlValidAcl (pAcl); -} - - -/* - * @implemented - */ -BOOL -WINAPI -SetAclInformation(PACL pAcl, - LPVOID pAclInformation, - DWORD nAclInformationLength, - ACL_INFORMATION_CLASS dwAclInformationClass) -{ - NTSTATUS Status; - - Status = RtlSetInformationAcl(pAcl, - pAclInformation, - nAclInformationLength, - dwAclInformationClass); - if (!NT_SUCCESS(Status)) - { - SetLastError(RtlNtStatusToDosError(Status)); - return FALSE; - } - - return TRUE; -} - - /* --- ACE --- */ -/* - * @implemented - */ -BOOL -WINAPI -AddAccessAllowedAce(PACL pAcl, - DWORD dwAceRevision, - DWORD AccessMask, - PSID pSid) -{ - NTSTATUS Status; - - Status = RtlAddAccessAllowedAce(pAcl, - dwAceRevision, - AccessMask, - pSid); - if (!NT_SUCCESS(Status)) - { - SetLastError(RtlNtStatusToDosError(Status)); - return FALSE; - } - - return TRUE; -} - - -/* - * @implemented - */ -BOOL WINAPI -AddAccessAllowedAceEx(PACL pAcl, - DWORD dwAceRevision, - DWORD AceFlags, - DWORD AccessMask, - PSID pSid) -{ - NTSTATUS Status; - - Status = RtlAddAccessAllowedAceEx(pAcl, - dwAceRevision, - AceFlags, - AccessMask, - pSid); - if (!NT_SUCCESS(Status)) - { - SetLastError(RtlNtStatusToDosError(Status)); - return FALSE; - } - - return TRUE; -} - - /* * @implemented */ @@ -183,60 +41,6 @@ AddAccessAllowedObjectAce(PACL pAcl, return TRUE; } - -/* - * @implemented - */ -BOOL -WINAPI -AddAccessDeniedAce(PACL pAcl, - DWORD dwAceRevision, - DWORD AccessMask, - PSID pSid) -{ - NTSTATUS Status; - - Status = RtlAddAccessDeniedAce(pAcl, - dwAceRevision, - AccessMask, - pSid); - if (!NT_SUCCESS(Status)) - { - SetLastError(RtlNtStatusToDosError(Status)); - return FALSE; - } - - return TRUE; -} - - -/* - * @implemented - */ -BOOL WINAPI -AddAccessDeniedAceEx(PACL pAcl, - DWORD dwAceRevision, - DWORD AceFlags, - DWORD AccessMask, - PSID pSid) -{ - NTSTATUS Status; - - Status = RtlAddAccessDeniedAceEx(pAcl, - dwAceRevision, - AceFlags, - AccessMask, - pSid); - if (!NT_SUCCESS(Status)) - { - SetLastError(RtlNtStatusToDosError(Status)); - return FALSE; - } - - return TRUE; -} - - /* * @implemented */ @@ -268,96 +72,6 @@ AddAccessDeniedObjectAce(PACL pAcl, return TRUE; } - -/* - * @implemented - */ -BOOL -WINAPI -AddAce(PACL pAcl, - DWORD dwAceRevision, - DWORD dwStartingAceIndex, - LPVOID pAceList, - DWORD nAceListLength) -{ - NTSTATUS Status; - - Status = RtlAddAce(pAcl, - dwAceRevision, - dwStartingAceIndex, - pAceList, - nAceListLength); - if (!NT_SUCCESS(Status)) - { - SetLastError(RtlNtStatusToDosError(Status)); - return FALSE; - } - - return TRUE; -} - - -/* - * @implemented - */ -BOOL -WINAPI -AddAuditAccessAce(PACL pAcl, - DWORD dwAceRevision, - DWORD dwAccessMask, - PSID pSid, - BOOL bAuditSuccess, - BOOL bAuditFailure) -{ - NTSTATUS Status; - - Status = RtlAddAuditAccessAce(pAcl, - dwAceRevision, - dwAccessMask, - pSid, - bAuditSuccess, - bAuditFailure); - if (!NT_SUCCESS(Status)) - { - SetLastError(RtlNtStatusToDosError(Status)); - return FALSE; - } - - return TRUE; -} - - -/* - * @implemented - */ -BOOL WINAPI -AddAuditAccessAceEx(PACL pAcl, - DWORD dwAceRevision, - DWORD AceFlags, - DWORD dwAccessMask, - PSID pSid, - BOOL bAuditSuccess, - BOOL bAuditFailure) -{ - NTSTATUS Status; - - Status = RtlAddAuditAccessAceEx(pAcl, - dwAceRevision, - AceFlags, - dwAccessMask, - pSid, - bAuditSuccess, - bAuditFailure); - if (!NT_SUCCESS(Status)) - { - SetLastError(RtlNtStatusToDosError(Status)); - return FALSE; - } - - return TRUE; -} - - /* * @implemented */ @@ -393,65 +107,6 @@ AddAuditAccessObjectAce(PACL pAcl, return TRUE; } -/* - * @implemented - */ -BOOL -WINAPI -DeleteAce(PACL pAcl, - DWORD dwAceIndex) -{ - NTSTATUS Status; - - Status = RtlDeleteAce(pAcl, - dwAceIndex); - if (!NT_SUCCESS(Status)) - { - SetLastError(RtlNtStatusToDosError(Status)); - return FALSE; - } - - return TRUE; -} - - -/* - * @implemented - */ -BOOL -WINAPI -FindFirstFreeAce(PACL pAcl, - LPVOID *pAce) -{ - return RtlFirstFreeAce(pAcl, - (PACE*)pAce); -} - - -/* - * @implemented - */ -BOOL -WINAPI -GetAce(PACL pAcl, - DWORD dwAceIndex, - LPVOID *pAce) -{ - NTSTATUS Status; - - Status = RtlGetAce(pAcl, - dwAceIndex, - pAce); - if (!NT_SUCCESS(Status)) - { - SetLastError(RtlNtStatusToDosError(Status)); - return FALSE; - } - - return TRUE; -} - - /* * @implemented */ diff --git a/reactos/dll/win32/advapi32/wine/security.c b/reactos/dll/win32/advapi32/wine/security.c index 00884176078..b6824c06301 100644 --- a/reactos/dll/win32/advapi32/wine/security.c +++ b/reactos/dll/win32/advapi32/wine/security.c @@ -799,6 +799,250 @@ GetLengthSid(PSID pSid) return (DWORD)RtlLengthSid(pSid); } +/* + * @implemented + */ +BOOL +WINAPI +InitializeAcl(PACL pAcl, + DWORD nAclLength, + DWORD dwAclRevision) +{ + NTSTATUS Status; + + Status = RtlCreateAcl(pAcl, + nAclLength, + dwAclRevision); + if (!NT_SUCCESS(Status)) + { + SetLastError(RtlNtStatusToDosError(Status)); + return FALSE; + } + + return TRUE; +} + +/* + * @implemented + */ +BOOL +WINAPI +AddAccessAllowedAce(PACL pAcl, + DWORD dwAceRevision, + DWORD AccessMask, + PSID pSid) +{ + NTSTATUS Status; + + Status = RtlAddAccessAllowedAce(pAcl, + dwAceRevision, + AccessMask, + pSid); + if (!NT_SUCCESS(Status)) + { + SetLastError(RtlNtStatusToDosError(Status)); + return FALSE; + } + + return TRUE; +} + +/* + * @implemented + */ +BOOL WINAPI +AddAccessAllowedAceEx(PACL pAcl, + DWORD dwAceRevision, + DWORD AceFlags, + DWORD AccessMask, + PSID pSid) +{ + NTSTATUS Status; + + Status = RtlAddAccessAllowedAceEx(pAcl, + dwAceRevision, + AceFlags, + AccessMask, + pSid); + if (!NT_SUCCESS(Status)) + { + SetLastError(RtlNtStatusToDosError(Status)); + return FALSE; + } + + return TRUE; +} + +/* + * @implemented + */ +BOOL +WINAPI +AddAccessDeniedAce(PACL pAcl, + DWORD dwAceRevision, + DWORD AccessMask, + PSID pSid) +{ + NTSTATUS Status; + + Status = RtlAddAccessDeniedAce(pAcl, + dwAceRevision, + AccessMask, + pSid); + if (!NT_SUCCESS(Status)) + { + SetLastError(RtlNtStatusToDosError(Status)); + return FALSE; + } + + return TRUE; +} + +/* + * @implemented + */ +BOOL WINAPI +AddAccessDeniedAceEx(PACL pAcl, + DWORD dwAceRevision, + DWORD AceFlags, + DWORD AccessMask, + PSID pSid) +{ + NTSTATUS Status; + + Status = RtlAddAccessDeniedAceEx(pAcl, + dwAceRevision, + AceFlags, + AccessMask, + pSid); + if (!NT_SUCCESS(Status)) + { + SetLastError(RtlNtStatusToDosError(Status)); + return FALSE; + } + + return TRUE; +} + +/* + * @implemented + */ +BOOL +WINAPI +AddAce(PACL pAcl, + DWORD dwAceRevision, + DWORD dwStartingAceIndex, + LPVOID pAceList, + DWORD nAceListLength) +{ + NTSTATUS Status; + + Status = RtlAddAce(pAcl, + dwAceRevision, + dwStartingAceIndex, + pAceList, + nAceListLength); + if (!NT_SUCCESS(Status)) + { + SetLastError(RtlNtStatusToDosError(Status)); + return FALSE; + } + + return TRUE; +} + +/* + * @implemented + */ +BOOL +WINAPI +DeleteAce(PACL pAcl, + DWORD dwAceIndex) +{ + NTSTATUS Status; + + Status = RtlDeleteAce(pAcl, + dwAceIndex); + if (!NT_SUCCESS(Status)) + { + SetLastError(RtlNtStatusToDosError(Status)); + return FALSE; + } + + return TRUE; +} + +/* + * @implemented + */ +BOOL +WINAPI +FindFirstFreeAce(PACL pAcl, + LPVOID *pAce) +{ + return RtlFirstFreeAce(pAcl, + (PACE*)pAce); +} + + +/* + * @implemented + */ +BOOL +WINAPI +GetAce(PACL pAcl, + DWORD dwAceIndex, + LPVOID *pAce) +{ + NTSTATUS Status; + + Status = RtlGetAce(pAcl, + dwAceIndex, + pAce); + if (!NT_SUCCESS(Status)) + { + SetLastError(RtlNtStatusToDosError(Status)); + return FALSE; + } + + return TRUE; +} + +/* + * @implemented + */ +BOOL +WINAPI +GetAclInformation(PACL pAcl, + LPVOID pAclInformation, + DWORD nAclInformationLength, + ACL_INFORMATION_CLASS dwAclInformationClass) +{ + NTSTATUS Status; + + Status = RtlQueryInformationAcl(pAcl, + pAclInformation, + nAclInformationLength, + dwAclInformationClass); + if (!NT_SUCCESS(Status)) + { + SetLastError(RtlNtStatusToDosError(Status)); + return FALSE; + } + + return TRUE; +} + +/* + * @implemented + */ +BOOL +WINAPI +IsValidAcl(PACL pAcl) +{ + return RtlValidAcl (pAcl); +} + /* * @implemented */ @@ -892,6 +1136,65 @@ BOOL WINAPI AccessCheckByType( return !*AccessStatus; } +/* + * @implemented + */ +BOOL +WINAPI +AddAuditAccessAce(PACL pAcl, + DWORD dwAceRevision, + DWORD dwAccessMask, + PSID pSid, + BOOL bAuditSuccess, + BOOL bAuditFailure) +{ + NTSTATUS Status; + + Status = RtlAddAuditAccessAce(pAcl, + dwAceRevision, + dwAccessMask, + pSid, + bAuditSuccess, + bAuditFailure); + if (!NT_SUCCESS(Status)) + { + SetLastError(RtlNtStatusToDosError(Status)); + return FALSE; + } + + return TRUE; +} + +/* + * @implemented + */ +BOOL WINAPI +AddAuditAccessAceEx(PACL pAcl, + DWORD dwAceRevision, + DWORD AceFlags, + DWORD dwAccessMask, + PSID pSid, + BOOL bAuditSuccess, + BOOL bAuditFailure) +{ + NTSTATUS Status; + + Status = RtlAddAuditAccessAceEx(pAcl, + dwAceRevision, + AceFlags, + dwAccessMask, + pSid, + bAuditSuccess, + bAuditFailure); + if (!NT_SUCCESS(Status)) + { + SetLastError(RtlNtStatusToDosError(Status)); + return FALSE; + } + + return TRUE; +} + /********************************************************************** * PrivilegeCheck EXPORTED * @@ -919,6 +1222,31 @@ PrivilegeCheck(HANDLE ClientToken, return TRUE; } +/* + * @implemented + */ +BOOL +WINAPI +SetAclInformation(PACL pAcl, + LPVOID pAclInformation, + DWORD nAclInformationLength, + ACL_INFORMATION_CLASS dwAclInformationClass) +{ + NTSTATUS Status; + + Status = RtlSetInformationAcl(pAcl, + pAclInformation, + nAclInformationLength, + dwAclInformationClass); + if (!NT_SUCCESS(Status)) + { + SetLastError(RtlNtStatusToDosError(Status)); + return FALSE; + } + + return TRUE; +} + /****************************************************************************** * ParseAclStringFlags */