From: Fabian Maurer dark.shadow4@web.de
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=56725 --- dlls/wow64/security.c | 13 +++++++++++++ dlls/wow64/struct32.h | 5 +++++ 2 files changed, 18 insertions(+)
diff --git a/dlls/wow64/security.c b/dlls/wow64/security.c index 1a3d98fccee..8b7af0445a2 100644 --- a/dlls/wow64/security.c +++ b/dlls/wow64/security.c @@ -521,6 +521,19 @@ NTSTATUS WINAPI wow64_NtSetInformationToken( UINT *args )
switch (class) { + case TokenIntegrityLevel: /* TOKEN_MANDATORY_LABEL */ + if (len >= sizeof(TOKEN_MANDATORY_LABEL32)) + { + TOKEN_MANDATORY_LABEL32 *label32 = ptr; + TOKEN_MANDATORY_LABEL label; + + label.Label.Attributes = label32->Label.Attributes; + label.Label.Sid = ULongToPtr( label32->Label.Sid ); + + return NtSetInformationToken( handle, class, &label, sizeof(label) ); + } + else return STATUS_INFO_LENGTH_MISMATCH; + case TokenSessionId: /* ULONG */ return NtSetInformationToken( handle, class, ptr, len );
diff --git a/dlls/wow64/struct32.h b/dlls/wow64/struct32.h index 87e219045f4..b196bdd53ca 100644 --- a/dlls/wow64/struct32.h +++ b/dlls/wow64/struct32.h @@ -367,6 +367,11 @@ typedef struct DWORD Attributes; } SID_AND_ATTRIBUTES32;
+typedef struct +{ + SID_AND_ATTRIBUTES32 Label; +} TOKEN_MANDATORY_LABEL32; + typedef struct { ULONG DefaultDacl;