Rob Shearman : ntdll:
The impersonation level in NtDuplicateToken should be taken from the
SecurityQualityOfService member of ObjectAttributes if present .
Alexandre Julliard
julliard at wine.codeweavers.com
Fri Jul 13 08:30:10 CDT 2007
Module: wine
Branch: master
Commit: 1cd222b451627e2a3dab50c91eac52994a103428
URL: http://source.winehq.org/git/wine.git/?a=commit;h=1cd222b451627e2a3dab50c91eac52994a103428
Author: Rob Shearman <rob at codeweavers.com>
Date: Thu Jul 12 15:32:00 2007 +0100
ntdll: The impersonation level in NtDuplicateToken should be taken from the SecurityQualityOfService member of ObjectAttributes if present.
---
dlls/ntdll/nt.c | 10 ++++++++++
1 files changed, 10 insertions(+), 0 deletions(-)
diff --git a/dlls/ntdll/nt.c b/dlls/ntdll/nt.c
index a303dcf..27a18ef 100644
--- a/dlls/ntdll/nt.c
+++ b/dlls/ntdll/nt.c
@@ -61,6 +61,16 @@ NTSTATUS WINAPI NtDuplicateToken(
ImpersonationLevel, TokenType, NewToken);
dump_ObjectAttributes(ObjectAttributes);
+ if (ObjectAttributes && ObjectAttributes->SecurityQualityOfService)
+ {
+ SECURITY_QUALITY_OF_SERVICE *SecurityQOS = ObjectAttributes->SecurityQualityOfService;
+ TRACE("ObjectAttributes->SecurityQualityOfService = {%d, %d, %d, %s}\n",
+ SecurityQOS->Length, SecurityQOS->ImpersonationLevel,
+ SecurityQOS->ContextTrackingMode,
+ SecurityQOS->EffectiveOnly ? "TRUE" : "FALSE");
+ ImpersonationLevel = SecurityQOS->ImpersonationLevel;
+ }
+
SERVER_START_REQ( duplicate_token )
{
req->handle = ExistingToken;
More information about the wine-cvs
mailing list