Dmitry Timoshkov : ntdll: Implement RtlValidRelativeSecurityDescriptor.

Alexandre Julliard julliard at wine.codeweavers.com
Mon Oct 12 09:51:13 CDT 2015


Module: wine
Branch: master
Commit: af6610844669df27b10ef2611a1ef712f349ac7e
URL:    http://source.winehq.org/git/wine.git/?a=commit;h=af6610844669df27b10ef2611a1ef712f349ac7e

Author: Dmitry Timoshkov <dmitry at baikal.ru>
Date:   Mon Oct 12 11:21:30 2015 +0800

ntdll: Implement RtlValidRelativeSecurityDescriptor.

Signed-off-by: Dmitry Timoshkov <dmitry at baikal.ru>
Signed-off-by: Alexandre Julliard <julliard at winehq.org>

---

 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 40d3df5..38422ae 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 360a579..125c86e 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 58ad879..1957a9a 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 61b144a..5420391 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);




More information about the wine-cvs mailing list