diff --git a/patches/ntdll-HashLinks/0001-ntdll-Implement-HashLinks-field-in-LDR-module-data.patch b/patches/ntdll-HashLinks/0001-ntdll-Implement-HashLinks-field-in-LDR-module-data.patch index d737ff6a..5a275df1 100644 --- a/patches/ntdll-HashLinks/0001-ntdll-Implement-HashLinks-field-in-LDR-module-data.patch +++ b/patches/ntdll-HashLinks/0001-ntdll-Implement-HashLinks-field-in-LDR-module-data.patch @@ -1,4 +1,4 @@ -From 1ebb577d45e3b2525f67bd03c816d3567cede547 Mon Sep 17 00:00:00 2001 +From 0f2ee82d68b0608b5b68fb82e001aaebdc998166 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Michael=20M=C3=BCller?= Date: Mon, 3 Apr 2017 05:30:27 +0200 Subject: [PATCH] ntdll: Implement HashLinks field in LDR module data. @@ -6,11 +6,11 @@ Subject: [PATCH] ntdll: Implement HashLinks field in LDR module data. --- dlls/kernel32/tests/loader.c | 76 ++++++++++++++++++++++++++++++++++++++++++++ dlls/ntdll/loader.c | 65 +++++++++++++++++++++++++++++++++++++ - include/winternl.h | 6 ++-- - 3 files changed, 145 insertions(+), 2 deletions(-) + include/winternl.h | 5 ++- + 3 files changed, 145 insertions(+), 1 deletion(-) diff --git a/dlls/kernel32/tests/loader.c b/dlls/kernel32/tests/loader.c -index 15d9b44..e4fb367 100644 +index b8dc72b..63219c0 100644 --- a/dlls/kernel32/tests/loader.c +++ b/dlls/kernel32/tests/loader.c @@ -30,6 +30,7 @@ @@ -21,7 +21,7 @@ index 15d9b44..e4fb367 100644 #include "wine/test.h" #include "delayloadhandler.h" -@@ -3894,6 +3895,79 @@ static void test_dll_file( const char *name ) +@@ -3858,6 +3859,79 @@ static void test_dll_file( const char *name ) #undef OK_FIELD } @@ -101,7 +101,7 @@ index 15d9b44..e4fb367 100644 START_TEST(loader) { int argc; -@@ -3961,10 +4035,12 @@ START_TEST(loader) +@@ -3925,10 +3999,12 @@ START_TEST(loader) test_import_resolution(); test_ExitProcess(); test_InMemoryOrderModuleList(); @@ -115,10 +115,10 @@ index 15d9b44..e4fb367 100644 test_Loader(); } diff --git a/dlls/ntdll/loader.c b/dlls/ntdll/loader.c -index 0546478..381c13a 100644 +index 994ff6f..cc764d3 100644 --- a/dlls/ntdll/loader.c +++ b/dlls/ntdll/loader.c -@@ -96,6 +96,9 @@ static const char * const reason_names[] = +@@ -93,6 +93,9 @@ static const char * const reason_names[] = static const WCHAR dllW[] = {'.','d','l','l',0}; @@ -128,7 +128,7 @@ index 0546478..381c13a 100644 /* internal representation of 32bit modules. per process. */ typedef struct _wine_modref { -@@ -379,6 +382,52 @@ static void call_ldr_notifications( ULONG reason, LDR_MODULE *module ) +@@ -427,6 +430,52 @@ static void call_ldr_notifications( ULONG reason, LDR_MODULE *module ) } /************************************************************************* @@ -181,7 +181,7 @@ index 0546478..381c13a 100644 * get_modref * * Looks for the referenced HMODULE in the current process -@@ -1102,7 +1151,12 @@ static WINE_MODREF *alloc_module( HMODULE hModule, const UNICODE_STRING *nt_name +@@ -1150,7 +1199,12 @@ static WINE_MODREF *alloc_module( HMODULE hModule, const UNICODE_STRING *nt_name &wm->ldr.InLoadOrderModuleList); InsertTailList(&NtCurrentTeb()->Peb->LdrData->InMemoryOrderModuleList, &wm->ldr.InMemoryOrderModuleList); @@ -194,7 +194,7 @@ index 0546478..381c13a 100644 if (!(nt->OptionalHeader.DllCharacteristics & IMAGE_DLLCHARACTERISTICS_NX_COMPAT)) { -@@ -1846,6 +1900,7 @@ static void load_builtin_callback( void *module, const char *filename ) +@@ -1804,6 +1858,7 @@ static void load_builtin_callback( void *module, const char *filename ) /* the module has only be inserted in the load & memory order lists */ RemoveEntryList(&wm->ldr.InLoadOrderModuleList); RemoveEntryList(&wm->ldr.InMemoryOrderModuleList); @@ -202,7 +202,7 @@ index 0546478..381c13a 100644 /* FIXME: free the modref */ builtin_load_info->status = STATUS_DLL_NOT_FOUND; return; -@@ -2130,6 +2185,7 @@ static NTSTATUS load_native_dll( LPCWSTR load_path, const UNICODE_STRING *nt_nam +@@ -2165,6 +2220,7 @@ static NTSTATUS load_native_dll( LPCWSTR load_path, const UNICODE_STRING *nt_nam /* the module has only be inserted in the load & memory order lists */ RemoveEntryList(&wm->ldr.InLoadOrderModuleList); RemoveEntryList(&wm->ldr.InMemoryOrderModuleList); @@ -210,7 +210,7 @@ index 0546478..381c13a 100644 /* FIXME: there are several more dangling references * left. Including dlls loaded by this dll before the -@@ -3180,6 +3236,7 @@ static void free_modref( WINE_MODREF *wm ) +@@ -3322,6 +3378,7 @@ static void free_modref( WINE_MODREF *wm ) { RemoveEntryList(&wm->ldr.InLoadOrderModuleList); RemoveEntryList(&wm->ldr.InMemoryOrderModuleList); @@ -218,7 +218,7 @@ index 0546478..381c13a 100644 if (wm->ldr.InInitializationOrderModuleList.Flink) RemoveEntryList(&wm->ldr.InInitializationOrderModuleList); -@@ -3660,6 +3717,7 @@ void __wine_process_init(void) +@@ -3750,6 +3807,7 @@ void __wine_process_init(void) ANSI_STRING func_name; UNICODE_STRING nt_name; void * (CDECL *init_func)(void); @@ -226,7 +226,7 @@ index 0546478..381c13a 100644 thread_init(); -@@ -3669,6 +3727,10 @@ void __wine_process_init(void) +@@ -3759,6 +3817,10 @@ void __wine_process_init(void) load_global_options(); @@ -237,7 +237,7 @@ index 0546478..381c13a 100644 /* setup the load callback and create ntdll modref */ wine_dll_set_callback( load_builtin_callback ); -@@ -3723,6 +3785,9 @@ void __wine_process_init(void) +@@ -3801,6 +3863,9 @@ void __wine_process_init(void) RemoveEntryList( &wm->ldr.InMemoryOrderModuleList ); InsertHeadList( &NtCurrentTeb()->Peb->LdrData->InMemoryOrderModuleList, &wm->ldr.InMemoryOrderModuleList ); @@ -248,20 +248,20 @@ index 0546478..381c13a 100644 { ERR( "Main exe initialization for %s failed, status %x\n", diff --git a/include/winternl.h b/include/winternl.h -index 6e75b0b..7ee4b25 100644 +index fb7b7c1..c522207 100644 --- a/include/winternl.h +++ b/include/winternl.h -@@ -2199,8 +2199,7 @@ typedef struct _LDR_MODULE +@@ -2198,8 +2198,8 @@ typedef struct _LDR_MODULE ULONG Flags; SHORT LoadCount; SHORT TlsIndex; - HANDLE SectionHandle; -- ULONG CheckSum; + ULONG CheckSum; + LIST_ENTRY HashLinks; ULONG TimeDateStamp; HANDLE ActivationContext; PVOID PatchInformation; -@@ -2210,6 +2209,9 @@ typedef struct _LDR_MODULE +@@ -2209,6 +2209,9 @@ typedef struct _LDR_MODULE PVOID ContextInformation; ULONG_PTR OriginalBase; LARGE_INTEGER LoadTime; diff --git a/patches/ntoskrnl-Stubs/0009-ntoskrnl.exe-Implement-MmMapLockedPages-and-MmUnmapL.patch b/patches/ntoskrnl-Stubs/0009-ntoskrnl.exe-Implement-MmMapLockedPages-and-MmUnmapL.patch index 0323759e..ffce4b2e 100644 --- a/patches/ntoskrnl-Stubs/0009-ntoskrnl.exe-Implement-MmMapLockedPages-and-MmUnmapL.patch +++ b/patches/ntoskrnl-Stubs/0009-ntoskrnl.exe-Implement-MmMapLockedPages-and-MmUnmapL.patch @@ -1,4 +1,4 @@ -From a661ba02ea0d607b11c35c16b21dea3b0a865615 Mon Sep 17 00:00:00 2001 +From 33948747d5b11b2d61004632bf1038dc95060fd3 Mon Sep 17 00:00:00 2001 From: Christian Costa Date: Sun, 1 Feb 2015 12:53:09 +0100 Subject: [PATCH] ntoskrnl.exe: Implement MmMapLockedPages and @@ -6,14 +6,14 @@ Subject: [PATCH] ntoskrnl.exe: Implement MmMapLockedPages and --- dlls/ntoskrnl.exe/ntoskrnl.c | 20 ++++++++++++++++++++ - dlls/ntoskrnl.exe/ntoskrnl.exe.spec | 4 ++-- - 2 files changed, 22 insertions(+), 2 deletions(-) + dlls/ntoskrnl.exe/ntoskrnl.exe.spec | 2 +- + 2 files changed, 21 insertions(+), 1 deletion(-) diff --git a/dlls/ntoskrnl.exe/ntoskrnl.c b/dlls/ntoskrnl.exe/ntoskrnl.c -index 010f9f735f7..0581f3e0d55 100644 +index c1e6a9c..cca3066 100644 --- a/dlls/ntoskrnl.exe/ntoskrnl.c +++ b/dlls/ntoskrnl.exe/ntoskrnl.c -@@ -2610,6 +2610,16 @@ VOID WINAPI MmLockPagableSectionByHandle(PVOID ImageSectionHandle) +@@ -2821,6 +2821,16 @@ VOID WINAPI MmLockPagableSectionByHandle(PVOID ImageSectionHandle) FIXME("stub %p\n", ImageSectionHandle); } @@ -30,28 +30,11 @@ index 010f9f735f7..0581f3e0d55 100644 /*********************************************************************** * MmMapLockedPagesSpecifyCache (NTOSKRNL.EXE.@) */ -@@ -2675,6 +2685,16 @@ VOID WINAPI MmUnmapIoSpace( PVOID BaseAddress, SIZE_T NumberOfBytes ) - } - - -+/*********************************************************************** -+ * MmUnmapLockedPages (NTOSKRNL.EXE.@) -+ */ -+void WINAPI MmUnmapLockedPages(PVOID BaseAddress, PMDLX MemoryDescriptorList) -+{ -+ TRACE("%p %p\n", BaseAddress, MemoryDescriptorList); -+ /* Nothing to do */ -+} -+ -+ - /*********************************************************************** - * ObReferenceObjectByName (NTOSKRNL.EXE.@) - */ diff --git a/dlls/ntoskrnl.exe/ntoskrnl.exe.spec b/dlls/ntoskrnl.exe/ntoskrnl.exe.spec -index 4dcd5530494..75f9d595ad1 100644 +index 633a8c4..cc74261 100644 --- a/dlls/ntoskrnl.exe/ntoskrnl.exe.spec +++ b/dlls/ntoskrnl.exe/ntoskrnl.exe.spec -@@ -702,7 +702,7 @@ +@@ -703,7 +703,7 @@ @ stub MmLockPagableImageSection @ stdcall MmLockPagableSectionByHandle(ptr) @ stdcall MmMapIoSpace(int64 long long) @@ -60,15 +43,6 @@ index 4dcd5530494..75f9d595ad1 100644 @ stdcall MmMapLockedPagesSpecifyCache(ptr long long ptr long long) @ stub MmMapLockedPagesWithReservedMapping @ stub MmMapMemoryDumpMdl -@@ -732,7 +732,7 @@ - @ stdcall MmUnlockPagableImageSection(ptr) - @ stdcall MmUnlockPages(ptr) - @ stdcall MmUnmapIoSpace(ptr long) --@ stub MmUnmapLockedPages -+@ stdcall MmUnmapLockedPages(ptr ptr) - @ stub MmUnmapReservedMapping - @ stub MmUnmapVideoDisplay - @ stub MmUnmapViewInSessionSpace -- -2.20.1 +1.9.1 diff --git a/patches/patchinstall.sh b/patches/patchinstall.sh index 660cdadc..39259891 100755 --- a/patches/patchinstall.sh +++ b/patches/patchinstall.sh @@ -52,15 +52,15 @@ usage() # Get the upstream commit sha upstream_commit() { - echo "9d75caf4e1deea0ec8d5ad3f829e7218bc1e3c16" + echo "75aa4ab16b03a11464ab0d3e4c4cfbff0180c269" } # Show version information version() { echo "Wine Staging 4.6" - echo "Copyright (C) 2014-2018 the Wine Staging project authors." - echo "Copyright (C) 2018 Alistair Leslie-Hughes" + echo "Copyright (C) 2014-2019 the Wine Staging project authors." + echo "Copyright (C) 2018-2019 Alistair Leslie-Hughes" echo "" echo "Patchset to be applied on upstream Wine:" echo " commit $(upstream_commit)" diff --git a/patches/server-Desktop_Refcount/0001-server-Introduce-a-new-alloc_handle-object-callback..patch b/patches/server-Desktop_Refcount/0001-server-Introduce-a-new-alloc_handle-object-callback..patch index 7ce8205c..4cc2c5ab 100644 --- a/patches/server-Desktop_Refcount/0001-server-Introduce-a-new-alloc_handle-object-callback..patch +++ b/patches/server-Desktop_Refcount/0001-server-Introduce-a-new-alloc_handle-object-callback..patch @@ -1,4 +1,4 @@ -From e5632cdae888ce1ed2274dc44d08eee6d2e9603e Mon Sep 17 00:00:00 2001 +From a0cf4045fe4ac3e3d561824da30fc7998097f97b Mon Sep 17 00:00:00 2001 From: Sebastian Lackner Date: Fri, 4 Dec 2015 10:36:47 +0100 Subject: [PATCH] server: Introduce a new alloc_handle object callback. (v2) @@ -283,13 +283,13 @@ index 2a38780..e628cdb 100644 no_destroy /* destroy */ }; diff --git a/server/file.c b/server/file.c -index 224ab7d..ca9a368 100644 +index 3ce7307..fa96ca7 100644 --- a/server/file.c +++ b/server/file.c -@@ -96,6 +96,7 @@ static const struct object_ops file_ops = +@@ -98,6 +98,7 @@ static const struct object_ops file_ops = NULL, /* unlink_name */ file_open_file, /* open_file */ - no_kernel_obj_list, /* get_kernel_obj_list */ + file_get_kernel_obj_list, /* get_kernel_obj_list */ + no_alloc_handle, /* alloc_handle */ fd_close_handle, /* close_handle */ file_destroy /* destroy */ @@ -625,7 +625,7 @@ index 7d0d742..2ad9d5d 100644 snapshot_destroy /* destroy */ }; diff --git a/server/sock.c b/server/sock.c -index 4a10aac..f951f23 100644 +index ac83081..d373768 100644 --- a/server/sock.c +++ b/server/sock.c @@ -156,6 +156,7 @@ static const struct object_ops sock_ops = diff --git a/patches/server-Stored_ACLs/0001-server-Unify-the-storage-of-security-attributes-for-.patch b/patches/server-Stored_ACLs/0001-server-Unify-the-storage-of-security-attributes-for-.patch index 8d38e80d..6b6d2766 100644 --- a/patches/server-Stored_ACLs/0001-server-Unify-the-storage-of-security-attributes-for-.patch +++ b/patches/server-Stored_ACLs/0001-server-Unify-the-storage-of-security-attributes-for-.patch @@ -1,8 +1,8 @@ -From 62ffab532847db3e0282ce516356d69657aa746f Mon Sep 17 00:00:00 2001 +From aeb6a6b0251a2b9cadea14ec97cb5a3889dadba0 Mon Sep 17 00:00:00 2001 From: "Erich E. Hoover" Date: Thu, 17 Apr 2014 16:07:46 -0600 -Subject: server: Unify the storage of security attributes for files and - directories. (try 7) +Subject: [PATCH] server: Unify the storage of security attributes for files + and directories. (try 7) --- server/change.c | 45 ++++++--------------------------------------- @@ -11,10 +11,10 @@ Subject: server: Unify the storage of security attributes for files and 3 files changed, 30 insertions(+), 51 deletions(-) diff --git a/server/change.c b/server/change.c -index 3dd52aa1..376091ea 100644 +index dee48ce..12c6976 100644 --- a/server/change.c +++ b/server/change.c -@@ -417,48 +417,15 @@ static int dir_set_sd( struct object *obj, const struct security_descriptor *sd, +@@ -373,48 +373,15 @@ static int dir_set_sd( struct object *obj, const struct security_descriptor *sd, unsigned int set_info ) { struct dir *dir = (struct dir *)obj; @@ -70,10 +70,10 @@ index 3dd52aa1..376091ea 100644 static struct change_record *get_first_change_record( struct dir *dir ) diff --git a/server/file.c b/server/file.c -index e5541f4b..e948b283 100644 +index fa96ca7..83b8d5e 100644 --- a/server/file.c +++ b/server/file.c -@@ -549,18 +549,13 @@ mode_t sd_to_mode( const struct security_descriptor *sd, const SID *owner ) +@@ -557,18 +557,13 @@ mode_t sd_to_mode( const struct security_descriptor *sd, const SID *owner ) return new_mode; } @@ -96,7 +96,7 @@ index e5541f4b..e948b283 100644 if (unix_fd == -1 || fstat( unix_fd, &st ) == -1) return 1; -@@ -587,10 +582,10 @@ static int file_set_sd( struct object *obj, const struct security_descriptor *sd +@@ -595,10 +590,10 @@ static int file_set_sd( struct object *obj, const struct security_descriptor *sd if (set_info & DACL_SECURITY_INFORMATION) { /* keep the bits that we don't map to access rights in the ACL */ @@ -110,8 +110,8 @@ index e5541f4b..e948b283 100644 { file_set_error(); return 0; -@@ -626,6 +621,21 @@ static struct object *file_open_file( struct object *obj, unsigned int access, - return new_file; +@@ -640,6 +635,21 @@ static struct list *file_get_kernel_obj_list( struct object *obj ) + return &file->kernel_object; } +static int file_set_sd( struct object *obj, const struct security_descriptor *sd, @@ -133,10 +133,10 @@ index e5541f4b..e948b283 100644 { struct file *file = (struct file *)obj; diff --git a/server/file.h b/server/file.h -index 0621b479..341692bb 100644 +index d532294..19d7ddc 100644 --- a/server/file.h +++ b/server/file.h -@@ -149,6 +149,8 @@ extern void file_set_error(void); +@@ -150,6 +150,8 @@ extern void file_set_error(void); extern struct object_type *file_get_type( struct object *obj ); extern struct security_descriptor *mode_to_sd( mode_t mode, const SID *user, const SID *group ); extern mode_t sd_to_mode( const struct security_descriptor *sd, const SID *owner ); @@ -146,5 +146,5 @@ index 0621b479..341692bb 100644 /* file mapping functions */ -- -2.20.1 +1.9.1 diff --git a/patches/server-Stored_ACLs/0004-server-Temporarily-store-the-full-security-descripto.patch b/patches/server-Stored_ACLs/0004-server-Temporarily-store-the-full-security-descripto.patch index 4d24daf6..118b432e 100644 --- a/patches/server-Stored_ACLs/0004-server-Temporarily-store-the-full-security-descripto.patch +++ b/patches/server-Stored_ACLs/0004-server-Temporarily-store-the-full-security-descripto.patch @@ -1,4 +1,4 @@ -From 5a1db7cf17d8204d65fa6294c782a05bdf4cf14f Mon Sep 17 00:00:00 2001 +From 13f2b7fafd8ac5a28bf69828998e094ae29c64d4 Mon Sep 17 00:00:00 2001 From: Sebastian Lackner Date: Mon, 30 Mar 2015 12:50:21 +0200 Subject: [PATCH] server: Temporarily store the full security descriptor for @@ -70,10 +70,10 @@ index 9ad5881..4c44f44 100644 LocalFree(pSD); CloseHandle(obj); diff --git a/server/change.c b/server/change.c -index f89c34c..f67b547 100644 +index 0496e40..0690227 100644 --- a/server/change.c +++ b/server/change.c -@@ -1076,7 +1076,8 @@ static int dir_add_to_existing_notify( struct dir *dir ) +@@ -1077,7 +1077,8 @@ static int dir_add_to_existing_notify( struct dir *dir ) #endif /* HAVE_SYS_INOTIFY_H */ @@ -83,7 +83,7 @@ index f89c34c..f67b547 100644 { struct dir *dir; -@@ -1096,6 +1097,11 @@ struct object *create_dir_obj( struct fd *fd, unsigned int access, mode_t mode ) +@@ -1097,6 +1098,11 @@ struct object *create_dir_obj( struct fd *fd, unsigned int access, mode_t mode ) dir->client_process = NULL; set_fd_user( fd, &dir_fd_ops, &dir->obj ); @@ -96,10 +96,10 @@ index f89c34c..f67b547 100644 return &dir->obj; diff --git a/server/file.c b/server/file.c -index 6c89387..aae2aa1 100644 +index f3d4717..babb935 100644 --- a/server/file.c +++ b/server/file.c -@@ -173,7 +173,8 @@ struct file *create_file_for_fd_obj( struct fd *fd, unsigned int access, unsigne +@@ -178,7 +178,8 @@ struct file *create_file_for_fd_obj( struct fd *fd, unsigned int access, unsigne return file; } @@ -109,8 +109,8 @@ index 6c89387..aae2aa1 100644 { struct file *file = alloc_object( &file_ops ); -@@ -184,6 +185,12 @@ static struct object *create_file_obj( struct fd *fd, unsigned int access, mode_ - file->fd = fd; +@@ -190,6 +191,12 @@ static struct object *create_file_obj( struct fd *fd, unsigned int access, mode_ + list_init( &file->kernel_object ); grab_object( fd ); set_fd_user( fd, &file_fd_ops, &file->obj ); + @@ -122,7 +122,7 @@ index 6c89387..aae2aa1 100644 return &file->obj; } -@@ -250,11 +257,11 @@ static struct object *create_file( struct fd *root, const char *nameptr, data_si +@@ -256,11 +263,11 @@ static struct object *create_file( struct fd *root, const char *nameptr, data_si if (!fd) goto done; if (S_ISDIR(mode)) @@ -136,7 +136,7 @@ index 6c89387..aae2aa1 100644 release_object( fd ); -@@ -564,46 +571,66 @@ mode_t sd_to_mode( const struct security_descriptor *sd, const SID *owner ) +@@ -570,46 +577,66 @@ mode_t sd_to_mode( const struct security_descriptor *sd, const SID *owner ) int set_file_sd( struct object *obj, struct fd *fd, mode_t *mode, uid_t *uid, const struct security_descriptor *sd, unsigned int set_info ) { @@ -228,7 +228,7 @@ index 6c89387..aae2aa1 100644 } static struct object *file_lookup_name( struct object *obj, struct unicode_str *name, unsigned int attr ) -@@ -740,7 +767,10 @@ DECL_HANDLER(create_file) +@@ -752,7 +779,10 @@ DECL_HANDLER(create_file) if ((file = create_file( root_fd, name, name_len, req->access, req->sharing, req->create, req->options, req->attrs, sd ))) { diff --git a/patches/server-Stored_ACLs/0005-server-Store-file-security-attributes-with-extended-.patch b/patches/server-Stored_ACLs/0005-server-Store-file-security-attributes-with-extended-.patch index d18f7c67..699e71ac 100644 --- a/patches/server-Stored_ACLs/0005-server-Store-file-security-attributes-with-extended-.patch +++ b/patches/server-Stored_ACLs/0005-server-Store-file-security-attributes-with-extended-.patch @@ -1,8 +1,8 @@ -From 03d4a144839cf0432612f3f031fce1725dacab4b Mon Sep 17 00:00:00 2001 +From 528dd87710b847e1811acaa4fe8761310b735572 Mon Sep 17 00:00:00 2001 From: "Erich E. Hoover" Date: Mon, 30 Mar 2015 13:04:23 +0200 -Subject: server: Store file security attributes with extended file attributes. - (v8) +Subject: [PATCH] server: Store file security attributes with extended file + attributes. (v8) --- include/wine/port.h | 3 +++ @@ -10,10 +10,10 @@ Subject: server: Store file security attributes with extended file attributes. 2 files changed, 37 insertions(+) diff --git a/include/wine/port.h b/include/wine/port.h -index 9e2b8165..71be265 100644 +index 4bbf999..5204807 100644 --- a/include/wine/port.h +++ b/include/wine/port.h -@@ -368,6 +368,9 @@ extern int _spawnvp(int mode, const char *cmdname, const char * const argv[]); +@@ -349,6 +349,9 @@ extern int mkstemps(char *template, int suffix_len); #ifndef XATTR_USER_PREFIX # define XATTR_USER_PREFIX "user." #endif @@ -24,7 +24,7 @@ index 9e2b8165..71be265 100644 extern int xattr_fget( int filedes, const char *name, void *value, size_t size ); extern int xattr_fremove( int filedes, const char *name ); diff --git a/server/file.c b/server/file.c -index 1b16526..ed7ddfc 100644 +index babb935..d52a5ff 100644 --- a/server/file.c +++ b/server/file.c @@ -32,6 +32,7 @@ @@ -49,8 +49,8 @@ index 1b16526..ed7ddfc 100644 + struct file { - struct object obj; /* object header */ -@@ -189,6 +198,28 @@ static struct object *create_file_obj( struct fd *fd, unsigned int access, mode_ + struct object obj; /* object header */ +@@ -200,6 +209,28 @@ static struct object *create_file_obj( struct fd *fd, unsigned int access, mode_ return &file->obj; } @@ -79,7 +79,7 @@ index 1b16526..ed7ddfc 100644 static struct object *create_file( struct fd *root, const char *nameptr, data_size_t len, unsigned int access, unsigned int sharing, int create, unsigned int options, unsigned int attrs, -@@ -618,6 +649,9 @@ int set_file_sd( struct object *obj, struct fd *fd, mode_t *mode, uid_t *uid, +@@ -631,6 +662,9 @@ int set_file_sd( struct object *obj, struct fd *fd, mode_t *mode, uid_t *uid, *mode = new_mode; } @@ -90,5 +90,5 @@ index 1b16526..ed7ddfc 100644 obj->sd = new_sd; return 1; -- -2.3.5 +1.9.1 diff --git a/patches/winedevice-Default_Drivers/0004-programs-winedevice-Load-some-common-drivers-and-fix.patch b/patches/winedevice-Default_Drivers/0004-programs-winedevice-Load-some-common-drivers-and-fix.patch index 3bcb4aff..c29a8af6 100644 --- a/patches/winedevice-Default_Drivers/0004-programs-winedevice-Load-some-common-drivers-and-fix.patch +++ b/patches/winedevice-Default_Drivers/0004-programs-winedevice-Load-some-common-drivers-and-fix.patch @@ -1,16 +1,16 @@ -From e0c12afb9d1c7d0fb82cde48d5a92ed7e2ad77f5 Mon Sep 17 00:00:00 2001 +From bf9b5ec8a095b59e64452a321f7396bfc6434a0e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Michael=20M=C3=BCller?= Date: Thu, 8 Jun 2017 23:50:03 +0200 Subject: [PATCH] programs/winedevice: Load some common drivers and fix ldr order. --- - dlls/ntoskrnl.exe/tests/driver.c | 52 ++++++++++++++++++++++++++++++++ - programs/winedevice/device.c | 26 ++++++++++++++++ + dlls/ntoskrnl.exe/tests/driver.c | 52 ++++++++++++++++++++++++++++++++++++++++ + programs/winedevice/device.c | 26 ++++++++++++++++++++ 2 files changed, 78 insertions(+) diff --git a/dlls/ntoskrnl.exe/tests/driver.c b/dlls/ntoskrnl.exe/tests/driver.c -index d7083f7fa5a..ede3054deda 100644 +index 030c955..d528347 100644 --- a/dlls/ntoskrnl.exe/tests/driver.c +++ b/dlls/ntoskrnl.exe/tests/driver.c @@ -39,6 +39,8 @@ static const WCHAR driver_device[] = {'\\','D','e','v','i','c','e', @@ -22,7 +22,7 @@ index d7083f7fa5a..ede3054deda 100644 static HANDLE okfile; static LONG successes; static LONG failures; -@@ -1168,6 +1170,7 @@ static void test_resource(void) +@@ -1172,6 +1174,7 @@ static void test_resource(void) ok(status == STATUS_SUCCESS, "got status %#x\n", status); } @@ -30,8 +30,8 @@ index d7083f7fa5a..ede3054deda 100644 static void test_lookup_thread(void) { NTSTATUS status; -@@ -1182,6 +1185,52 @@ static void test_lookup_thread(void) - ok(status == STATUS_INVALID_PARAMETER, "PsLookupThreadByThreadId returned %#x\n", status); +@@ -1187,6 +1190,52 @@ static void test_lookup_thread(void) + "PsLookupThreadByThreadId returned %#x\n", status); } +static void test_default_modules(void) @@ -83,7 +83,7 @@ index d7083f7fa5a..ede3054deda 100644 static NTSTATUS main_test(DEVICE_OBJECT *device, IRP *irp, IO_STACK_LOCATION *stack, ULONG_PTR *info) { ULONG length = stack->Parameters.DeviceIoControl.OutputBufferLength; -@@ -1224,6 +1273,7 @@ static NTSTATUS main_test(DEVICE_OBJECT *device, IRP *irp, IO_STACK_LOCATION *st +@@ -1229,6 +1278,7 @@ static NTSTATUS main_test(DEVICE_OBJECT *device, IRP *irp, IO_STACK_LOCATION *st test_stack_callout(); test_lookaside_list(); test_ob_reference(test_input->path); @@ -91,7 +91,7 @@ index d7083f7fa5a..ede3054deda 100644 test_resource(); test_lookup_thread(); -@@ -1338,6 +1388,8 @@ NTSTATUS WINAPI DriverEntry(DRIVER_OBJECT *driver, PUNICODE_STRING registry) +@@ -1343,6 +1393,8 @@ NTSTATUS WINAPI DriverEntry(DRIVER_OBJECT *driver, PUNICODE_STRING registry) DbgPrint("loading driver\n"); @@ -101,7 +101,7 @@ index d7083f7fa5a..ede3054deda 100644 driver->DriverUnload = driver_Unload; diff --git a/programs/winedevice/device.c b/programs/winedevice/device.c -index 201a0411d60..33b332da933 100644 +index 201a041..33b332d 100644 --- a/programs/winedevice/device.c +++ b/programs/winedevice/device.c @@ -124,7 +124,33 @@ static DWORD WINAPI service_handler( DWORD ctrl, DWORD event_type, LPVOID event_ @@ -139,5 +139,5 @@ index 201a0411d60..33b332da933 100644 if (!(stop_event = CreateEventW( NULL, TRUE, FALSE, NULL ))) return; -- -2.20.1 +1.9.1 diff --git a/staging/patchinstall.sh.in b/staging/patchinstall.sh.in index 8e7607ac..0ce8c9ef 100644 --- a/staging/patchinstall.sh.in +++ b/staging/patchinstall.sh.in @@ -59,8 +59,8 @@ upstream_commit() version() {{ echo "{staging_version}" - echo "Copyright (C) 2014-2018 the Wine Staging project authors." - echo "Copyright (C) 2018 Alistair Leslie-Hughes" + echo "Copyright (C) 2014-2019 the Wine Staging project authors." + echo "Copyright (C) 2018-2019 Alistair Leslie-Hughes" echo "" echo "Patchset to be applied on upstream Wine:" echo " commit $(upstream_commit)"