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