ntdll: The impersonation level in NtDuplicateToken should be taken from the SecurityQualityOfService member of ObjectAttributes if present.

This commit is contained in:
Rob Shearman 2007-07-12 15:32:00 +01:00 committed by Alexandre Julliard
parent 4397e99585
commit 1cd222b451
1 changed files with 10 additions and 0 deletions

View File

@ -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;