[PATCH 0/1] MR11288: secur32: Return impersonation token from lsa_QuerySecurityContextToken.
From: Piotr Caban <piotr@codeweavers.com> --- dlls/secur32/lsa.c | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/dlls/secur32/lsa.c b/dlls/secur32/lsa.c index 28390a993e4..7bf5f004317 100644 --- a/dlls/secur32/lsa.c +++ b/dlls/secur32/lsa.c @@ -771,10 +771,16 @@ static SECURITY_STATUS WINAPI lsa_VerifySignature(CtxtHandle *context, SecBuffer static SECURITY_STATUS WINAPI lsa_QuerySecurityContextToken(CtxtHandle *context, HANDLE *token) { + HANDLE primary; + BOOL r; + FIXME("%p %p): stub\n", context, token); - if (!OpenProcessToken(GetCurrentProcess(), MAXIMUM_ALLOWED, token)) + + if (!OpenProcessToken(GetCurrentProcess(), MAXIMUM_ALLOWED, &primary)) return GetLastError(); - return SEC_E_OK; + r = DuplicateToken(primary, SecurityImpersonation, token); + CloseHandle(primary); + return r ? SEC_E_OK : GetLastError(); } static SECURITY_STATUS WINAPI lsa_EncryptMessage(CtxtHandle *context, ULONG quality_of_protection, -- GitLab https://gitlab.winehq.org/wine/wine/-/merge_requests/11288
participants (2)
-
Piotr Caban -
Piotr Caban (@piotr)