Module: wine Branch: master Commit: 2ae0574d8eac19db501a79ce2597f2fe30a770bd URL: http://source.winehq.org/git/wine.git/?a=commit;h=2ae0574d8eac19db501a79ce25...
Author: Alistair Leslie-Hughes leslie_alistair@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@hotmail.com Signed-off-by: Alexandre Julliard julliard@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),