Alistair Leslie-Hughes : advapi32/tests: Added GetTokenInformation TokenLogonSid test.
Alexandre Julliard
julliard at winehq.org
Thu Sep 28 18:36:35 CDT 2017
Module: wine
Branch: master
Commit: 2ae0574d8eac19db501a79ce2597f2fe30a770bd
URL: http://source.winehq.org/git/wine.git/?a=commit;h=2ae0574d8eac19db501a79ce2597f2fe30a770bd
Author: Alistair Leslie-Hughes <leslie_alistair at hotmail.com>
Date: Thu Sep 28 05:48:22 2017 +0000
advapi32/tests: Added GetTokenInformation TokenLogonSid test.
Signed-off-by: Alistair Leslie-Hughes <leslie_alistair at hotmail.com>
Signed-off-by: Alexandre Julliard <julliard at winehq.org>
---
dlls/advapi32/tests/security.c | 30 ++++++++++++++++++++++++++++++
1 file changed, 30 insertions(+)
diff --git a/dlls/advapi32/tests/security.c b/dlls/advapi32/tests/security.c
index 4121908..d41e42e 100644
--- a/dlls/advapi32/tests/security.c
+++ b/dlls/advapi32/tests/security.c
@@ -1835,6 +1835,36 @@ static void test_token_attr(void)
LocalFree(SidString);
HeapFree(GetProcessHeap(), 0, User);
+ /* logon */
+ ret = GetTokenInformation(Token, TokenLogonSid, NULL, 0, &Size);
+ if (!ret && (GetLastError() == ERROR_INVALID_PARAMETER))
+ todo_wine win_skip("TokenLogonSid not supported. Skipping tests\n");
+ else
+ {
+ todo_wine ok(!ret && (GetLastError() == ERROR_INSUFFICIENT_BUFFER),
+ "GetTokenInformation(TokenLogonSid) failed with error %d\n", GetLastError());
+ Groups = HeapAlloc(GetProcessHeap(), 0, Size);
+ ret = GetTokenInformation(Token, TokenLogonSid, Groups, Size, &Size);
+ todo_wine ok(ret,
+ "GetTokenInformation(TokenLogonSid) failed with error %d\n", GetLastError());
+ if (ret)
+ {
+ ok(Groups->GroupCount == 1, "got %d\n", Groups->GroupCount);
+ if(Groups->GroupCount == 1)
+ {
+ ConvertSidToStringSidA(Groups->Groups[0].Sid, &SidString);
+ trace("TokenLogon: %s\n", SidString);
+ LocalFree(SidString);
+
+ /* S-1-5-5-0-XXXXXX */
+ ret = IsWellKnownSid(Groups->Groups[0].Sid, WinLogonIdsSid);
+ ok(ret, "Unknown SID\n");
+ }
+ }
+
+ HeapFree(GetProcessHeap(), 0, Groups);
+ }
+
/* privileges */
ret = GetTokenInformation(Token, TokenPrivileges, NULL, 0, &Size);
ok(!ret && (GetLastError() == ERROR_INSUFFICIENT_BUFFER),
More information about the wine-cvs
mailing list