Rebase against 279ac253e5aa7132ec4960af175115befcdfefd0

This commit is contained in:
Alistair Leslie-Hughes 2018-09-04 08:28:47 +10:00
parent 214a0fd7bd
commit 5a71716118
5 changed files with 7 additions and 109 deletions

View File

@ -1,7 +1,6 @@
Fixes: [40613] Basic implementation for token integrity levels and UAC handling
Fixes: [39262] Run explorer.exe as unevaluated process
Depends: advapi32-CreateRestrictedToken
Depends: kernel32-COMSPEC
Depends: server-CreateProcess_ACLs
Depends: server-Misc_ACL
Depends: Staging

View File

@ -1,63 +0,0 @@
From 9d6b3e42916fbbd52a3fe9920c329dbe3d20330b Mon Sep 17 00:00:00 2001
From: Qian Hong <qhong@codeweavers.com>
Date: Sun, 26 Jul 2015 17:55:01 +0800
Subject: [PATCH] kernel32: Fallback to default comspec when %COMSPEC% is not
set.
---
dlls/kernel32/process.c | 6 +++++-
programs/cmd/wcmdmain.c | 10 ++++++++++
2 files changed, 15 insertions(+), 1 deletion(-)
diff --git a/dlls/kernel32/process.c b/dlls/kernel32/process.c
index d9673d7..f568022 100644
--- a/dlls/kernel32/process.c
+++ b/dlls/kernel32/process.c
@@ -2325,6 +2325,7 @@ static BOOL create_cmd_process( LPCWSTR filename, LPWSTR cmd_line, LPVOID env, L
{
static const WCHAR comspecW[] = {'C','O','M','S','P','E','C',0};
+ static const WCHAR cmdW[] = {'\\','c','m','d','.','e','x','e',0};
static const WCHAR slashscW[] = {' ','/','s','/','c',' ',0};
static const WCHAR quotW[] = {'"',0};
WCHAR comspec[MAX_PATH];
@@ -2332,7 +2333,10 @@ static BOOL create_cmd_process( LPCWSTR filename, LPWSTR cmd_line, LPVOID env, L
BOOL ret;
if (!GetEnvironmentVariableW( comspecW, comspec, ARRAY_SIZE( comspec )))
- return FALSE;
+ {
+ GetSystemDirectoryW( comspec, (sizeof(comspec) - sizeof(cmdW))/sizeof(WCHAR) );
+ strcatW( comspec, cmdW );
+ }
if (!(newcmdline = HeapAlloc( GetProcessHeap(), 0,
(strlenW(comspec) + 7 + strlenW(cmd_line) + 2) * sizeof(WCHAR))))
return FALSE;
diff --git a/programs/cmd/wcmdmain.c b/programs/cmd/wcmdmain.c
index 8fe2d57..3573885 100644
--- a/programs/cmd/wcmdmain.c
+++ b/programs/cmd/wcmdmain.c
@@ -2348,10 +2348,20 @@ int wmain (int argc, WCHAR *argvW[])
static const WCHAR offW[] = {'O','F','F','\0'};
static const WCHAR promptW[] = {'P','R','O','M','P','T','\0'};
static const WCHAR defaultpromptW[] = {'$','P','$','G','\0'};
+ static const WCHAR comspecW[] = {'C','O','M','S','P','E','C',0};
+ static const WCHAR cmdW[] = {'\\','c','m','d','.','e','x','e',0};
+ WCHAR comspec[MAX_PATH];
CMD_LIST *toExecute = NULL; /* Commands left to be executed */
OSVERSIONINFOW osv;
char osver[50];
+ if (!GetEnvironmentVariableW(comspecW, comspec, sizeof(comspec)/sizeof(WCHAR)))
+ {
+ GetSystemDirectoryW(comspec, (sizeof(comspec) - sizeof(cmdW))/sizeof(WCHAR));
+ strcatW(comspec, cmdW);
+ SetEnvironmentVariableW(comspecW, comspec);
+ }
+
srand(time(NULL));
/* Get the windows version being emulated */
--
1.9.1

View File

@ -1 +0,0 @@
Fixes: [19801] Fallback to default comspec when %COMSPEC% is not set

View File

@ -52,7 +52,7 @@ usage()
# Get the upstream commit sha
upstream_commit()
{
echo "2346a4012aed5a150cd971ca1e929528722a4d12"
echo "279ac253e5aa7132ec4960af175115befcdfefd0"
}
# Show version information
@ -161,7 +161,6 @@ patch_enable_all ()
enable_inseng_Implementation="$1"
enable_iphlpapi_System_Ping="$1"
enable_iphlpapi_TCP_Table="$1"
enable_kernel32_COMSPEC="$1"
enable_kernel32_CopyFileEx="$1"
enable_kernel32_Cwd_Startup_Info="$1"
enable_kernel32_Debugger="$1"
@ -662,9 +661,6 @@ patch_enable ()
iphlpapi-TCP_Table)
enable_iphlpapi_TCP_Table="$2"
;;
kernel32-COMSPEC)
enable_kernel32_COMSPEC="$2"
;;
kernel32-CopyFileEx)
enable_kernel32_CopyFileEx="$2"
;;
@ -2304,9 +2300,6 @@ if test "$enable_advapi32_Token_Integrity_Level" -eq 1; then
if test "$enable_advapi32_CreateRestrictedToken" -gt 1; then
abort "Patchset advapi32-CreateRestrictedToken disabled, but advapi32-Token_Integrity_Level depends on that."
fi
if test "$enable_kernel32_COMSPEC" -gt 1; then
abort "Patchset kernel32-COMSPEC disabled, but advapi32-Token_Integrity_Level depends on that."
fi
if test "$enable_server_CreateProcess_ACLs" -gt 1; then
abort "Patchset server-CreateProcess_ACLs disabled, but advapi32-Token_Integrity_Level depends on that."
fi
@ -2315,7 +2308,6 @@ if test "$enable_advapi32_Token_Integrity_Level" -eq 1; then
fi
enable_Staging=1
enable_advapi32_CreateRestrictedToken=1
enable_kernel32_COMSPEC=1
enable_server_CreateProcess_ACLs=1
enable_server_Misc_ACL=1
fi
@ -2545,25 +2537,10 @@ if test "$enable_advapi32_SetSecurityInfo" -eq 1; then
) >> "$patchlist"
fi
# Patchset kernel32-COMSPEC
# |
# | This patchset fixes the following Wine bugs:
# | * [#19801] Fallback to default comspec when %COMSPEC% is not set
# |
# | Modified files:
# | * dlls/kernel32/process.c, programs/cmd/wcmdmain.c
# |
if test "$enable_kernel32_COMSPEC" -eq 1; then
patch_apply kernel32-COMSPEC/0001-kernel32-Fallback-to-default-comspec-when-COMSPEC-is.patch
(
printf '%s\n' '+ { "Qian Hong", "kernel32: Fallback to default comspec when %COMSPEC% is not set.", 1 },';
) >> "$patchlist"
fi
# Patchset advapi32-Token_Integrity_Level
# |
# | This patchset has the following (direct or indirect) dependencies:
# | * Staging, advapi32-CreateRestrictedToken, kernel32-COMSPEC, server-CreateProcess_ACLs, server-Misc_ACL
# | * Staging, advapi32-CreateRestrictedToken, server-CreateProcess_ACLs, server-Misc_ACL
# |
# | This patchset fixes the following Wine bugs:
# | * [#40613] Basic implementation for token integrity levels and UAC handling
@ -5095,8 +5072,7 @@ fi
# Patchset ntdll-LdrInitializeThunk
# |
# | This patchset has the following (direct or indirect) dependencies:
# | * Staging, advapi32-CreateRestrictedToken, kernel32-COMSPEC, server-CreateProcess_ACLs, server-Misc_ACL,
# | advapi32-Token_Integrity_Level
# | * Staging, advapi32-CreateRestrictedToken, server-CreateProcess_ACLs, server-Misc_ACL, advapi32-Token_Integrity_Level
# |
# | This patchset fixes the following Wine bugs:
# | * [#45570] League of Legends 8.12+ fails to start a game (anticheat engine, incorrect implementation of
@ -5315,8 +5291,8 @@ fi
# Patchset ntdll-RtlCreateUserThread
# |
# | This patchset has the following (direct or indirect) dependencies:
# | * Staging, advapi32-CreateRestrictedToken, kernel32-COMSPEC, server-CreateProcess_ACLs, server-Misc_ACL,
# | advapi32-Token_Integrity_Level, ntdll-LdrInitializeThunk
# | * Staging, advapi32-CreateRestrictedToken, server-CreateProcess_ACLs, server-Misc_ACL, advapi32-Token_Integrity_Level,
# | ntdll-LdrInitializeThunk
# |
# | This patchset fixes the following Wine bugs:
# | * [#45571] League of Legends 8.12+ fails to start a game (anticheat engine, hooking of NtCreateThread/Ex)

View File

@ -1,4 +1,4 @@
From 5395e054188dd53c54632e28ff6fd0d089e363a7 Mon Sep 17 00:00:00 2001
From 32348a62aff8d7611598f5635269b13e4d2b67de Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Michael=20M=C3=BCller?= <michael@fds-team.de>
Date: Thu, 8 Jun 2017 23:50:03 +0200
Subject: [PATCH] programs/winedevice: Load some common drivers and fix ldr
@ -6,9 +6,8 @@ Subject: [PATCH] programs/winedevice: Load some common drivers and fix ldr
---
dlls/ntoskrnl.exe/tests/driver.c | 52 ++++++++++++++++++++++++++++++++++++++++
include/ddk/ntddk.h | 1 +
programs/winedevice/device.c | 26 ++++++++++++++++++++
3 files changed, 79 insertions(+)
2 files changed, 78 insertions(+)
diff --git a/dlls/ntoskrnl.exe/tests/driver.c b/dlls/ntoskrnl.exe/tests/driver.c
index ab55b48..a104d95 100644
@ -101,18 +100,6 @@ index ab55b48..a104d95 100644
/* Allow unloading of the driver */
driver->DriverUnload = driver_Unload;
diff --git a/include/ddk/ntddk.h b/include/ddk/ntddk.h
index 5c124ca..e76ccc9 100644
--- a/include/ddk/ntddk.h
+++ b/include/ddk/ntddk.h
@@ -214,6 +214,7 @@ NTSTATUS WINAPI IoQueryDeviceDescription(PINTERFACE_TYPE,PULONG,PCONFIGURATION_
PCONFIGURATION_TYPE,PULONG,PIO_QUERY_DEVICE_ROUTINE,PVOID);
void WINAPI IoRegisterDriverReinitialization(PDRIVER_OBJECT,PDRIVER_REINITIALIZE,PVOID);
NTSTATUS WINAPI IoRegisterShutdownNotification(PDEVICE_OBJECT);
+BOOLEAN WINAPI MmIsAddressValid(void *);
NTSTATUS WINAPI PsSetLoadImageNotifyRoutine(PLOAD_IMAGE_NOTIFY_ROUTINE);
void WINAPI RtlInitializeGenericTableAvl(PRTL_AVL_TABLE,PRTL_AVL_COMPARE_ROUTINE,PRTL_AVL_ALLOCATE_ROUTINE, PRTL_AVL_FREE_ROUTINE,void *);
void WINAPI RtlInsertElementGenericTableAvl(PRTL_AVL_TABLE,void *,ULONG,BOOL*);
diff --git a/programs/winedevice/device.c b/programs/winedevice/device.c
index 201a041..33b332d 100644
--- a/programs/winedevice/device.c