From af6610844669df27b10ef2611a1ef712f349ac7e Mon Sep 17 00:00:00 2001 From: Dmitry Timoshkov Date: Mon, 12 Oct 2015 11:21:30 +0800 Subject: [PATCH] ntdll: Implement RtlValidRelativeSecurityDescriptor. Signed-off-by: Dmitry Timoshkov Signed-off-by: Alexandre Julliard --- dlls/ntdll/ntdll.spec | 2 +- dlls/ntdll/sec.c | 10 ++++++++++ dlls/ntoskrnl.exe/ntoskrnl.exe.spec | 2 +- include/winternl.h | 1 + 4 files changed, 13 insertions(+), 2 deletions(-) diff --git a/dlls/ntdll/ntdll.spec b/dlls/ntdll/ntdll.spec index 40d3df52569..38422ae39a8 100644 --- a/dlls/ntdll/ntdll.spec +++ b/dlls/ntdll/ntdll.spec @@ -939,7 +939,7 @@ @ stub RtlUsageHeap @ cdecl -i386 -norelay RtlUshortByteSwap() NTDLL_RtlUshortByteSwap @ stdcall RtlValidAcl(ptr) -# @ stub RtlValidRelativeSecurityDescriptor +@ stdcall RtlValidRelativeSecurityDescriptor(ptr long long) @ stdcall RtlValidSecurityDescriptor(ptr) @ stdcall RtlValidSid(ptr) @ stdcall RtlValidateHeap(long long ptr) diff --git a/dlls/ntdll/sec.c b/dlls/ntdll/sec.c index 360a579ceb9..125c86eb86a 100644 --- a/dlls/ntdll/sec.c +++ b/dlls/ntdll/sec.c @@ -558,6 +558,16 @@ NTSTATUS WINAPI RtlValidSecurityDescriptor( } /************************************************************************** + * RtlValidRelativeSecurityDescriptor [NTDLL.@] + */ +BOOLEAN WINAPI RtlValidRelativeSecurityDescriptor(PSECURITY_DESCRIPTOR descriptor, + ULONG length, SECURITY_INFORMATION info) +{ + FIXME("%p,%u,%d: semi-stub\n", descriptor, length, info); + return RtlValidSecurityDescriptor(descriptor) == STATUS_SUCCESS; +} + +/************************************************************************** * RtlLengthSecurityDescriptor [NTDLL.@] */ ULONG WINAPI RtlLengthSecurityDescriptor( diff --git a/dlls/ntoskrnl.exe/ntoskrnl.exe.spec b/dlls/ntoskrnl.exe/ntoskrnl.exe.spec index 58ad8790ed0..1957a9a137d 100644 --- a/dlls/ntoskrnl.exe/ntoskrnl.exe.spec +++ b/dlls/ntoskrnl.exe/ntoskrnl.exe.spec @@ -1191,7 +1191,7 @@ @ stdcall RtlUpcaseUnicodeToOemN(ptr long ptr ptr long) ntdll.RtlUpcaseUnicodeToOemN @ stdcall RtlUpperChar(long) ntdll.RtlUpperChar @ stdcall RtlUpperString(ptr ptr) ntdll.RtlUpperString -@ stub RtlValidRelativeSecurityDescriptor +@ stdcall RtlValidRelativeSecurityDescriptor(ptr long long) ntdll.RtlValidRelativeSecurityDescriptor @ stdcall RtlValidSecurityDescriptor(ptr) ntdll.RtlValidSecurityDescriptor @ stdcall RtlValidSid(ptr) ntdll.RtlValidSid @ stdcall RtlVerifyVersionInfo(ptr long int64) ntdll.RtlVerifyVersionInfo diff --git a/include/winternl.h b/include/winternl.h index 61b144a9964..54203913674 100644 --- a/include/winternl.h +++ b/include/winternl.h @@ -2603,6 +2603,7 @@ NTSYSAPI NTSTATUS WINAPI RtlUpdateTimer(HANDLE, HANDLE, DWORD, DWORD); NTSYSAPI CHAR WINAPI RtlUpperChar(CHAR); NTSYSAPI void WINAPI RtlUpperString(STRING *,const STRING *); NTSYSAPI NTSTATUS WINAPI RtlValidSecurityDescriptor(PSECURITY_DESCRIPTOR); +NTSYSAPI BOOLEAN WINAPI RtlValidRelativeSecurityDescriptor(PSECURITY_DESCRIPTOR,ULONG,SECURITY_INFORMATION); NTSYSAPI BOOLEAN WINAPI RtlValidAcl(PACL); NTSYSAPI BOOLEAN WINAPI RtlValidSid(PSID); NTSYSAPI BOOLEAN WINAPI RtlValidateHeap(HANDLE,ULONG,LPCVOID); -- 2.11.4.GIT