diff --git a/patches/ntdll-NtSetInformationToken/0001-ntdll-Return-success-for-TokenSessionId-in-NtSetInfo.patch b/patches/ntdll-NtSetInformationToken/0001-ntdll-Return-success-for-TokenSessionId-in-NtSetInfo.patch new file mode 100644 index 00000000..75180b02 --- /dev/null +++ b/patches/ntdll-NtSetInformationToken/0001-ntdll-Return-success-for-TokenSessionId-in-NtSetInfo.patch @@ -0,0 +1,37 @@ +From de7c25e765a81c348ee0df60f9cb311cf5feeb18 Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Michael=20M=C3=BCller?= +Date: Fri, 13 Jan 2017 22:49:13 +0100 +Subject: ntdll: Return success for TokenSessionId in NtSetInformationToken. + +--- + dlls/ntdll/nt.c | 14 ++++++++++++++ + 1 file changed, 14 insertions(+) + +diff --git a/dlls/ntdll/nt.c b/dlls/ntdll/nt.c +index 7660ea8ce74..9347170a593 100644 +--- a/dlls/ntdll/nt.c ++++ b/dlls/ntdll/nt.c +@@ -602,6 +602,20 @@ NTSTATUS WINAPI NtSetInformationToken( + } + SERVER_END_REQ; + break; ++ case TokenSessionId: ++ if (TokenInformationLength < sizeof(DWORD)) ++ { ++ ret = STATUS_INFO_LENGTH_MISMATCH; ++ break; ++ } ++ if (!TokenInformation) ++ { ++ ret = STATUS_ACCESS_VIOLATION; ++ break; ++ } ++ FIXME("handling of TokenSessionId not implemented\n"); ++ ret = STATUS_SUCCESS; ++ break; + default: + FIXME("unimplemented class %u\n", TokenInformationClass); + break; +-- +2.11.0 + diff --git a/patches/ntdll-NtSetInformationToken/definition b/patches/ntdll-NtSetInformationToken/definition new file mode 100644 index 00000000..3a69e4a9 --- /dev/null +++ b/patches/ntdll-NtSetInformationToken/definition @@ -0,0 +1 @@ +Fixes: [32907] Return success for TokenSessionId in NtSetInformationToken diff --git a/patches/patchinstall.sh b/patches/patchinstall.sh index fac23d98..edb1ccda 100755 --- a/patches/patchinstall.sh +++ b/patches/patchinstall.sh @@ -232,6 +232,7 @@ patch_enable_all () enable_ntdll_NtAccessCheck="$1" enable_ntdll_NtQueryEaFile="$1" enable_ntdll_NtQuerySection="$1" + enable_ntdll_NtSetInformationToken="$1" enable_ntdll_NtSetLdtEntries="$1" enable_ntdll_Pipe_SpecialCharacters="$1" enable_ntdll_ProcessQuotaLimits="$1" @@ -893,6 +894,9 @@ patch_enable () ntdll-NtQuerySection) enable_ntdll_NtQuerySection="$2" ;; + ntdll-NtSetInformationToken) + enable_ntdll_NtSetInformationToken="$2" + ;; ntdll-NtSetLdtEntries) enable_ntdll_NtSetLdtEntries="$2" ;; @@ -5413,6 +5417,21 @@ if test "$enable_ntdll_NtQuerySection" -eq 1; then ) >> "$patchlist" fi +# Patchset ntdll-NtSetInformationToken +# | +# | This patchset fixes the following Wine bugs: +# | * [#32907] Return success for TokenSessionId in NtSetInformationToken +# | +# | Modified files: +# | * dlls/ntdll/nt.c +# | +if test "$enable_ntdll_NtSetInformationToken" -eq 1; then + patch_apply ntdll-NtSetInformationToken/0001-ntdll-Return-success-for-TokenSessionId-in-NtSetInfo.patch + ( + echo '+ { "Michael Müller", "ntdll: Return success for TokenSessionId in NtSetInformationToken.", 1 },'; + ) >> "$patchlist" +fi + # Patchset ntdll-NtSetLdtEntries # | # | Modified files: