From 9acaadea3f244569ba28ded2c7e1fa880f0d6ea6 Mon Sep 17 00:00:00 2001 From: Mike McCormack <mike@codeweavers.com> Date: Tue, 30 Dec 2003 19:17:05 +0000 Subject: [PATCH] Return an SID when GetTokenInformation is called with class TokenOwner. --- dlls/ntdll/nt.c | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) diff --git a/dlls/ntdll/nt.c b/dlls/ntdll/nt.c index 5c2ed555fc7..f70fbdde151 100644 --- a/dlls/ntdll/nt.c +++ b/dlls/ntdll/nt.c @@ -201,7 +201,7 @@ NTSTATUS WINAPI NtQueryInformationToken( len = sizeof(TOKEN_PRIVILEGES); break; case TokenOwner: - len = sizeof(TOKEN_OWNER); + len = sizeof(TOKEN_OWNER) + sizeof(SID); break; case TokenPrimaryGroup: len = sizeof(TOKEN_PRIMARY_GROUP); @@ -264,6 +264,17 @@ NTSTATUS WINAPI NtQueryInformationToken( tpriv->PrivilegeCount = 1; } break; + case TokenOwner: + if (tokeninfo) + { + TOKEN_OWNER *owner = tokeninfo; + PSID sid = (PSID) (owner + 1); + SID_IDENTIFIER_AUTHORITY localSidAuthority = {SECURITY_NT_AUTHORITY}; + RtlInitializeSid(sid, &localSidAuthority, 1); + *(RtlSubAuthoritySid(sid, 0)) = SECURITY_INTERACTIVE_RID; + owner->Owner = sid; + } + break; } return 0; } -- GitLab