Paul Vriens : advapi32/tests: Run on NT4 again.

Alexandre Julliard julliard at wine.codeweavers.com
Mon Jul 23 05:55:31 CDT 2007


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

Author: Paul Vriens <paul.vriens.wine at gmail.com>
Date:   Fri Jul 20 13:53:44 2007 +0200

advapi32/tests: Run on NT4 again.

---

 dlls/advapi32/tests/security.c |   46 +++++++++++++++++++++++++--------------
 1 files changed, 29 insertions(+), 17 deletions(-)

diff --git a/dlls/advapi32/tests/security.c b/dlls/advapi32/tests/security.c
index ce7b8f7..0a5722c 100644
--- a/dlls/advapi32/tests/security.c
+++ b/dlls/advapi32/tests/security.c
@@ -51,6 +51,8 @@ typedef VOID (WINAPI *fnBuildTrusteeWithObjectsAndSidA)( PTRUSTEEA pTrustee,
 typedef LPSTR (WINAPI *fnGetTrusteeNameA)( PTRUSTEEA pTrustee );
 typedef BOOL (WINAPI *fnConvertSidToStringSidA)( PSID pSid, LPSTR *str );
 typedef BOOL (WINAPI *fnConvertStringSidToSidA)( LPCSTR str, PSID pSid );
+static BOOL (WINAPI *pConvertStringSecurityDescriptorToSecurityDescriptorA)(LPCSTR, DWORD,
+                                                                            PSECURITY_DESCRIPTOR*, PULONG );
 typedef BOOL (WINAPI *fnGetFileSecurityA)(LPCSTR, SECURITY_INFORMATION,
                                           PSECURITY_DESCRIPTOR, DWORD, LPDWORD);
 typedef DWORD (WINAPI *fnRtlAdjustPrivilege)(ULONG,BOOLEAN,BOOLEAN,PBOOLEAN);
@@ -92,12 +94,16 @@ struct sidRef
 
 static void init(void)
 {
-    HMODULE hntdll = GetModuleHandleA("ntdll.dll");
+    HMODULE hntdll;
+
+    hntdll = GetModuleHandleA("ntdll.dll");
+    pNtQueryObject = (void *)GetProcAddress( hntdll, "NtQueryObject" );
 
     hmod = GetModuleHandle("advapi32.dll");
-    myARGC = winetest_get_mainargs( &myARGV );
+    pConvertStringSecurityDescriptorToSecurityDescriptorA =
+        (void *)GetProcAddress(hmod, "ConvertStringSecurityDescriptorToSecurityDescriptorA" );
 
-    pNtQueryObject = (void *)GetProcAddress( hntdll, "NtQueryObject" );
+    myARGC = winetest_get_mainargs( &myARGV );
 }
 
 static void test_str_sid(const char *str_sid)
@@ -1763,8 +1769,14 @@ static void test_ConvertStringSecurityDescriptor(void)
     BOOL ret;
     PSECURITY_DESCRIPTOR pSD;
 
+    if (!pConvertStringSecurityDescriptorToSecurityDescriptorA)
+    {
+        skip("ConvertStringSecurityDescriptorToSecurityDescriptor is not available\n");
+        return;
+    }
+
     SetLastError(0xdeadbeef);
-    ret = ConvertStringSecurityDescriptorToSecurityDescriptor(
+    ret = pConvertStringSecurityDescriptorToSecurityDescriptorA(
         "D:(A;;GA;;;WD)", 0xdeadbeef, &pSD, NULL);
     ok(!ret && GetLastError() == ERROR_UNKNOWN_REVISION,
         "ConvertStringSecurityDescriptorToSecurityDescriptor should have failed with ERROR_UNKNOWN_REVISION instead of %d\n",
@@ -1772,19 +1784,19 @@ static void test_ConvertStringSecurityDescriptor(void)
 
     /* test ACE string type */
     SetLastError(0xdeadbeef);
-    ret = ConvertStringSecurityDescriptorToSecurityDescriptor(
+    ret = pConvertStringSecurityDescriptorToSecurityDescriptorA(
         "D:(A;;GA;;;WD)", SDDL_REVISION_1, &pSD, NULL);
     ok(ret, "ConvertStringSecurityDescriptorToSecurityDescriptor failed with error %d\n", GetLastError());
     LocalFree(pSD);
 
     SetLastError(0xdeadbeef);
-    ret = ConvertStringSecurityDescriptorToSecurityDescriptor(
+    ret = pConvertStringSecurityDescriptorToSecurityDescriptorA(
         "D:(D;;GA;;;WD)", SDDL_REVISION_1, &pSD, NULL);
     ok(ret, "ConvertStringSecurityDescriptorToSecurityDescriptor failed with error %d\n", GetLastError());
     LocalFree(pSD);
 
     SetLastError(0xdeadbeef);
-    ret = ConvertStringSecurityDescriptorToSecurityDescriptor(
+    ret = pConvertStringSecurityDescriptorToSecurityDescriptorA(
         "ERROR:(D;;GA;;;WD)", SDDL_REVISION_1, &pSD, NULL);
     ok(!ret && GetLastError() == ERROR_INVALID_PARAMETER,
         "ConvertStringSecurityDescriptorToSecurityDescriptor should have failed with ERROR_INVALID_PARAMETER instead of %d\n",
@@ -1792,47 +1804,47 @@ static void test_ConvertStringSecurityDescriptor(void)
 
     /* test ACE string access rights */
     SetLastError(0xdeadbeef);
-    ret = ConvertStringSecurityDescriptorToSecurityDescriptor(
+    ret = pConvertStringSecurityDescriptorToSecurityDescriptorA(
         "D:(A;;GA;;;WD)", SDDL_REVISION_1, &pSD, NULL);
     ok(ret, "ConvertStringSecurityDescriptorToSecurityDescriptor failed with error %d\n", GetLastError());
     LocalFree(pSD);
     SetLastError(0xdeadbeef);
-    ret = ConvertStringSecurityDescriptorToSecurityDescriptor(
+    ret = pConvertStringSecurityDescriptorToSecurityDescriptorA(
         "D:(A;;GRGWGX;;;WD)", SDDL_REVISION_1, &pSD, NULL);
     ok(ret, "ConvertStringSecurityDescriptorToSecurityDescriptor failed with error %d\n", GetLastError());
     LocalFree(pSD);
     SetLastError(0xdeadbeef);
-    ret = ConvertStringSecurityDescriptorToSecurityDescriptor(
+    ret = pConvertStringSecurityDescriptorToSecurityDescriptorA(
         "D:(A;;RCSDWDWO;;;WD)", SDDL_REVISION_1, &pSD, NULL);
     ok(ret, "ConvertStringSecurityDescriptorToSecurityDescriptor failed with error %d\n", GetLastError());
     LocalFree(pSD);
     SetLastError(0xdeadbeef);
-    ret = ConvertStringSecurityDescriptorToSecurityDescriptor(
+    ret = pConvertStringSecurityDescriptorToSecurityDescriptorA(
         "D:(A;;RPWPCCDCLCSWLODTCR;;;WD)", SDDL_REVISION_1, &pSD, NULL);
     todo_wine
     ok(ret, "ConvertStringSecurityDescriptorToSecurityDescriptor failed with error %d\n", GetLastError());
     LocalFree(pSD);
     SetLastError(0xdeadbeef);
-    ret = ConvertStringSecurityDescriptorToSecurityDescriptor(
+    ret = pConvertStringSecurityDescriptorToSecurityDescriptorA(
         "D:(A;;FAFRFWFX;;;WD)", SDDL_REVISION_1, &pSD, NULL);
     todo_wine
     ok(ret, "ConvertStringSecurityDescriptorToSecurityDescriptor failed with error %d\n", GetLastError());
     LocalFree(pSD);
     SetLastError(0xdeadbeef);
-    ret = ConvertStringSecurityDescriptorToSecurityDescriptor(
+    ret = pConvertStringSecurityDescriptorToSecurityDescriptorA(
         "D:(A;;KAKRKWKX;;;WD)", SDDL_REVISION_1, &pSD, NULL);
     todo_wine
     ok(ret, "ConvertStringSecurityDescriptorToSecurityDescriptor failed with error %d\n", GetLastError());
     LocalFree(pSD);
     SetLastError(0xdeadbeef);
-    ret = ConvertStringSecurityDescriptorToSecurityDescriptor(
+    ret = pConvertStringSecurityDescriptorToSecurityDescriptorA(
         "D:(A;;0xFFFFFFFF;;;WD)", SDDL_REVISION_1, &pSD, NULL);
     ok(ret, "ConvertStringSecurityDescriptorToSecurityDescriptor failed with error %d\n", GetLastError());
     LocalFree(pSD);
 
     /* test ACE string access right error case */
     SetLastError(0xdeadbeef);
-    ret = ConvertStringSecurityDescriptorToSecurityDescriptor(
+    ret = pConvertStringSecurityDescriptorToSecurityDescriptorA(
         "D:(A;;ROB;;;WD)", SDDL_REVISION_1, &pSD, NULL);
     todo_wine
     ok(!ret && GetLastError() == ERROR_INVALID_ACL,
@@ -1841,13 +1853,13 @@ static void test_ConvertStringSecurityDescriptor(void)
 
     /* test ACE string SID */
     SetLastError(0xdeadbeef);
-    ret = ConvertStringSecurityDescriptorToSecurityDescriptor(
+    ret = pConvertStringSecurityDescriptorToSecurityDescriptorA(
         "D:(D;;GA;;;S-1-0-0)", SDDL_REVISION_1, &pSD, NULL);
     ok(ret, "ConvertStringSecurityDescriptorToSecurityDescriptor failed with error %d\n", GetLastError());
     LocalFree(pSD);
 
     SetLastError(0xdeadbeef);
-    ret = ConvertStringSecurityDescriptorToSecurityDescriptor(
+    ret = pConvertStringSecurityDescriptorToSecurityDescriptorA(
         "D:(D;;GA;;;Non existant account)", SDDL_REVISION_1, &pSD, NULL);
     todo_wine
     ok(!ret && GetLastError() == ERROR_INVALID_ACL,




More information about the wine-cvs mailing list