diff --git a/patches/patchinstall.sh b/patches/patchinstall.sh index a330dd85..e7d32c0e 100755 --- a/patches/patchinstall.sh +++ b/patches/patchinstall.sh @@ -51,7 +51,7 @@ usage() # Get the upstream commit sha upstream_commit() { - echo "fec0b697c74a8e016b41968b342f9fc9fe11bf74" + echo "adde9fadebe07c30ecc9f12685751fb78b3473c5" } # Show version information @@ -271,7 +271,6 @@ patch_enable_all () enable_rpcrt4_Pipe_Transport="$1" enable_rpcrt4_RpcBindingServerFromClient="$1" enable_secur32_Zero_Buffer_Length="$1" - enable_server_BaseNamedObjects="$1" enable_server_ClipCursor="$1" enable_server_CreateProcess_ACLs="$1" enable_server_Desktop_Refcount="$1" @@ -989,9 +988,6 @@ patch_enable () secur32-Zero_Buffer_Length) enable_secur32_Zero_Buffer_Length="$2" ;; - server-BaseNamedObjects) - enable_server_BaseNamedObjects="$2" - ;; server-ClipCursor) enable_server_ClipCursor="$2" ;; @@ -5809,21 +5805,6 @@ if test "$enable_secur32_Zero_Buffer_Length" -eq 1; then ) >> "$patchlist" fi -# Patchset server-BaseNamedObjects -# | -# | This patchset fixes the following Wine bugs: -# | * [#40875] Provide symlink to BaseNamedObjects in \Sessions\1 -# | -# | Modified files: -# | * server/directory.c -# | -if test "$enable_server_BaseNamedObjects" -eq 1; then - patch_apply server-BaseNamedObjects/0001-server-Move-the-BaseNamedObjects-symlink-in-Sessions.patch - ( - echo '+ { "Piotr Chruściel", "server: Move the \\\\BaseNamedObjects symlink in \\\\Sessions\\\\0 to \\\\Sessions\\\\1\\\\BaseNamedObjects.", 1 },'; - ) >> "$patchlist" -fi - # Patchset server-ClipCursor # | # | This patchset fixes the following Wine bugs: diff --git a/patches/server-BaseNamedObjects/0001-server-Move-the-BaseNamedObjects-symlink-in-Sessions.patch b/patches/server-BaseNamedObjects/0001-server-Move-the-BaseNamedObjects-symlink-in-Sessions.patch deleted file mode 100644 index 664fd9eb..00000000 --- a/patches/server-BaseNamedObjects/0001-server-Move-the-BaseNamedObjects-symlink-in-Sessions.patch +++ /dev/null @@ -1,108 +0,0 @@ -From 63853db5da2aac5763adb7e9c309b6ec3b354c68 Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?Piotr=20Chru=C5=9Bciel?= -Date: Fri, 8 Jul 2016 17:53:03 +0200 -Subject: server: Move the \BaseNamedObjects symlink in \Sessions\0 to - \Sessions\1\BaseNamedObjects. -MIME-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit - -Fixes https://bugs.winehq.org/show_bug.cgi?id=40875 - -Changes in version 2 of this patch: Changed bno1 in variable names to -basenamed; fixed text alignment for all new variable declarations, -except for dir_1W (because declarations in that part seem to be not -aligned at all); added full name to the patch. - -Signed-off-by: Piotr Chruściel -Signed-off-by: Sebastian Lackner ---- - server/directory.c | 16 ++++++++++------ - 1 file changed, 10 insertions(+), 6 deletions(-) - -diff --git a/server/directory.c b/server/directory.c -index 96555bb..9368421 100644 ---- a/server/directory.c -+++ b/server/directory.c -@@ -258,6 +258,7 @@ void init_directories(void) - static const WCHAR dir_mailslotW[] = {'\\','D','e','v','i','c','e','\\','M','a','i','l','S','l','o','t'}; - static const WCHAR dir_objtypeW[] = {'O','b','j','e','c','t','T','y','p','e','s'}; - static const WCHAR dir_sessionsW[] = {'S','e','s','s','i','o','n','s'}; -+ static const WCHAR dir_1W[] = {'1'}; - static const WCHAR dir_kernelW[] = {'K','e','r','n','e','l','O','b','j','e','c','t','s'}; - static const WCHAR dir_windowsW[] = {'W','i','n','d','o','w','s'}; - static const WCHAR dir_winstationsW[] = {'W','i','n','d','o','w','S','t','a','t','i','o','n','s'}; -@@ -270,6 +271,7 @@ void init_directories(void) - static const struct unicode_str dir_mailslot_str = {dir_mailslotW, sizeof(dir_mailslotW)}; - static const struct unicode_str dir_objtype_str = {dir_objtypeW, sizeof(dir_objtypeW)}; - static const struct unicode_str dir_sessions_str = {dir_sessionsW, sizeof(dir_sessionsW)}; -+ static const struct unicode_str dir_1_str = {dir_1W, sizeof(dir_1W)}; - static const struct unicode_str dir_kernel_str = {dir_kernelW, sizeof(dir_kernelW)}; - static const struct unicode_str dir_windows_str = {dir_windowsW, sizeof(dir_windowsW)}; - static const struct unicode_str dir_winstations_str = {dir_winstationsW, sizeof(dir_winstationsW)}; -@@ -281,7 +283,7 @@ void init_directories(void) - static const WCHAR link_nulW[] = {'N','U','L'}; - static const WCHAR link_pipeW[] = {'P','I','P','E'}; - static const WCHAR link_mailslotW[] = {'M','A','I','L','S','L','O','T'}; -- static const WCHAR link_0W[] = {'0'}; -+ static const WCHAR link_basenamedW[] = {'B','a','s','e','N','a','m','e','d','O','b','j','e','c','t','s'}; - static const WCHAR link_sessionW[] = {'S','e','s','s','i','o','n'}; - static const WCHAR link_sessionsW[] = {'\\','S','e','s','s','i','o','n','s'}; - static const struct unicode_str link_dosdev_str = {link_dosdevW, sizeof(link_dosdevW)}; -@@ -290,7 +292,7 @@ void init_directories(void) - static const struct unicode_str link_nul_str = {link_nulW, sizeof(link_nulW)}; - static const struct unicode_str link_pipe_str = {link_pipeW, sizeof(link_pipeW)}; - static const struct unicode_str link_mailslot_str = {link_mailslotW, sizeof(link_mailslotW)}; -- static const struct unicode_str link_0_str = {link_0W, sizeof(link_0W)}; -+ static const struct unicode_str link_basenamed_str = {link_basenamedW, sizeof(link_basenamedW)}; - static const struct unicode_str link_session_str = {link_sessionW, sizeof(link_sessionW)}; - static const struct unicode_str link_sessions_str = {link_sessionsW, sizeof(link_sessionsW)}; - -@@ -321,8 +323,8 @@ void init_directories(void) - }; - static const struct unicode_str keyed_event_crit_sect_str = {keyed_event_crit_sectW, sizeof(keyed_event_crit_sectW)}; - -- struct directory *dir_driver, *dir_device, *dir_global, *dir_basenamed, *dir_sessions, *dir_kernel, *dir_windows, *dir_winstation; -- struct symlink *link_dosdev, *link_global1, *link_global2, *link_local, *link_nul, *link_pipe, *link_mailslot, *link_0, *link_session; -+ struct directory *dir_driver, *dir_device, *dir_global, *dir_basenamed, *dir_sessions, *dir_1, *dir_kernel, *dir_windows, *dir_winstation; -+ struct symlink *link_dosdev, *link_global1, *link_global2, *link_local, *link_nul, *link_pipe, *link_mailslot, *link_basenamed, *link_session; - struct keyed_event *keyed_event; - unsigned int i; - -@@ -331,6 +333,7 @@ void init_directories(void) - dir_device = create_directory( &root_directory->obj, &dir_device_str, 0, HASH_SIZE, NULL ); - dir_objtype = create_directory( &root_directory->obj, &dir_objtype_str, 0, HASH_SIZE, NULL ); - dir_sessions = create_directory( &root_directory->obj, &dir_sessions_str, 0, HASH_SIZE, NULL ); -+ dir_1 = create_directory( &dir_sessions->obj, &dir_1_str, 0, HASH_SIZE, NULL ); - dir_kernel = create_directory( &root_directory->obj, &dir_kernel_str, 0, HASH_SIZE, NULL ); - dir_windows = create_directory( &root_directory->obj, &dir_windows_str, 0, HASH_SIZE, NULL ); - dir_winstation = create_directory( &dir_windows->obj, &dir_winstations_str, 0, HASH_SIZE, NULL ); -@@ -356,7 +359,7 @@ void init_directories(void) - link_nul = create_symlink( &dir_global->obj, &link_nul_str, 0, &dir_null_str, NULL ); - link_pipe = create_symlink( &dir_global->obj, &link_pipe_str, 0, &dir_named_pipe_str, NULL ); - link_mailslot = create_symlink( &dir_global->obj, &link_mailslot_str, 0, &dir_mailslot_str, NULL ); -- link_0 = create_symlink( &dir_sessions->obj, &link_0_str, 0, &dir_basenamed_str, NULL ); -+ link_basenamed = create_symlink( &dir_1->obj, &link_basenamed_str, 0, &dir_basenamed_str, NULL ); - link_session = create_symlink( &dir_basenamed->obj, &link_session_str, 0, &link_sessions_str, NULL ); - make_object_static( (struct object *)link_dosdev ); - make_object_static( (struct object *)link_global1 ); -@@ -365,7 +368,7 @@ void init_directories(void) - make_object_static( (struct object *)link_nul ); - make_object_static( (struct object *)link_pipe ); - make_object_static( (struct object *)link_mailslot ); -- make_object_static( (struct object *)link_0 ); -+ make_object_static( (struct object *)link_basenamed ); - make_object_static( (struct object *)link_session ); - - /* events */ -@@ -382,6 +385,7 @@ void init_directories(void) - release_object( dir_device ); - release_object( dir_basenamed ); - release_object( dir_sessions ); -+ release_object( dir_1 ); - release_object( dir_kernel ); - release_object( dir_windows ); - } --- -2.8.0 - diff --git a/patches/server-BaseNamedObjects/definition b/patches/server-BaseNamedObjects/definition deleted file mode 100644 index 651eec9a..00000000 --- a/patches/server-BaseNamedObjects/definition +++ /dev/null @@ -1 +0,0 @@ -Fixes: [40875] Provide symlink to BaseNamedObjects in \Sessions\1 diff --git a/patches/server-Shared_Memory/0002-server-Implement-support-for-global-and-local-shared.patch b/patches/server-Shared_Memory/0002-server-Implement-support-for-global-and-local-shared.patch index 2a7de69f..d136b344 100644 --- a/patches/server-Shared_Memory/0002-server-Implement-support-for-global-and-local-shared.patch +++ b/patches/server-Shared_Memory/0002-server-Implement-support-for-global-and-local-shared.patch @@ -1,4 +1,4 @@ -From 0ece6430725c5339252c9d2a636ccbc95d69196b Mon Sep 17 00:00:00 2001 +From 5028f77be523cd890b34f333b27a10127c426d33 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Michael=20M=C3=BCller?= Date: Thu, 19 Mar 2015 01:22:34 +0100 Subject: server: Implement support for global and local shared memory blocks @@ -114,7 +114,7 @@ index 356d631..a91e478 100644 ntdll_get_thread_data()->wow64_redir = is_wow64; diff --git a/dlls/ntdll/thread.c b/dlls/ntdll/thread.c -index e38bbc2..6a574f7 100644 +index 306a6c6..4af9caf 100644 --- a/dlls/ntdll/thread.c +++ b/dlls/ntdll/thread.c @@ -380,6 +380,7 @@ void terminate_thread( int status ) @@ -158,7 +158,7 @@ index d573d1f..695389a 100644 /* macros for server requests */ diff --git a/include/winternl.h b/include/winternl.h -index 0e6cd4b..03f026b 100644 +index f35091c..a969067 100644 --- a/include/winternl.h +++ b/include/winternl.h @@ -366,7 +366,7 @@ typedef struct _TEB @@ -209,11 +209,11 @@ index 17b1b66..f17b473 100644 DECL_HANDLER(ioctl) { diff --git a/server/file.h b/server/file.h -index 2a72568..c8954f3 100644 +index b643d94..8d7725e 100644 --- a/server/file.h +++ b/server/file.h -@@ -146,6 +146,14 @@ extern void create_mailslot_device( struct object *root, const struct unicode_st - extern struct device *create_unix_device( struct object *root, const struct unicode_str *name, +@@ -146,6 +146,14 @@ extern struct object *create_mailslot_device( struct object *root, const struct + extern struct object *create_unix_device( struct object *root, const struct unicode_str *name, const char *unix_path ); +/* shared memory functions */ @@ -341,7 +341,7 @@ index fe30450..40a1f21 100644 static int create_temp_file( file_pos_t size ) { diff --git a/server/protocol.def b/server/protocol.def -index 35b14f2..35aa25e 100644 +index e67632c..05d5e3f 100644 --- a/server/protocol.def +++ b/server/protocol.def @@ -69,6 +69,15 @@ struct request_max_size @@ -360,7 +360,7 @@ index 35b14f2..35aa25e 100644 /* debug event data */ typedef union -@@ -1209,6 +1218,12 @@ enum server_fd_type +@@ -1219,6 +1228,12 @@ enum server_fd_type @END