Compare commits

...

18 Commits
v5.4 ... v5.5

Author SHA1 Message Date
Alistair Leslie-Hughes
18f7125892 Release v5.5 2020-03-29 09:10:06 +11:00
Alistair Leslie-Hughes
f993930ee6 Add winmm-Replace_OpenFile patchset 2020-03-29 09:03:56 +11:00
Alistair Leslie-Hughes
2a9e87abea Updated ntdll-RtlIpv4StringToAddress patchset 2020-03-29 08:55:38 +11:00
Zebediah Figura
af97ec8ce0 ntdll-avoid-fstatat: Protect cwd manipulation with dir_section. 2020-03-28 14:41:38 -05:00
Zebediah Figura
b14430433d ntdll-avoid-fstatat: New patch. 2020-03-28 13:22:31 -05:00
Zebediah Figura
f9d1798edb Rebase against 123c0543e0bb4c99fbee0a568e786405ff886a93. 2020-03-27 17:28:30 -05:00
Alistair Leslie-Hughes
e5da84dc36 Rebase against 9c190f8118faa2f4708e86340e3e0440f668835b 2020-03-25 08:56:23 +11:00
Alistair Leslie-Hughes
75c7644c3d Rebase against 00e55c8fc0c08e14c39880e62526f8503468b641 2020-03-24 08:55:13 +11:00
Alistair Leslie-Hughes
7c7868f4bb Rebase against 3ddf3a720f2a342141550c973f10854b573d80ed 2020-03-21 11:07:53 +11:00
Alistair Leslie-Hughes
d1a8b6bc14 Rebase against aaa625217b202dc0a22d67e63e941b027146a456 2020-03-20 09:55:13 +11:00
Zebediah Figura
53b02cd0ee Rebase against c43998cb51c53ab9c355c2ff37489d51f9009e2d. 2020-03-18 18:33:10 -05:00
Alistair Leslie-Hughes
36b8b8cc65 Remove winemenubuilder-integration patch 0002
This causes wine-protocol-* to be created, and thus any
http/https/ftp will routed via wine.
2020-03-18 11:29:10 +11:00
Alistair Leslie-Hughes
13536af59c Rebase against 7ad740cd29c6bd87238df6231689b861058bc5a8 2020-03-18 10:38:14 +11:00
Paul Gofman
a6f3bd989e Updated wined3d-SWVP-shaders, wined3d-Indexed_Vertex_Blending patchsets.
Minor cleanup.
2020-03-17 13:37:18 +03:00
Alistair Leslie-Hughes
0830db32cd Rebase against c2ee20c95bea55069d32cfa69a95ae3e4486a02b 2020-03-17 09:37:12 +11:00
Paul Gofman
cd7d77fe36 Updated ddraw-Rendering_Targets patchset.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=48757
2020-03-16 09:07:19 +03:00
Alistair Leslie-Hughes
2e9977f4ac Add winemenubuilder-integration patchset 2020-03-16 09:24:08 +11:00
Zebediah Figura
a1246b5e92 xactengine-initial: Build an import library for x3daudio1_7.
Should fix test compilation.
2020-03-14 11:52:09 -05:00
53 changed files with 910 additions and 1362 deletions

View File

@@ -1,4 +1,4 @@
From c07a490a6950f4efe563e38ca78b1aa459dfad86 Mon Sep 17 00:00:00 2001
From df12fdb8d4cdf11d9f72a068923a5b0097e36bdb Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Michael=20M=C3=BCller?= <michael@fds-team.de>
Date: Wed, 28 May 2014 19:50:51 +0200
Subject: [PATCH] loader: Add commandline option --check-libs.
@@ -12,7 +12,7 @@ Subject: [PATCH] loader: Add commandline option --check-libs.
5 files changed, 213 insertions(+), 1 deletion(-)
diff --git a/include/wine/library.h b/include/wine/library.h
index 511bf4722..557cec20c 100644
index 511bf4722a0..557cec20cf8 100644
--- a/include/wine/library.h
+++ b/include/wine/library.h
@@ -44,6 +44,7 @@ extern "C" {
@@ -32,7 +32,7 @@ index 511bf4722..557cec20c 100644
extern void *wine_dlsym( void *handle, const char *symbol, char *error, size_t errorsize );
extern int wine_dlclose( void *handle, char *error, size_t errorsize );
diff --git a/libs/wine/config.c b/libs/wine/config.c
index 5b66c063d..e0988513e 100644
index 5b66c063db6..e0988513e14 100644
--- a/libs/wine/config.c
+++ b/libs/wine/config.c
@@ -470,6 +470,130 @@ const char *wine_get_build_dir(void)
@@ -167,7 +167,7 @@ index 5b66c063d..e0988513e 100644
const char *wine_get_server_dir(void)
{
diff --git a/libs/wine/loader.c b/libs/wine/loader.c
index 2a569f5b7..5f10c3f9d 100644
index 2a569f5b739..5f10c3f9d3e 100644
--- a/libs/wine/loader.c
+++ b/libs/wine/loader.c
@@ -1072,6 +1072,42 @@ void *wine_dlopen( const char *filename, int flag, char *error, size_t errorsize
@@ -214,7 +214,7 @@ index 2a569f5b7..5f10c3f9d 100644
* wine_dlsym
*/
diff --git a/libs/wine/wine.map b/libs/wine/wine.map
index ca46979f5..22a4e73b0 100644
index ca46979f5b9..22a4e73b05b 100644
--- a/libs/wine/wine.map
+++ b/libs/wine/wine.map
@@ -9,6 +9,7 @@ WINE_1.0
@@ -234,7 +234,7 @@ index ca46979f5..22a4e73b0 100644
wine_get_ss;
wine_get_user_name;
diff --git a/loader/main.c b/loader/main.c
index f6629128d..a2dc40c51 100644
index d97d6b28bf8..49dc996e354 100644
--- a/loader/main.c
+++ b/loader/main.c
@@ -36,6 +36,12 @@
@@ -247,10 +247,10 @@ index f6629128d..a2dc40c51 100644
+#ifdef HAVE_LINK_H
+# include <link.h>
+#endif
#include <pthread.h>
#include "wine/library.h"
@@ -55,7 +61,8 @@ static void check_command_line( int argc, char *argv[] )
#include "main.h"
@@ -54,7 +60,8 @@ static void check_command_line( int argc, char *argv[] )
"Usage: wine PROGRAM [ARGUMENTS...] Run the specified program\n"
" wine --help Display this help and exit\n"
" wine --version Output version information and exit\n"
@@ -260,7 +260,7 @@ index f6629128d..a2dc40c51 100644
if (argc <= 1)
{
@@ -111,6 +118,47 @@ static void check_command_line( int argc, char *argv[] )
@@ -110,6 +117,47 @@ static void check_command_line( int argc, char *argv[] )
exit(0);
}
@@ -309,5 +309,5 @@ index f6629128d..a2dc40c51 100644
--
2.25.0
2.25.1

View File

@@ -1,4 +1,4 @@
From ad23e816eb724d81032306f8ac6d4faa96ccaf4a Mon Sep 17 00:00:00 2001
From 3a94f82a0cf783abf7c7d17335914bed3c6791bb Mon Sep 17 00:00:00 2001
From: Dmitry Timoshkov <dmitry@baikal.ru>
Date: Tue, 12 Nov 2019 18:13:20 +0800
Subject: [PATCH] comctl32: Bump version to 6.0.
@@ -40,7 +40,7 @@ index c9aa1ba6253..be6e2425193 100644
#define WINE_PRODUCTVERSION_STR WINE_FILEVERSION_STR
diff --git a/include/commctrl.h b/include/commctrl.h
index 700b335fbb7..029a4b45457 100644
index dfd2f4a37d2..0784478ce14 100644
--- a/include/commctrl.h
+++ b/include/commctrl.h
@@ -51,7 +51,7 @@ enum _LI_METRIC
@@ -50,8 +50,8 @@ index 700b335fbb7..029a4b45457 100644
-#define COMCTL32_VERSION 5 /* dll version */
+#define COMCTL32_VERSION 6 /* dll version */
#ifndef _WIN32_IE
#define _WIN32_IE 0x0400
#define ICC_LISTVIEW_CLASSES 0x00000001 /* listview, header */
#define ICC_TREEVIEW_CLASSES 0x00000002 /* treeview, tooltips */
--
2.24.1
2.25.1

View File

@@ -1,15 +1,15 @@
From e920f461eaf4c5d19c0cfc8e9c9a40671269dd93 Mon Sep 17 00:00:00 2001
From 1c52fd394b75313b41023d53c011ab861dc79b66 Mon Sep 17 00:00:00 2001
From: Sebastian Lackner <sebastian@fds-team.de>
Date: Mon, 6 Oct 2014 05:06:06 +0200
Subject: [PATCH] dbghelp: Always check for debug symbols in BINDIR.
---
dlls/dbghelp/Makefile.in | 2 +-
dlls/dbghelp/elf_module.c | 8 +++++---
2 files changed, 6 insertions(+), 4 deletions(-)
dlls/dbghelp/elf_module.c | 1 +
2 files changed, 2 insertions(+), 1 deletion(-)
diff --git a/dlls/dbghelp/Makefile.in b/dlls/dbghelp/Makefile.in
index f08464cd422..aa7a767110b 100644
index 39d3bfc8641..ab66ff5b6c5 100644
--- a/dlls/dbghelp/Makefile.in
+++ b/dlls/dbghelp/Makefile.in
@@ -1,6 +1,6 @@
@@ -21,24 +21,17 @@ index f08464cd422..aa7a767110b 100644
EXTRAINCL = $(Z_CFLAGS)
EXTRALIBS = $(Z_LIBS) $(CORESERVICES_LIBS) $(COREFOUNDATION_LIBS)
diff --git a/dlls/dbghelp/elf_module.c b/dlls/dbghelp/elf_module.c
index 96b16fd5c0c..611533ee098 100644
index 0b60524fc44..f2d6e84e3ea 100644
--- a/dlls/dbghelp/elf_module.c
+++ b/dlls/dbghelp/elf_module.c
@@ -1644,9 +1644,11 @@ static BOOL elf_search_and_load_file(struct process* pcs, const WCHAR* filename,
if (!ret && !strchrW(filename, '/'))
{
ret = elf_load_file_from_path(pcs, filename, load_offset, dyn_addr,
- getenv("PATH"), elf_info) ||
- elf_load_file_from_path(pcs, filename, load_offset, dyn_addr,
- getenv("LD_LIBRARY_PATH"), elf_info);
+ getenv("PATH"), elf_info);
+ if (!ret) ret = elf_load_file_from_path(pcs, filename, load_offset, dyn_addr,
+ getenv("LD_LIBRARY_PATH"), elf_info);
+ if (!ret) ret = elf_load_file_from_path(pcs, filename, load_offset, dyn_addr,
+ BINDIR, elf_info);
if (!ret) ret = elf_load_file_from_dll_path(pcs, filename,
load_offset, dyn_addr, elf_info);
@@ -1379,6 +1379,7 @@ static BOOL elf_search_and_load_file(struct process* pcs, const WCHAR* filename,
ret = search_unix_path(filename, getenv("PATH"), elf_load_file_cb, &load_elf)
|| search_unix_path(filename, getenv("LD_LIBRARY_PATH"), elf_load_file_cb, &load_elf)
+ || search_unix_path(filename, BINDIR, elf_load_file_cb, &load_elf)
|| search_dll_path(filename, elf_load_file_cb, &load_elf);
}
--
2.20.1
2.25.1

View File

@@ -1,4 +1,4 @@
From da87296baa62ed82f5334236ef9b259aac818e5d Mon Sep 17 00:00:00 2001
From 2097fbe83a66a3a423bdd148ecfc4f16c1237110 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Michael=20M=C3=BCller?= <michael@fds-team.de>
Date: Wed, 29 Jul 2015 17:09:50 +0200
Subject: [PATCH] ddraw: Create rendering targets in video memory if possible.
@@ -12,10 +12,10 @@ Based on a patch by Henri Verbeet.
4 files changed, 56 insertions(+), 15 deletions(-)
diff --git a/dlls/ddraw/ddraw.c b/dlls/ddraw/ddraw.c
index 535f33f1c7d..00fd337ead4 100644
index 050f625f7..9655f9e47 100644
--- a/dlls/ddraw/ddraw.c
+++ b/dlls/ddraw/ddraw.c
@@ -4298,7 +4298,7 @@ static HRESULT WINAPI d3d7_CreateDevice(IDirect3D7 *iface, REFCLSID riid,
@@ -4214,7 +4214,7 @@ static HRESULT WINAPI d3d7_CreateDevice(IDirect3D7 *iface, REFCLSID riid,
TRACE("iface %p, riid %s, surface %p, device %p.\n", iface, debugstr_guid(riid), surface, device);
wined3d_mutex_lock();
@@ -24,7 +24,7 @@ index 535f33f1c7d..00fd337ead4 100644
{
*device = &object->IDirect3DDevice7_iface;
}
@@ -4327,7 +4327,7 @@ static HRESULT WINAPI d3d3_CreateDevice(IDirect3D3 *iface, REFCLSID riid,
@@ -4243,7 +4243,7 @@ static HRESULT WINAPI d3d3_CreateDevice(IDirect3D3 *iface, REFCLSID riid,
return CLASS_E_NOAGGREGATION;
wined3d_mutex_lock();
@@ -33,7 +33,7 @@ index 535f33f1c7d..00fd337ead4 100644
{
*device = &device_impl->IDirect3DDevice3_iface;
}
@@ -4353,7 +4353,7 @@ static HRESULT WINAPI d3d2_CreateDevice(IDirect3D2 *iface, REFCLSID riid,
@@ -4269,7 +4269,7 @@ static HRESULT WINAPI d3d2_CreateDevice(IDirect3D2 *iface, REFCLSID riid,
iface, debugstr_guid(riid), surface, device);
wined3d_mutex_lock();
@@ -43,10 +43,10 @@ index 535f33f1c7d..00fd337ead4 100644
*device = &device_impl->IDirect3DDevice2_iface;
}
diff --git a/dlls/ddraw/ddraw_private.h b/dlls/ddraw/ddraw_private.h
index 42a7a85e4ec..1a7e48fdffa 100644
index f4fe970a6..ba0ec73d8 100644
--- a/dlls/ddraw/ddraw_private.h
+++ b/dlls/ddraw/ddraw_private.h
@@ -310,6 +310,7 @@ struct d3d_device
@@ -313,6 +313,7 @@ struct d3d_device
IUnknown IUnknown_inner;
LONG ref;
UINT version;
@@ -54,8 +54,8 @@ index 42a7a85e4ec..1a7e48fdffa 100644
IUnknown *outer_unknown;
struct wined3d_device *wined3d_device;
@@ -356,7 +357,7 @@ struct d3d_device
struct wined3d_stateblock *recording, *state, *update_state;
@@ -360,7 +361,7 @@ struct d3d_device
const struct wined3d_stateblock_state *stateblock_state;
};
-HRESULT d3d_device_create(struct ddraw *ddraw, struct ddraw_surface *target, IUnknown *rt_iface,
@@ -64,10 +64,10 @@ index 42a7a85e4ec..1a7e48fdffa 100644
enum wined3d_depth_buffer_type d3d_device_update_depth_stencil(struct d3d_device *device) DECLSPEC_HIDDEN;
diff --git a/dlls/ddraw/device.c b/dlls/ddraw/device.c
index 7acc8e0db0b..390d9a9040d 100644
index 048ba7fba..ce74a0fb8 100644
--- a/dlls/ddraw/device.c
+++ b/dlls/ddraw/device.c
@@ -1856,7 +1856,7 @@ static HRESULT d3d_device7_SetRenderTarget(IDirect3DDevice7 *iface,
@@ -1858,7 +1858,7 @@ static HRESULT d3d_device7_SetRenderTarget(IDirect3DDevice7 *iface,
return DDERR_INVALIDCAPS;
}
@@ -76,7 +76,7 @@ index 7acc8e0db0b..390d9a9040d 100644
{
WARN("Surface %p is not in video memory.\n", target_impl);
wined3d_mutex_unlock();
@@ -1932,7 +1932,7 @@ static HRESULT WINAPI d3d_device3_SetRenderTarget(IDirect3DDevice3 *iface,
@@ -1934,7 +1934,7 @@ static HRESULT WINAPI d3d_device3_SetRenderTarget(IDirect3DDevice3 *iface,
return DDERR_INVALIDPIXELFORMAT;
}
@@ -85,7 +85,7 @@ index 7acc8e0db0b..390d9a9040d 100644
{
WARN("Surface %p is not in video memory.\n", target_impl);
IDirectDrawSurface4_AddRef(target);
@@ -1981,7 +1981,7 @@ static HRESULT WINAPI d3d_device2_SetRenderTarget(IDirect3DDevice2 *iface,
@@ -1983,7 +1983,7 @@ static HRESULT WINAPI d3d_device2_SetRenderTarget(IDirect3DDevice2 *iface,
return DDERR_INVALIDPIXELFORMAT;
}
@@ -94,7 +94,7 @@ index 7acc8e0db0b..390d9a9040d 100644
{
WARN("Surface %p is not in video memory.\n", target_impl);
IDirectDrawSurface_AddRef(target);
@@ -6956,7 +6956,7 @@ static void ddraw_reset_viewport_state(struct ddraw *ddraw)
@@ -6951,7 +6951,7 @@ static void ddraw_reset_viewport_state(struct ddraw *ddraw)
wined3d_stateblock_set_scissor_rect(ddraw->state, &rect);
}
@@ -103,7 +103,7 @@ index 7acc8e0db0b..390d9a9040d 100644
struct ddraw_surface *target, IUnknown *rt_iface, UINT version, IUnknown *outer_unknown)
{
static const struct wined3d_matrix ident =
@@ -6979,6 +6979,7 @@ static HRESULT d3d_device_init(struct d3d_device *device, struct ddraw *ddraw,
@@ -6974,6 +6974,7 @@ static HRESULT d3d_device_init(struct d3d_device *device, struct ddraw *ddraw,
device->IUnknown_inner.lpVtbl = &d3d_device_inner_vtbl;
device->ref = 1;
device->version = version;
@@ -111,7 +111,7 @@ index 7acc8e0db0b..390d9a9040d 100644
if (outer_unknown)
device->outer_unknown = outer_unknown;
@@ -7036,14 +7037,18 @@ static HRESULT d3d_device_init(struct d3d_device *device, struct ddraw *ddraw,
@@ -7032,14 +7033,18 @@ static HRESULT d3d_device_init(struct d3d_device *device, struct ddraw *ddraw,
return D3D_OK;
}
@@ -133,7 +133,7 @@ index 7acc8e0db0b..390d9a9040d 100644
if (!(target->surface_desc.ddsCaps.dwCaps & DDSCAPS_3DDEVICE)
|| (target->surface_desc.ddsCaps.dwCaps & DDSCAPS_ZBUFFER))
@@ -7066,7 +7071,7 @@ HRESULT d3d_device_create(struct ddraw *ddraw, struct ddraw_surface *target, IUn
@@ -7062,7 +7067,7 @@ HRESULT d3d_device_create(struct ddraw *ddraw, struct ddraw_surface *target, IUn
return DDERR_OUTOFMEMORY;
}
@@ -142,7 +142,7 @@ index 7acc8e0db0b..390d9a9040d 100644
{
WARN("Surface %p is not in video memory.\n", target);
return D3DERR_SURFACENOTINVIDMEM;
@@ -7084,7 +7089,7 @@ HRESULT d3d_device_create(struct ddraw *ddraw, struct ddraw_surface *target, IUn
@@ -7080,7 +7085,7 @@ HRESULT d3d_device_create(struct ddraw *ddraw, struct ddraw_surface *target, IUn
return DDERR_OUTOFMEMORY;
}
@@ -152,7 +152,7 @@ index 7acc8e0db0b..390d9a9040d 100644
WARN("Failed to initialize device, hr %#x.\n", hr);
heap_free(object);
diff --git a/dlls/ddraw/surface.c b/dlls/ddraw/surface.c
index da8913c521c..8b40e7de4b8 100644
index 85c1ef496..01522f515 100644
--- a/dlls/ddraw/surface.c
+++ b/dlls/ddraw/surface.c
@@ -223,7 +223,7 @@ static HRESULT WINAPI ddraw_surface7_QueryInterface(IDirectDrawSurface7 *iface,
@@ -164,7 +164,7 @@ index da8913c521c..8b40e7de4b8 100644
1, &This->device1, (IUnknown *)&This->IDirectDrawSurface_iface)))
{
This->device1 = NULL;
@@ -6201,7 +6201,42 @@ HRESULT ddraw_surface_create(struct ddraw *ddraw, const DDSURFACEDESC2 *surface_
@@ -6192,7 +6192,42 @@ HRESULT ddraw_surface_create(struct ddraw *ddraw, const DDSURFACEDESC2 *surface_
if (desc->ddsCaps.dwCaps & DDSCAPS_SYSTEMMEMORY)
{
@@ -196,7 +196,7 @@ index da8913c521c..8b40e7de4b8 100644
+ * possible.
+ */
+ if (bind_flags
+ && SUCCEEDED(hr = wined3d_check_device_format(ddraw->wined3d, WINED3DADAPTER_DEFAULT,
+ && SUCCEEDED(hr = wined3d_check_device_format(ddraw->wined3d, ddraw->wined3d_adapter,
+ WINED3D_DEVICE_TYPE_HAL, mode.format_id, 0,
+ bind_flags, WINED3D_RTYPE_TEXTURE_2D, wined3d_desc.format)))
+ {
@@ -209,5 +209,5 @@ index da8913c521c..8b40e7de4b8 100644
}
else
--
2.25.0
2.25.1

View File

@@ -1,4 +1,4 @@
From e9f5574ee2a3b6a0b2668747aef7d95c176ece8f Mon Sep 17 00:00:00 2001
From 8781454669b29f8e2a2c0406ed4b48b435354a0c Mon Sep 17 00:00:00 2001
From: Mark Jansen <mark.jansen@reactos.org>
Date: Sun, 24 Sep 2017 22:45:22 +0200
Subject: [PATCH] kernel32/tests: Add tests for job object accounting
@@ -9,10 +9,10 @@ Signed-off-by: Mark Jansen <mark.jansen@reactos.org>
1 file changed, 95 insertions(+)
diff --git a/dlls/kernel32/tests/process.c b/dlls/kernel32/tests/process.c
index f181536e7a6..4c2709cce0e 100644
index 32818042337..2ecd3dc10e8 100644
--- a/dlls/kernel32/tests/process.c
+++ b/dlls/kernel32/tests/process.c
@@ -2423,6 +2423,69 @@ static void _create_process(int line, const char *command, LPPROCESS_INFORMATION
@@ -2398,6 +2398,69 @@ static void _create_process(int line, const char *command, LPPROCESS_INFORMATION
ok_(__FILE__, line)(ret, "CreateProcess error %u\n", GetLastError());
}
@@ -82,7 +82,7 @@ index f181536e7a6..4c2709cce0e 100644
static void test_IsProcessInJob(void)
{
@@ -2449,11 +2512,15 @@ static void test_IsProcessInJob(void)
@@ -2423,11 +2486,15 @@ static void test_IsProcessInJob(void)
ret = pIsProcessInJob(pi.hProcess, job, &out);
ok(ret, "IsProcessInJob error %u\n", GetLastError());
ok(!out, "IsProcessInJob returned out=%u\n", out);
@@ -98,7 +98,7 @@ index f181536e7a6..4c2709cce0e 100644
ret = pAssignProcessToJobObject(job, pi.hProcess);
ok(ret, "AssignProcessToJobObject error %u\n", GetLastError());
@@ -2462,11 +2529,15 @@ static void test_IsProcessInJob(void)
@@ -2436,11 +2503,15 @@ static void test_IsProcessInJob(void)
ret = pIsProcessInJob(pi.hProcess, job, &out);
ok(ret, "IsProcessInJob error %u\n", GetLastError());
ok(out, "IsProcessInJob returned out=%u\n", out);
@@ -114,7 +114,7 @@ index f181536e7a6..4c2709cce0e 100644
out = FALSE;
ret = pIsProcessInJob(pi.hProcess, NULL, &out);
@@ -2482,6 +2553,8 @@ static void test_IsProcessInJob(void)
@@ -2454,6 +2525,8 @@ static void test_IsProcessInJob(void)
ret = pIsProcessInJob(pi.hProcess, job, &out);
ok(ret, "IsProcessInJob error %u\n", GetLastError());
ok(out, "IsProcessInJob returned out=%u\n", out);
@@ -123,7 +123,7 @@ index f181536e7a6..4c2709cce0e 100644
CloseHandle(pi.hProcess);
CloseHandle(pi.hThread);
@@ -2498,11 +2571,15 @@ static void test_TerminateJobObject(void)
@@ -2470,11 +2543,15 @@ static void test_TerminateJobObject(void)
job = pCreateJobObjectW(NULL, NULL);
ok(job != NULL, "CreateJobObject error %u\n", GetLastError());
@@ -139,7 +139,7 @@ index f181536e7a6..4c2709cce0e 100644
ret = pTerminateJobObject(job, 123);
ok(ret, "TerminateJobObject error %u\n", GetLastError());
@@ -2510,6 +2587,8 @@ static void test_TerminateJobObject(void)
@@ -2483,6 +2560,8 @@ static void test_TerminateJobObject(void)
dwret = WaitForSingleObject(pi.hProcess, 1000);
ok(dwret == WAIT_OBJECT_0, "WaitForSingleObject returned %u\n", dwret);
if (dwret == WAIT_TIMEOUT) TerminateProcess(pi.hProcess, 0);
@@ -148,7 +148,7 @@ index f181536e7a6..4c2709cce0e 100644
ret = GetExitCodeProcess(pi.hProcess, &dwret);
ok(ret, "GetExitCodeProcess error %u\n", GetLastError());
@@ -2529,6 +2608,8 @@ static void test_TerminateJobObject(void)
@@ -2500,6 +2579,8 @@ static void test_TerminateJobObject(void)
ret = pAssignProcessToJobObject(job, pi.hProcess);
ok(!ret, "AssignProcessToJobObject unexpectedly succeeded\n");
expect_eq_d(ERROR_ACCESS_DENIED, GetLastError());
@@ -157,7 +157,7 @@ index f181536e7a6..4c2709cce0e 100644
CloseHandle(pi.hProcess);
CloseHandle(pi.hThread);
@@ -2715,11 +2796,15 @@ static void test_KillOnJobClose(void)
@@ -2687,11 +2768,15 @@ static void test_KillOnJobClose(void)
return;
}
ok(ret, "SetInformationJobObject error %u\n", GetLastError());
@@ -173,7 +173,7 @@ index f181536e7a6..4c2709cce0e 100644
CloseHandle(job);
@@ -2823,6 +2908,8 @@ static HANDLE test_AddSelfToJob(void)
@@ -2801,6 +2886,8 @@ static HANDLE test_AddSelfToJob(void)
ret = pAssignProcessToJobObject(job, GetCurrentProcess());
ok(ret, "AssignProcessToJobObject error %u\n", GetLastError());
@@ -182,16 +182,16 @@ index f181536e7a6..4c2709cce0e 100644
return job;
}
@@ -2850,6 +2937,8 @@ static void test_jobInheritance(HANDLE job)
@@ -2822,6 +2909,8 @@ static void test_jobInheritance(HANDLE job)
ret = pIsProcessInJob(pi.hProcess, job, &out);
ok(ret, "IsProcessInJob error %u\n", GetLastError());
ok(out, "IsProcessInJob returned out=%u\n", out);
+ test_assigned_proc(job, 2, GetCurrentProcessId(), pi.dwProcessId);
+ test_accounting(job, 2, 2, 0);
dwret = WaitForSingleObject(pi.hProcess, 1000);
ok(dwret == WAIT_OBJECT_0, "WaitForSingleObject returned %u\n", dwret);
@@ -2878,6 +2967,8 @@ static void test_BreakawayOk(HANDLE job)
wait_and_close_child_process(&pi);
}
@@ -2844,6 +2933,8 @@ static void test_BreakawayOk(HANDLE job)
ret = CreateProcessA(NULL, buffer, NULL, NULL, FALSE, CREATE_BREAKAWAY_FROM_JOB, NULL, NULL, &si, &pi);
ok(!ret, "CreateProcessA expected failure\n");
expect_eq_d(ERROR_ACCESS_DENIED, GetLastError());
@@ -200,24 +200,24 @@ index f181536e7a6..4c2709cce0e 100644
if (ret)
{
@@ -2900,6 +2991,8 @@ static void test_BreakawayOk(HANDLE job)
@@ -2861,6 +2952,8 @@ static void test_BreakawayOk(HANDLE job)
ret = pIsProcessInJob(pi.hProcess, job, &out);
ok(ret, "IsProcessInJob error %u\n", GetLastError());
ok(!out, "IsProcessInJob returned out=%u\n", out);
+ test_assigned_proc(job, 1, GetCurrentProcessId());
+ test_accounting(job, 2, 1, 0);
dwret = WaitForSingleObject(pi.hProcess, 1000);
ok(dwret == WAIT_OBJECT_0, "WaitForSingleObject returned %u\n", dwret);
@@ -2917,6 +3010,8 @@ static void test_BreakawayOk(HANDLE job)
wait_and_close_child_process(&pi);
@@ -2874,6 +2967,8 @@ static void test_BreakawayOk(HANDLE job)
ret = pIsProcessInJob(pi.hProcess, job, &out);
ok(ret, "IsProcessInJob error %u\n", GetLastError());
ok(!out, "IsProcessInJob returned out=%u\n", out);
+ test_assigned_proc(job, 1, GetCurrentProcessId());
+ test_accounting(job, 2, 1, 0);
dwret = WaitForSingleObject(pi.hProcess, 1000);
ok(dwret == WAIT_OBJECT_0, "WaitForSingleObject returned %u\n", dwret);
wait_and_close_child_process(&pi);
--
2.23.0
2.25.1

View File

@@ -1,15 +1,15 @@
From 09f5111caeb4051ccb58f0a2ffaf87b849af0ffd Mon Sep 17 00:00:00 2001
From 9ecf6543f498cfc6c1cfb44033746cfd1ba16587 Mon Sep 17 00:00:00 2001
From: Alistair Leslie-Hughes <leslie_alistair@hotmail.com>
Date: Mon, 1 Jul 2019 09:58:55 +1000
Subject: [PATCH] loader: Add Keyboard Layouts registry enteries.
Signed-off-by: Alistair Leslie-Hughes <leslie_alistair@hotmail.com>
---
loader/wine.inf.in | 209 +++++++++++++++++++++++++++++++++++++++++++++
1 file changed, 209 insertions(+)
loader/wine.inf.in | 215 +++++++++++++++++++++++++++++++++++++++++++++
1 file changed, 215 insertions(+)
diff --git a/loader/wine.inf.in b/loader/wine.inf.in
index 3a73f1fd046..d96d00eb770 100644
index 6e0cb212531..fc929859be3 100644
--- a/loader/wine.inf.in
+++ b/loader/wine.inf.in
@@ -39,6 +39,7 @@ AddReg=\
@@ -44,10 +44,16 @@ index 3a73f1fd046..d96d00eb770 100644
MCI,\
Misc,\
Tapi,\
@@ -1159,6 +1163,211 @@ HKLM,System\CurrentControlSet\Control\Nls\Normalization,"5",,"normnfkc.nls"
HKLM,System\CurrentControlSet\Control\Nls\Normalization,"6",,"normnfkd.nls"
HKLM,System\CurrentControlSet\Control\Nls\Normalization,"d",,"normidna.nls"
@@ -1087,6 +1091,217 @@ HKLM,System\CurrentControlSet\Control\Nls\Locale\Alternate Sorts,"00021004",,"a"
HKLM,System\CurrentControlSet\Control\Nls\Locale\Alternate Sorts,"00021404",,"9"
HKLM,System\CurrentControlSet\Control\Nls\Locale\Alternate Sorts,"00030404",,"9"
+HKLM,System\CurrentControlSet\Control\Nls\Normalization,"1",,"normnfc.nls"
+HKLM,System\CurrentControlSet\Control\Nls\Normalization,"2",,"normnfd.nls"
+HKLM,System\CurrentControlSet\Control\Nls\Normalization,"5",,"normnfkc.nls"
+HKLM,System\CurrentControlSet\Control\Nls\Normalization,"6",,"normnfkd.nls"
+HKLM,System\CurrentControlSet\Control\Nls\Normalization,"d",,"normidna.nls"
+
+[KeyboardLayouts]
+HKLM,SYSTEM\CurrentControlSet\Control\Keyboard Layouts,,16
+HKLM,SYSTEM\CurrentControlSet\Control\Keyboard Layouts\00000401,,16
@@ -257,5 +263,5 @@ index 3a73f1fd046..d96d00eb770 100644
HKLM,"Software\Microsoft\OLE","EnableDCOM",,"Y"
HKLM,"Software\Microsoft\OLE","EnableRemoteConnect",,"N"
--
2.25.0
2.25.1

View File

@@ -1,4 +1,4 @@
From 938f92470a25e590523f78912301177580c61955 Mon Sep 17 00:00:00 2001
From 4f3272686f4ae084510f96baa5ad52bbf74d3d8d Mon Sep 17 00:00:00 2001
From: "Erich E. Hoover" <erich.e.hoover@gmail.com>
Date: Wed, 20 Aug 2014 16:04:34 -0600
Subject: [PATCH] ntdll: Implement retrieving DOS attributes in
@@ -11,21 +11,21 @@ Subject: [PATCH] ntdll: Implement retrieving DOS attributes in
3 files changed, 16 insertions(+), 1 deletion(-)
diff --git a/dlls/ntdll/file.c b/dlls/ntdll/file.c
index 1ffa675..78ab0ec 100644
index 43a13cd8fdf..74b346b51e8 100644
--- a/dlls/ntdll/file.c
+++ b/dlls/ntdll/file.c
@@ -176,7 +176,8 @@ int fd_get_file_info( int fd, struct stat *st, ULONG *attr )
/* get the stat info and file attributes for a file (by name) */
@@ -183,7 +183,8 @@ int fd_get_file_info( int fd, unsigned int options, struct stat *st, ULONG *attr
int get_file_info( const char *path, struct stat *st, ULONG *attr )
{
char *parent_path;
- int ret;
+ char hexattr[11];
+ int len, ret;
*attr = 0;
ret = lstat( path, st );
@@ -193,6 +194,9 @@ int get_file_info( const char *path, struct stat *st, ULONG *attr )
st->st_mode = (st->st_mode & ~S_IFMT) | (is_dir ? S_IFDIR : S_IFREG);
@@ -216,6 +217,9 @@ int get_file_info( const char *path, struct stat *st, ULONG *attr )
RtlFreeHeap( GetProcessHeap(), 0, parent_path );
}
*attr |= get_file_attributes( st );
+ len = xattr_get( path, SAMBA_XATTR_DOS_ATTRIB, hexattr, sizeof(hexattr)-1 );
@@ -35,10 +35,10 @@ index 1ffa675..78ab0ec 100644
}
diff --git a/include/wine/port.h b/include/wine/port.h
index eaa23bc..de6b995 100644
index 8fec3a34591..570988a9422 100644
--- a/include/wine/port.h
+++ b/include/wine/port.h
@@ -351,6 +351,7 @@ extern int mkstemps(char *template, int suffix_len);
@@ -363,6 +363,7 @@ extern int mkstemps(char *template, int suffix_len);
#endif
extern int xattr_fget( int filedes, const char *name, void *value, size_t size );
@@ -47,7 +47,7 @@ index eaa23bc..de6b995 100644
/* Interlocked functions */
diff --git a/libs/port/xattr.c b/libs/port/xattr.c
index 94b7713..88e900d 100644
index 94b77132bbf..88e900dac6d 100644
--- a/libs/port/xattr.c
+++ b/libs/port/xattr.c
@@ -37,3 +37,13 @@ int xattr_fget( int filedes, const char *name, void *value, size_t size )
@@ -65,5 +65,5 @@ index 94b7713..88e900d 100644
+#endif
+}
--
1.9.1
2.25.1

View File

@@ -1,4 +1,4 @@
From a0b58c6366226c2079da60a4b5d757da4bd728b6 Mon Sep 17 00:00:00 2001
From e1e41f084c6cdeba3cb44aaa6753b13bc1411df8 Mon Sep 17 00:00:00 2001
From: "Erich E. Hoover" <erich.e.hoover@gmail.com>
Date: Wed, 20 Aug 2014 11:26:48 -0600
Subject: [PATCH] ntdll: Perform the Unix-style hidden file check within the
@@ -11,10 +11,10 @@ Subject: [PATCH] ntdll: Perform the Unix-style hidden file check within the
3 files changed, 10 insertions(+), 17 deletions(-)
diff --git a/dlls/ntdll/directory.c b/dlls/ntdll/directory.c
index c853470..56737b8 100644
index ba50aa1b807..d6bf1354a5b 100644
--- a/dlls/ntdll/directory.c
+++ b/dlls/ntdll/directory.c
@@ -1267,17 +1267,17 @@ static DWORD WINAPI init_options( RTL_RUN_ONCE *once, void *param, void **contex
@@ -1274,17 +1274,17 @@ static DWORD WINAPI init_options( RTL_RUN_ONCE *once, void *param, void **contex
*
* Check if the specified file should be hidden based on its name and the show dot files option.
*/
@@ -37,7 +37,7 @@ index c853470..56737b8 100644
if (p == end || *p != '.') return FALSE;
/* make sure it isn't '.' or '..' */
if (p + 1 == end) return FALSE;
@@ -1526,11 +1526,6 @@ static NTSTATUS get_dir_data_entry( struct dir_data *dir_data, void *info_ptr, I
@@ -1532,11 +1532,6 @@ static NTSTATUS get_dir_data_entry( struct dir_data *dir_data, void *info_ptr, I
if (class != FileNamesInformation)
{
if (st.st_dev != dir_data->id.dev) st.st_ino = 0; /* ignore inode if on a different device */
@@ -50,11 +50,11 @@ index c853470..56737b8 100644
}
diff --git a/dlls/ntdll/file.c b/dlls/ntdll/file.c
index 0dbf612..5926c99 100644
index 6a935044f46..a0e54c27198 100644
--- a/dlls/ntdll/file.c
+++ b/dlls/ntdll/file.c
@@ -227,6 +227,10 @@ int get_file_info( const char *path, struct stat *st, ULONG *attr )
st->st_mode = (st->st_mode & ~S_IFMT) | (is_dir ? S_IFDIR : S_IFREG);
@@ -250,6 +250,10 @@ int get_file_info( const char *path, struct stat *st, ULONG *attr )
RtlFreeHeap( GetProcessHeap(), 0, parent_path );
}
*attr |= get_file_attributes( st );
+ /* convert Unix-style hidden files to a DOS hidden file attribute */
@@ -64,7 +64,7 @@ index 0dbf612..5926c99 100644
len = xattr_get( path, SAMBA_XATTR_DOS_ATTRIB, hexattr, sizeof(hexattr)-1 );
if (len == -1) return ret;
*attr |= get_file_xattr( hexattr, len );
@@ -3447,8 +3451,6 @@ NTSTATUS WINAPI NtQueryFullAttributesFile( const OBJECT_ATTRIBUTES *attr,
@@ -3489,8 +3493,6 @@ NTSTATUS WINAPI NtQueryFullAttributesFile( const OBJECT_ATTRIBUTES *attr,
info->AllocationSize = std.AllocationSize;
info->EndOfFile = std.EndOfFile;
info->FileAttributes = basic.FileAttributes;
@@ -73,7 +73,7 @@ index 0dbf612..5926c99 100644
}
RtlFreeAnsiString( &unix_name );
}
@@ -3476,11 +3478,7 @@ NTSTATUS WINAPI NtQueryAttributesFile( const OBJECT_ATTRIBUTES *attr, FILE_BASIC
@@ -3518,11 +3520,7 @@ NTSTATUS WINAPI NtQueryAttributesFile( const OBJECT_ATTRIBUTES *attr, FILE_BASIC
else if (!S_ISREG(st.st_mode) && !S_ISDIR(st.st_mode))
status = STATUS_INVALID_INFO_CLASS;
else
@@ -86,10 +86,10 @@ index 0dbf612..5926c99 100644
}
else WARN("%s not found (%x)\n", debugstr_us(attr->ObjectName), status );
diff --git a/dlls/ntdll/ntdll_misc.h b/dlls/ntdll/ntdll_misc.h
index b762ceb..32db62e 100644
index aeed9b857c2..b1cb9aa6843 100644
--- a/dlls/ntdll/ntdll_misc.h
+++ b/dlls/ntdll/ntdll_misc.h
@@ -164,7 +164,7 @@ extern NTSTATUS fill_file_info( const struct stat *st, ULONG attr, void *ptr,
@@ -168,7 +168,7 @@ extern NTSTATUS fill_file_info( const struct stat *st, ULONG attr, void *ptr,
FILE_INFORMATION_CLASS class ) DECLSPEC_HIDDEN;
extern NTSTATUS server_get_unix_name( HANDLE handle, ANSI_STRING *unix_name ) DECLSPEC_HIDDEN;
extern void init_directories(void) DECLSPEC_HIDDEN;
@@ -99,5 +99,5 @@ index b762ceb..32db62e 100644
extern NTSTATUS DIR_get_unix_cwd( char **cwd ) DECLSPEC_HIDDEN;
extern unsigned int DIR_get_drives_info( struct drive_info info[MAX_DOS_DRIVES] ) DECLSPEC_HIDDEN;
--
1.9.1
2.25.1

View File

@@ -1,4 +1,4 @@
From 1fe0fcb904363d5ac59b8d30a918f62f622b78b7 Mon Sep 17 00:00:00 2001
From 08ece1e8da040d80c13348c2ffeb56052779dc53 Mon Sep 17 00:00:00 2001
From: Sebastian Lackner <sebastian@fds-team.de>
Date: Thu, 14 Jan 2016 23:09:19 +0100
Subject: [PATCH] ntdll: Always store SAMBA_XATTR_DOS_ATTRIB when path could be
@@ -9,11 +9,11 @@ Subject: [PATCH] ntdll: Always store SAMBA_XATTR_DOS_ATTRIB when path could be
1 file changed, 8 insertions(+), 5 deletions(-)
diff --git a/dlls/ntdll/file.c b/dlls/ntdll/file.c
index 5926c99..cbd2531 100644
index a0e54c27198..61b417ef678 100644
--- a/dlls/ntdll/file.c
+++ b/dlls/ntdll/file.c
@@ -227,12 +227,15 @@ int get_file_info( const char *path, struct stat *st, ULONG *attr )
st->st_mode = (st->st_mode & ~S_IFMT) | (is_dir ? S_IFDIR : S_IFREG);
@@ -250,12 +250,15 @@ int get_file_info( const char *path, struct stat *st, ULONG *attr )
RtlFreeHeap( GetProcessHeap(), 0, parent_path );
}
*attr |= get_file_attributes( st );
- /* convert Unix-style hidden files to a DOS hidden file attribute */
@@ -32,7 +32,7 @@ index 5926c99..cbd2531 100644
*attr |= get_file_xattr( hexattr, len );
return ret;
}
@@ -245,7 +248,7 @@ NTSTATUS set_file_info( const char *path, ULONG attr )
@@ -268,7 +271,7 @@ NTSTATUS set_file_info( const char *path, ULONG attr )
/* Note: unix mode already set when called this way */
attr &= ~FILE_ATTRIBUTE_NORMAL; /* do not store everything, but keep everything Samba can use */
len = sprintf( hexattr, "0x%x", attr );
@@ -42,5 +42,5 @@ index 5926c99..cbd2531 100644
else
xattr_remove( path, SAMBA_XATTR_DOS_ATTRIB );
--
1.9.1
2.25.1

View File

@@ -1,66 +0,0 @@
From d3eff4b920f4bc700046779cc44cea186b4cf28a Mon Sep 17 00:00:00 2001
From: Sebastian Lackner <sebastian@fds-team.de>
Date: Wed, 3 Jun 2015 01:37:34 +0200
Subject: server: When combining root and name, make sure there is only one
slash. (v2)
Changes in v2:
* Resolve inter-patch conflict.
---
dlls/ntdll/tests/file.c | 4 ++--
server/fd.c | 16 ++++++++++++----
2 files changed, 14 insertions(+), 6 deletions(-)
diff --git a/dlls/ntdll/tests/file.c b/dlls/ntdll/tests/file.c
index a24ce35..8b20966 100644
--- a/dlls/ntdll/tests/file.c
+++ b/dlls/ntdll/tests/file.c
@@ -2147,8 +2147,8 @@ static void test_file_rename_information(void)
res = pNtQueryInformationFile( handle, &io, fni, sizeof(FILE_NAME_INFORMATION) + MAX_PATH * sizeof(WCHAR), FileNameInformation );
ok( res == STATUS_SUCCESS, "res expected STATUS_SUCCESS, got %x\n", res );
fni->FileName[ fni->FileNameLength / sizeof(WCHAR) ] = 0;
- todo_wine ok( !lstrcmpiW(fni->FileName, newpath + 2), "FileName expected %s, got %s\n",
- wine_dbgstr_w(newpath + 2), wine_dbgstr_w(fni->FileName) );
+ ok( !lstrcmpiW(fni->FileName, newpath + 2), "FileName expected %s, got %s\n",
+ wine_dbgstr_w(newpath + 2), wine_dbgstr_w(fni->FileName) );
HeapFree( GetProcessHeap(), 0, fni );
CloseHandle( handle );
diff --git a/server/fd.c b/server/fd.c
index ea328d2..e6bd5e0 100644
--- a/server/fd.c
+++ b/server/fd.c
@@ -1730,6 +1730,7 @@ void set_fd_user( struct fd *fd, const struct fd_ops *user_ops, struct object *u
char *dup_fd_name( struct fd *root, const char *name )
{
char *ret;
+ int len;
if (!root) return strdup( name );
if (!root->unix_name) return NULL;
@@ -1737,11 +1738,18 @@ char *dup_fd_name( struct fd *root, const char *name )
/* skip . prefix */
if (name[0] == '.' && (!name[1] || name[1] == '/')) name++;
- if ((ret = malloc( strlen(root->unix_name) + strlen(name) + 2 )))
+ len = strlen( root->unix_name );
+ if ((ret = malloc( len + strlen(name) + 2 )))
{
- strcpy( ret, root->unix_name );
- if (name[0] && name[0] != '/') strcat( ret, "/" );
- strcat( ret, name );
+ memcpy( ret, root->unix_name, len );
+ while (len && ret[len - 1] == '/') len--;
+ while (name[0] == '/') name++;
+ if (name[0])
+ {
+ ret[ len ] = '/';
+ strcpy( ret + len + 1, name );
+ }
+ else ret[ len ] = 0;
}
return ret;
}
--
2.9.0

View File

@@ -1,4 +1,4 @@
From bcf36a9100a2452469c0058798073a72e1dba8f9 Mon Sep 17 00:00:00 2001
From 6e41aeac02672253805dbadf694965cd1fb925bf Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Michael=20M=C3=BCller?= <michael@fds-team.de>
Date: Mon, 3 Apr 2017 05:56:19 +0200
Subject: ntdll: Use HashLinks when searching for a dll using the basename.
@@ -8,11 +8,11 @@ Subject: ntdll: Use HashLinks when searching for a dll using the basename.
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/dlls/ntdll/loader.c b/dlls/ntdll/loader.c
index d9b6b7d1c7..7f0d2e7375 100644
index 289c15a7be3..88fd86ce2be 100644
--- a/dlls/ntdll/loader.c
+++ b/dlls/ntdll/loader.c
@@ -509,10 +509,10 @@ static WINE_MODREF *find_basename_module( LPCWSTR name )
if (cached_modref && !strcmpiW( name, cached_modref->ldr.BaseDllName.Buffer ))
@@ -541,10 +541,10 @@ static WINE_MODREF *find_basename_module( LPCWSTR name )
if (cached_modref && RtlEqualUnicodeString( &name_str, &cached_modref->ldr.BaseDllName, TRUE ))
return cached_modref;
- mark = &NtCurrentTeb()->Peb->LdrData->InLoadOrderModuleList;
@@ -21,9 +21,9 @@ index d9b6b7d1c7..7f0d2e7375 100644
{
- LDR_MODULE *mod = CONTAINING_RECORD(entry, LDR_MODULE, InLoadOrderModuleList);
+ LDR_MODULE *mod = CONTAINING_RECORD(entry, LDR_MODULE, HashLinks);
if (!strcmpiW( name, mod->BaseDllName.Buffer ))
if (RtlEqualUnicodeString( &name_str, &mod->BaseDllName, TRUE ))
{
cached_modref = CONTAINING_RECORD(mod, WINE_MODREF, ldr);
--
2.11.0
2.25.1

View File

@@ -1,7 +1,7 @@
From 916221d26598c06a07e84d980ae4c16e92b38ebd Mon Sep 17 00:00:00 2001
From f1cc7357530e993ca472d496bdcf8f38d931ccb6 Mon Sep 17 00:00:00 2001
From: "Erich E. Hoover" <erich.e.hoover@gmail.com>
Date: Sat, 30 Mar 2019 12:00:51 -0600
Subject: ntdll: Correctly report file symbolic links as files.
Subject: [PATCH] ntdll: Correctly report file symbolic links as files.
Signed-off-by: Erich E. Hoover <erich.e.hoover@gmail.com>
---
@@ -10,7 +10,7 @@ Signed-off-by: Erich E. Hoover <erich.e.hoover@gmail.com>
2 files changed, 84 insertions(+), 44 deletions(-)
diff --git a/dlls/ntdll/file.c b/dlls/ntdll/file.c
index 3e1121e521..be594ea517 100644
index e1f9ef1199c..fd3a48dffec 100644
--- a/dlls/ntdll/file.c
+++ b/dlls/ntdll/file.c
@@ -124,6 +124,9 @@ mode_t FILE_umask = 0;
@@ -23,7 +23,7 @@ index 3e1121e521..be594ea517 100644
/* fetch the attributes of a file */
static inline ULONG get_file_attributes( const struct stat *st )
{
@@ -160,10 +163,15 @@ int get_file_info( const char *path, struct stat *st, ULONG *attr )
@@ -171,10 +174,15 @@ int get_file_info( const char *path, struct stat *st, ULONG *attr )
if (ret == -1) return ret;
if (S_ISLNK( st->st_mode ))
{
@@ -41,9 +41,9 @@ index 3e1121e521..be594ea517 100644
+ if (FILE_DecodeSymlink( path, NULL, NULL, NULL, NULL, &is_dir ) == STATUS_SUCCESS)
+ st->st_mode = (st->st_mode & ~S_IFMT) | (is_dir ? S_IFDIR : S_IFREG);
}
*attr |= get_file_attributes( st );
return ret;
@@ -1817,48 +1825,33 @@ cleanup:
else if (S_ISDIR( st->st_mode ) && (parent_path = RtlAllocateHeap( GetProcessHeap(), 0, strlen(path) + 4 )))
{
@@ -1842,48 +1850,33 @@ cleanup:
}
@@ -107,7 +107,7 @@ index 3e1121e521..be594ea517 100644
p++;
}
if (*p++ != '/')
@@ -1866,7 +1859,7 @@ NTSTATUS FILE_GetSymlink(HANDLE handle, REPARSE_DATA_BUFFER *buffer, ULONG out_s
@@ -1891,7 +1884,7 @@ NTSTATUS FILE_GetSymlink(HANDLE handle, REPARSE_DATA_BUFFER *buffer, ULONG out_s
status = STATUS_NOT_IMPLEMENTED;
goto cleanup;
}
@@ -116,7 +116,7 @@ index 3e1121e521..be594ea517 100644
for (i = 0; i < sizeof(ULONG)*8; i++)
{
char c = *p++;
@@ -1881,21 +1874,68 @@ NTSTATUS FILE_GetSymlink(HANDLE handle, REPARSE_DATA_BUFFER *buffer, ULONG out_s
@@ -1906,21 +1899,68 @@ NTSTATUS FILE_GetSymlink(HANDLE handle, REPARSE_DATA_BUFFER *buffer, ULONG out_s
status = STATUS_NOT_IMPLEMENTED;
goto cleanup;
}
@@ -191,10 +191,10 @@ index 3e1121e521..be594ea517 100644
/* convert the relative path into an absolute path */
if (flags == SYMLINK_FLAG_RELATIVE)
diff --git a/dlls/ntdll/tests/file.c b/dlls/ntdll/tests/file.c
index b904bc1f2d..fbd824fd10 100644
index 1f278f63963..dfc3617ec01 100644
--- a/dlls/ntdll/tests/file.c
+++ b/dlls/ntdll/tests/file.c
@@ -5065,13 +5065,13 @@ static void test_reparse_points(void)
@@ -5188,13 +5188,13 @@ static void test_reparse_points(void)
/* Check deleting a file symlink as if it were a directory */
bret = RemoveDirectoryW(reparse_path);
@@ -210,7 +210,7 @@ index b904bc1f2d..fbd824fd10 100644
ok(dwret & FILE_ATTRIBUTE_REPARSE_POINT, "File is not a symlink! (attributes: 0x%x)\n", dwret);
/* Delete the symlink as a file */
@@ -5080,10 +5080,10 @@ static void test_reparse_points(void)
@@ -5203,10 +5203,10 @@ static void test_reparse_points(void)
/* Create a blank slate for directory symlink tests */
bret = CreateDirectoryW(reparse_path, NULL);
@@ -224,5 +224,5 @@ index b904bc1f2d..fbd824fd10 100644
/* Create the directory symlink */
HeapFree(GetProcessHeap(), 0, buffer);
--
2.17.1
2.25.1

View File

@@ -1,4 +1,4 @@
From 6c7f51234dfee692fb1ecc6045dcfc8ceb0a8a81 Mon Sep 17 00:00:00 2001
From fb9f83f9c1043dfff84c51f7223bee172c9ac40f Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Michael=20M=C3=BCller?= <michael@fds-team.de>
Date: Sun, 27 Jul 2014 03:35:42 +0200
Subject: [PATCH] ntdll: Allow special characters in pipe names.
@@ -10,7 +10,7 @@ Based on patch by Valentyn Pavliuchenko.
2 files changed, 20 insertions(+), 4 deletions(-)
diff --git a/dlls/kernel32/tests/pipe.c b/dlls/kernel32/tests/pipe.c
index 20f3450c6d..fb6f1476d6 100644
index 3c7ca06a045..453dcc80b7b 100644
--- a/dlls/kernel32/tests/pipe.c
+++ b/dlls/kernel32/tests/pipe.c
@@ -30,6 +30,7 @@
@@ -38,10 +38,10 @@ index 20f3450c6d..fb6f1476d6 100644
}
diff --git a/dlls/ntdll/directory.c b/dlls/ntdll/directory.c
index d6bf1354a5..0edd6c9a50 100644
index 993a661015e..aaf7c6eeed4 100644
--- a/dlls/ntdll/directory.c
+++ b/dlls/ntdll/directory.c
@@ -2756,6 +2756,7 @@ NTSTATUS CDECL wine_nt_to_unix_file_name( const UNICODE_STRING *nameW, ANSI_STRI
@@ -2747,6 +2747,7 @@ NTSTATUS CDECL wine_nt_to_unix_file_name( const UNICODE_STRING *nameW, ANSI_STRI
UINT disposition, BOOLEAN check_case )
{
static const WCHAR unixW[] = {'u','n','i','x'};
@@ -49,15 +49,15 @@ index d6bf1354a5..0edd6c9a50 100644
static const WCHAR invalid_charsW[] = { INVALID_NT_CHARS, 0 };
NTSTATUS status = STATUS_SUCCESS;
@@ -2766,6 +2767,7 @@ NTSTATUS CDECL wine_nt_to_unix_file_name( const UNICODE_STRING *nameW, ANSI_STRI
@@ -2757,6 +2758,7 @@ NTSTATUS CDECL wine_nt_to_unix_file_name( const UNICODE_STRING *nameW, ANSI_STRI
int pos, ret, name_len, unix_len, prefix_len;
WCHAR prefix[MAX_DIR_ENTRY_LEN];
WCHAR prefix[MAX_DIR_ENTRY_LEN + 1];
BOOLEAN is_unix = FALSE;
+ BOOLEAN is_pipe = FALSE;
name = nameW->Buffer;
name_len = nameW->Length / sizeof(WCHAR);
@@ -2799,13 +2801,17 @@ NTSTATUS CDECL wine_nt_to_unix_file_name( const UNICODE_STRING *nameW, ANSI_STRI
@@ -2792,13 +2794,17 @@ NTSTATUS CDECL wine_nt_to_unix_file_name( const UNICODE_STRING *nameW, ANSI_STRI
name += prefix_len;
name_len -= prefix_len;
@@ -80,5 +80,5 @@ index d6bf1354a5..0edd6c9a50 100644
else
{
--
2.24.1
2.25.1

View File

@@ -1,6 +1,6 @@
From f19447eff25e8823df559a8c9a2506b404f4da4b Mon Sep 17 00:00:00 2001
From 657b5b508badf3e4dc711ab97670b62f6d1f811d Mon Sep 17 00:00:00 2001
From: Alex Henrie <alexhenrie24@gmail.com>
Date: Wed, 26 Feb 2020 00:31:18 -0700
Date: Thu, 19 Mar 2020 15:37:50 -0600
Subject: [PATCH] ntdll: Implement RtlIpv6StringToAddress(Ex)[AW]
Signed-off-by: Alex Henrie <alexhenrie24@gmail.com>
@@ -10,20 +10,20 @@ Signed-off-by: Alex Henrie <alexhenrie24@gmail.com>
2 files changed, 211 insertions(+), 14 deletions(-)
diff --git a/dlls/ntdll/ntdll.spec b/dlls/ntdll/ntdll.spec
index 57055ae34e..c715a1f612 100644
index 0ea72e3aef..8b9fb18eb1 100644
--- a/dlls/ntdll/ntdll.spec
+++ b/dlls/ntdll/ntdll.spec
@@ -778,10 +778,10 @@
@@ -781,10 +781,10 @@
# @ stub RtlIpv6AddressToStringExA
# @ stub RtlIpv6AddressToStringExW
# @ stub RtlIpv6AddressToStringW
-# @ stub RtlIpv6StringToAddressA
-# @ stub RtlIpv6StringToAddressExA
+@ stdcall RtlIpv6StringToAddressA(str ptr ptr)
+@ stdcall RtlIpv6StringToAddressExA(str ptr ptr)
+@ stdcall RtlIpv6StringToAddressExA(str ptr ptr ptr)
@ stdcall RtlIpv6StringToAddressExW(wstr ptr ptr ptr)
-# @ stub RtlIpv6StringToAddressW
+@ stdcall RtlIpv6StringToAddressW(wstr ptr ptr ptr)
+@ stdcall RtlIpv6StringToAddressW(wstr ptr ptr)
@ stdcall RtlIsActivationContextActive(ptr)
@ stdcall RtlIsCriticalSectionLocked(ptr)
@ stdcall RtlIsCriticalSectionLockedByThread(ptr)
@@ -277,5 +277,5 @@ index 15ff037fef..11e76ed295 100644
/***********************************************************************
--
2.25.1
2.26.0

View File

@@ -1,7 +1,7 @@
From e32483cc37bc466fdf009acbf8c1c9fb404ec972 Mon Sep 17 00:00:00 2001
From eaaefe1c916b7c66134bf0a3e37878fc9e1d7c56 Mon Sep 17 00:00:00 2001
From: Alex Henrie <alexhenrie24@gmail.com>
Date: Fri, 30 Aug 2019 13:43:52 -0600
Subject: [PATCH 5/5] ntdll: Implement RtlIpv6AddressToString(Ex)W
Subject: [PATCH] ntdll: Implement RtlIpv6AddressToString(Ex)W
Signed-off-by: Alex Henrie <alexhenrie24@gmail.com>
---
@@ -10,10 +10,10 @@ Signed-off-by: Alex Henrie <alexhenrie24@gmail.com>
2 files changed, 26 insertions(+), 2 deletions(-)
diff --git a/dlls/ntdll/ntdll.spec b/dlls/ntdll/ntdll.spec
index ac918bfa33..5a69721270 100644
index 233ee929591..1bc39a9ee3b 100644
--- a/dlls/ntdll/ntdll.spec
+++ b/dlls/ntdll/ntdll.spec
@@ -776,8 +776,8 @@
@@ -779,8 +779,8 @@
@ stdcall RtlIpv4StringToAddressW(wstr long ptr ptr)
@ stdcall RtlIpv6AddressToStringA(ptr ptr)
@ stdcall RtlIpv6AddressToStringExA(ptr long long ptr ptr)
@@ -22,13 +22,13 @@ index ac918bfa33..5a69721270 100644
+@ stdcall RtlIpv6AddressToStringExW(ptr long long ptr ptr)
+@ stdcall RtlIpv6AddressToStringW(ptr ptr)
@ stdcall RtlIpv6StringToAddressA(str ptr ptr)
@ stdcall RtlIpv6StringToAddressExA(str ptr ptr)
@ stdcall RtlIpv6StringToAddressExA(str ptr ptr ptr)
@ stdcall RtlIpv6StringToAddressExW(wstr ptr ptr ptr)
diff --git a/dlls/ntdll/rtl.c b/dlls/ntdll/rtl.c
index d2a7a6aac9..eb23639edc 100644
index c7f9bd1e537..81deaae78d5 100644
--- a/dlls/ntdll/rtl.c
+++ b/dlls/ntdll/rtl.c
@@ -1468,6 +1468,30 @@ char * WINAPI RtlIpv6AddressToStringA(const IN6_ADDR *address, char *str)
@@ -1472,6 +1472,30 @@ char * WINAPI RtlIpv6AddressToStringA(const IN6_ADDR *address, char *str)
return str + len - 1;
}
@@ -60,5 +60,5 @@ index d2a7a6aac9..eb23639edc 100644
* get_pointer_obfuscator (internal)
*/
--
2.24.1
2.25.1

View File

@@ -1,4 +1,4 @@
From 06a283fc4f686ee3c3cf33fec4f7e7b2c3f64bc4 Mon Sep 17 00:00:00 2001
From 097c8310c57f8f5cbcd83da40436a35703f9c1cf Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Michael=20M=C3=BCller?= <michael@fds-team.de>
Date: Thu, 9 Mar 2017 16:27:23 +0100
Subject: [PATCH] ntdll: Fill process kernel and user time.
@@ -10,10 +10,10 @@ Subject: [PATCH] ntdll: Fill process kernel and user time.
3 files changed, 57 insertions(+), 37 deletions(-)
diff --git a/dlls/ntdll/nt.c b/dlls/ntdll/nt.c
index 91d504f90aa..9c138726d68 100644
index 9ab9be4d0ce..81ed188c8bb 100644
--- a/dlls/ntdll/nt.c
+++ b/dlls/ntdll/nt.c
@@ -2600,6 +2600,7 @@ NTSTATUS WINAPI NtQuerySystemInformation(
@@ -2645,6 +2645,7 @@ NTSTATUS WINAPI NtQuerySystemInformation(
{
SYSTEM_PROCESS_INFORMATION* spi = SystemInformation;
SYSTEM_PROCESS_INFORMATION* last = NULL;
@@ -21,7 +21,7 @@ index 91d504f90aa..9c138726d68 100644
HANDLE hSnap = 0;
WCHAR procname[1024];
WCHAR* exename;
@@ -2637,7 +2638,7 @@ NTSTATUS WINAPI NtQuerySystemInformation(
@@ -2682,7 +2683,7 @@ NTSTATUS WINAPI NtQuerySystemInformation(
if (Length >= len + procstructlen)
{
@@ -30,7 +30,7 @@ index 91d504f90aa..9c138726d68 100644
* vmCounters, ioCounters
*/
@@ -2655,6 +2656,9 @@ NTSTATUS WINAPI NtQuerySystemInformation(
@@ -2700,6 +2701,9 @@ NTSTATUS WINAPI NtQuerySystemInformation(
/* spi->ti will be set later on */
@@ -41,7 +41,7 @@ index 91d504f90aa..9c138726d68 100644
len += procstructlen;
}
diff --git a/dlls/ntdll/ntdll_misc.h b/dlls/ntdll/ntdll_misc.h
index 70707bec042..db7f00359cf 100644
index 20feabf56b8..9a487a0520d 100644
--- a/dlls/ntdll/ntdll_misc.h
+++ b/dlls/ntdll/ntdll_misc.h
@@ -270,6 +270,10 @@ extern SYSTEM_CPU_INFORMATION cpu_info DECLSPEC_HIDDEN;
@@ -53,10 +53,10 @@ index 70707bec042..db7f00359cf 100644
+ LARGE_INTEGER *kernel, LARGE_INTEGER *user) DECLSPEC_HIDDEN;
+
/* string functions */
int __cdecl NTDLL_tolower( int c );
int __cdecl _stricmp( LPCSTR str1, LPCSTR str2 );
int __cdecl NTDLL_tolower( int c );
int __cdecl _stricmp( LPCSTR str1, LPCSTR str2 );
diff --git a/dlls/ntdll/thread.c b/dlls/ntdll/thread.c
index c6b70c557b4..029d94d8a38 100644
index 73e530da4f5..711a8bb1898 100644
--- a/dlls/ntdll/thread.c
+++ b/dlls/ntdll/thread.c
@@ -153,6 +153,53 @@ static ULONG_PTR get_image_addr(void)
@@ -113,7 +113,7 @@ index c6b70c557b4..029d94d8a38 100644
/***********************************************************************
* set_process_name
*
@@ -975,42 +1022,7 @@ NTSTATUS WINAPI NtQueryInformationThread( HANDLE handle, THREADINFOCLASS class,
@@ -963,42 +1010,7 @@ NTSTATUS WINAPI NtQueryInformationThread( HANDLE handle, THREADINFOCLASS class,
#ifdef __linux__
/* only /proc provides exact values for a specific thread */
if (unix_pid != -1 && unix_tid != -1)
@@ -158,5 +158,5 @@ index c6b70c557b4..029d94d8a38 100644
/* get values for current process instead */
--
2.23.0
2.25.1

View File

@@ -1,4 +1,4 @@
From 9374f7ab587fe60c0e3436d15adf917a44e08711 Mon Sep 17 00:00:00 2001
From 1b90b687170f3a00093fcdf0914c9f89aea3a3bd Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Michael=20M=C3=BCller?= <michael@fds-team.de>
Date: Thu, 9 Mar 2017 22:56:45 +0100
Subject: [PATCH] ntdll: Fill process virtual memory counters in
@@ -13,10 +13,10 @@ FIXME: fill_VM_COUNTERS now uses a different method ... which one is better?
4 files changed, 41 insertions(+), 1 deletion(-)
diff --git a/dlls/ntdll/nt.c b/dlls/ntdll/nt.c
index 8382b61f2cb..c224fab14f9 100644
index c2466aa5bdf..6540a353fbe 100644
--- a/dlls/ntdll/nt.c
+++ b/dlls/ntdll/nt.c
@@ -2659,8 +2659,11 @@ NTSTATUS WINAPI NtQuerySystemInformation(
@@ -2704,8 +2704,11 @@ NTSTATUS WINAPI NtQuerySystemInformation(
/* spi->ti will be set later on */
if (reply->unix_pid != -1)
@@ -29,22 +29,22 @@ index 8382b61f2cb..c224fab14f9 100644
}
len += procstructlen;
diff --git a/dlls/ntdll/ntdll_misc.h b/dlls/ntdll/ntdll_misc.h
index f258bb601c2..7ceb3132a7c 100644
index 9a487a0520d..37b4f6fca14 100644
--- a/dlls/ntdll/ntdll_misc.h
+++ b/dlls/ntdll/ntdll_misc.h
@@ -272,6 +272,7 @@ void WINAPI LdrInitializeThunk(CONTEXT*,void**,ULONG_PTR,ULONG_PTR);
@@ -273,6 +273,7 @@ void WINAPI LdrInitializeThunk(CONTEXT*,void**,ULONG_PTR,ULONG_PTR);
/* process / thread time */
extern BOOL read_process_time(int unix_pid, int unix_tid, unsigned long clk_tck,
LARGE_INTEGER *kernel, LARGE_INTEGER *user) DECLSPEC_HIDDEN;
+extern BOOL read_process_memory_stats(int unix_pid, VM_COUNTERS *pvmi) DECLSPEC_HIDDEN;
/* string functions */
int __cdecl NTDLL_tolower( int c );
int __cdecl NTDLL_tolower( int c );
diff --git a/dlls/ntdll/process.c b/dlls/ntdll/process.c
index 9e5c0d39e78..9eecacb6728 100644
index 0f248378842..043aebe09bf 100644
--- a/dlls/ntdll/process.c
+++ b/dlls/ntdll/process.c
@@ -206,7 +206,7 @@ static void fill_VM_COUNTERS(VM_COUNTERS* pvmi)
@@ -192,7 +192,7 @@ static void fill_VM_COUNTERS(VM_COUNTERS* pvmi)
static void fill_VM_COUNTERS(VM_COUNTERS* pvmi)
{
@@ -54,10 +54,10 @@ index 9e5c0d39e78..9eecacb6728 100644
#endif
diff --git a/dlls/ntdll/thread.c b/dlls/ntdll/thread.c
index bb18a22bad5..d010c018102 100644
index 711a8bb1898..843df8905f5 100644
--- a/dlls/ntdll/thread.c
+++ b/dlls/ntdll/thread.c
@@ -362,6 +362,42 @@ TEB *thread_init(void)
@@ -366,6 +366,42 @@ TEB *thread_init(void)
return teb;
}
@@ -101,5 +101,5 @@ index bb18a22bad5..d010c018102 100644
/***********************************************************************
* free_thread_data
--
2.17.1
2.25.1

View File

@@ -0,0 +1,77 @@
From 06a8dec23dc20dae5ffe9288b7b85301b8118c0f Mon Sep 17 00:00:00 2001
From: Zebediah Figura <z.figura12@gmail.com>
Date: Sat, 28 Mar 2020 13:17:25 -0500
Subject: [PATCH] ntdll: Avoid fstatat().
---
dlls/ntdll/directory.c | 3 +--
dlls/ntdll/file.c | 20 ++++++++++++++++++--
dlls/ntdll/ntdll_misc.h | 1 +
3 files changed, 20 insertions(+), 4 deletions(-)
diff --git a/dlls/ntdll/directory.c b/dlls/ntdll/directory.c
index 993a661015..a37b287a5a 100644
--- a/dlls/ntdll/directory.c
+++ b/dlls/ntdll/directory.c
@@ -219,14 +219,13 @@ static const BOOL is_case_sensitive = FALSE;
static struct file_identity windir;
-static RTL_CRITICAL_SECTION dir_section;
static RTL_CRITICAL_SECTION_DEBUG critsect_debug =
{
0, 0, &dir_section,
{ &critsect_debug.ProcessLocksList, &critsect_debug.ProcessLocksList },
0, 0, { (DWORD_PTR)(__FILE__ ": dir_section") }
};
-static RTL_CRITICAL_SECTION dir_section = { &critsect_debug, -1, 0, 0, 0, 0 };
+RTL_CRITICAL_SECTION dir_section = { &critsect_debug, -1, 0, 0, 0, 0 };
/* check if a given Unicode char is OK in a DOS short name */
diff --git a/dlls/ntdll/file.c b/dlls/ntdll/file.c
index bd27d5a434..5173c203a2 100644
--- a/dlls/ntdll/file.c
+++ b/dlls/ntdll/file.c
@@ -139,8 +139,24 @@ static inline ULONG get_file_attributes( const struct stat *st )
static BOOL fd_is_mount_point( int fd, const struct stat *st )
{
struct stat parent;
- return S_ISDIR( st->st_mode ) && !fstatat( fd, "..", &parent, 0 )
- && (parent.st_dev != st->st_dev || parent.st_ino == st->st_ino);
+ BOOL ret = FALSE;
+ int cwd;
+
+ if (!S_ISDIR( st->st_mode )) return FALSE;
+ RtlEnterCriticalSection( &dir_section );
+ if ((cwd = open(".", O_RDONLY) == -1))
+ {
+ RtlLeaveCriticalSection( &dir_section );
+ return FALSE;
+ }
+ if (!fchdir( fd ))
+ {
+ ret = !stat( "..", &parent ) && (parent.st_dev != st->st_dev || parent.st_ino == st->st_ino);
+ if (fchdir( cwd ) == -1) chdir( "/" );
+ }
+ close( cwd );
+ RtlLeaveCriticalSection( &dir_section );
+ return ret;
}
/* get the stat info and file attributes for a file (by file descriptor) */
diff --git a/dlls/ntdll/ntdll_misc.h b/dlls/ntdll/ntdll_misc.h
index 20feabf56b..2d98e5eab6 100644
--- a/dlls/ntdll/ntdll_misc.h
+++ b/dlls/ntdll/ntdll_misc.h
@@ -169,6 +169,7 @@ extern unsigned int DIR_get_drives_info( struct drive_info info[MAX_DOS_DRIVES]
extern NTSTATUS file_id_to_unix_file_name( const OBJECT_ATTRIBUTES *attr, ANSI_STRING *unix_name_ret ) DECLSPEC_HIDDEN;
extern NTSTATUS nt_to_unix_file_name_attr( const OBJECT_ATTRIBUTES *attr, ANSI_STRING *unix_name_ret,
UINT disposition ) DECLSPEC_HIDDEN;
+extern RTL_CRITICAL_SECTION dir_section DECLSPEC_HIDDEN;
/* virtual memory */
extern NTSTATUS virtual_alloc_aligned( PVOID *ret, unsigned short zero_bits_64, SIZE_T *size_ptr,
--
2.25.2

View File

@@ -0,0 +1,4 @@
# Older versions of the Mac SDK, such as the one currently used to compile Mac
# packages, don't have fstatat(3). We might want to put this into upstream Wine,
# but if we can get away with updating the SDK instead, that might be
# preferable.

View File

@@ -52,13 +52,13 @@ usage()
# Get the upstream commit sha
upstream_commit()
{
echo "4c61c8dce09307ecfe0beea307213bd1fb6a69db"
echo "123c0543e0bb4c99fbee0a568e786405ff886a93"
}
# Show version information
version()
{
echo "Wine Staging 5.4"
echo "Wine Staging 5.5"
echo "Copyright (C) 2014-2019 the Wine Staging project authors."
echo "Copyright (C) 2018-2020 Alistair Leslie-Hughes"
echo ""
@@ -214,6 +214,7 @@ patch_enable_all ()
enable_ntdll_WRITECOPY="$1"
enable_ntdll_Zero_mod_name="$1"
enable_ntdll_aarch_TEB="$1"
enable_ntdll_avoid_fstatat="$1"
enable_ntdll_ext4_case_folder="$1"
enable_ntdll_set_full_cpu_context="$1"
enable_ntdll_unaligned_futex="$1"
@@ -309,12 +310,10 @@ patch_enable_all ()
enable_winecfg_Unmounted_Devices="$1"
enable_wined3d_Accounting="$1"
enable_wined3d_CSMT_Main="$1"
enable_wined3d_Dual_Source_Blending="$1"
enable_wined3d_Indexed_Vertex_Blending="$1"
enable_wined3d_SWVP_shaders="$1"
enable_wined3d_Silence_FIXMEs="$1"
enable_wined3d_WINED3DFMT_B8G8R8X8_UNORM="$1"
enable_wined3d_WINED3D_TEXF_ANISOTROPIC="$1"
enable_wined3d_mesa_texture_download="$1"
enable_wined3d_unset_flip_gdi="$1"
enable_wined3d_wined3d_guess_gl_vendor="$1"
@@ -323,9 +322,9 @@ patch_enable_all ()
enable_winedevice_Default_Drivers="$1"
enable_winemapi_user_xdg_mail="$1"
enable_winemenubuilder_Desktop_Icon_Path="$1"
enable_winemenubuilder_integration="$1"
enable_wineps_drv_PostScript_Fixes="$1"
enable_winepulse_PulseAudio_Support="$1"
enable_wineqtdecoder_fix_compilation="$1"
enable_winex11_CandidateWindowPos="$1"
enable_winex11_DefaultDisplayFrequency="$1"
enable_winex11_MWM_Decorations="$1"
@@ -342,6 +341,7 @@ patch_enable_all ()
enable_winex11_drv_mouse_coorrds="$1"
enable_wininet_Cleanup="$1"
enable_winmm_Delay_Import_Depends="$1"
enable_winmm_Replace_OpenFile="$1"
enable_winmm_mciSendCommandA="$1"
enable_wintab32_improvements="$1"
enable_wintrust_WTHelperGetProvCertFromChain="$1"
@@ -754,6 +754,9 @@ patch_enable ()
ntdll-aarch-TEB)
enable_ntdll_aarch_TEB="$2"
;;
ntdll-avoid-fstatat)
enable_ntdll_avoid_fstatat="$2"
;;
ntdll-ext4-case-folder)
enable_ntdll_ext4_case_folder="$2"
;;
@@ -1039,9 +1042,6 @@ patch_enable ()
wined3d-CSMT_Main)
enable_wined3d_CSMT_Main="$2"
;;
wined3d-Dual_Source_Blending)
enable_wined3d_Dual_Source_Blending="$2"
;;
wined3d-Indexed_Vertex_Blending)
enable_wined3d_Indexed_Vertex_Blending="$2"
;;
@@ -1054,9 +1054,6 @@ patch_enable ()
wined3d-WINED3DFMT_B8G8R8X8_UNORM)
enable_wined3d_WINED3DFMT_B8G8R8X8_UNORM="$2"
;;
wined3d-WINED3D_TEXF_ANISOTROPIC)
enable_wined3d_WINED3D_TEXF_ANISOTROPIC="$2"
;;
wined3d-mesa_texture_download)
enable_wined3d_mesa_texture_download="$2"
;;
@@ -1081,15 +1078,15 @@ patch_enable ()
winemenubuilder-Desktop_Icon_Path)
enable_winemenubuilder_Desktop_Icon_Path="$2"
;;
winemenubuilder-integration)
enable_winemenubuilder_integration="$2"
;;
wineps.drv-PostScript_Fixes)
enable_wineps_drv_PostScript_Fixes="$2"
;;
winepulse-PulseAudio_Support)
enable_winepulse_PulseAudio_Support="$2"
;;
wineqtdecoder-fix-compilation)
enable_wineqtdecoder_fix_compilation="$2"
;;
winex11-CandidateWindowPos)
enable_winex11_CandidateWindowPos="$2"
;;
@@ -1138,6 +1135,9 @@ patch_enable ()
winmm-Delay_Import_Depends)
enable_winmm_Delay_Import_Depends="$2"
;;
winmm-Replace_OpenFile)
enable_winmm_Replace_OpenFile="$2"
;;
winmm-mciSendCommandA)
enable_winmm_mciSendCommandA="$2"
;;
@@ -4013,11 +4013,9 @@ fi
if test "$enable_ntdll_FileDispositionInformation" -eq 1; then
patch_apply ntdll-FileDispositionInformation/0001-ntdll-tests-Added-tests-to-set-disposition-on-file-w.patch
patch_apply ntdll-FileDispositionInformation/0002-server-Do-not-allow-to-set-disposition-on-file-which.patch
patch_apply ntdll-FileDispositionInformation/0003-server-When-combining-root-and-name-make-sure-there-.patch
(
printf '%s\n' '+ { "Qian Hong", "ntdll/tests: Added tests to set disposition on file which is mapped to memory.", 1 },';
printf '%s\n' '+ { "Qian Hong", "server: Do not allow to set disposition on file which has a file mapping.", 1 },';
printf '%s\n' '+ { "Sebastian Lackner", "server: When combining root and name, make sure there is only one slash.", 2 },';
) >> "$patchlist"
fi
@@ -4965,6 +4963,18 @@ if test "$enable_ntdll_aarch_TEB" -eq 1; then
) >> "$patchlist"
fi
# Patchset ntdll-avoid-fstatat
# |
# | Modified files:
# | * dlls/ntdll/directory.c, dlls/ntdll/file.c, dlls/ntdll/ntdll_misc.h
# |
if test "$enable_ntdll_avoid_fstatat" -eq 1; then
patch_apply ntdll-avoid-fstatat/0001-ntdll-Avoid-fstatat.patch
(
printf '%s\n' '+ { "Zebediah Figura", "ntdll: Avoid fstatat().", 1 },';
) >> "$patchlist"
fi
# Patchset ntdll-ext4-case-folder
# |
# | This patchset fixes the following Wine bugs:
@@ -6354,7 +6364,7 @@ fi
# |
# | Modified files:
# | * dlls/gdiplus/image.c, dlls/gdiplus/tests/image.c, dlls/windowscodecs/metadatahandler.c, dlls/windowscodecs/regsvr.c,
# | dlls/windowscodecs/tests/tiffformat.c, dlls/windowscodecs/tiffformat.c, include/wincodec.idl
# | dlls/windowscodecs/tests/tiffformat.c, dlls/windowscodecs/tiffformat.c
# |
if test "$enable_windowscodecs_TIFF_Support" -eq 1; then
patch_apply windowscodecs-TIFF_Support/0006-windowscodecs-Add-support-for-16bppGray-and-32bppGra.patch
@@ -6562,21 +6572,6 @@ if test "$enable_wined3d_CSMT_Main" -eq 1; then
) >> "$patchlist"
fi
# Patchset wined3d-Dual_Source_Blending
# |
# | Modified files:
# | * dlls/d3d11/tests/d3d11.c, dlls/wined3d/adapter_gl.c, dlls/wined3d/context.c, dlls/wined3d/glsl_shader.c,
# | dlls/wined3d/shader.c, dlls/wined3d/state.c, dlls/wined3d/wined3d_private.h
# |
if test "$enable_wined3d_Dual_Source_Blending" -eq 1; then
patch_apply wined3d-Dual_Source_Blending/0002-d3d11-tests-Add-basic-dual-source-blend-test.patch
patch_apply wined3d-Dual_Source_Blending/0003-wined3d-Implement-dual-source-blending.patch
(
printf '%s\n' '+ { "Michael MĂĽller", "d3d11/tests: Add basic dual source blend test.", 1 },';
printf '%s\n' '+ { "Michael MĂĽller", "wined3d: Implement dual source blending.", 1 },';
) >> "$patchlist"
fi
# Patchset wined3d-SWVP-shaders
# |
# | This patchset fixes the following Wine bugs:
@@ -6658,21 +6653,6 @@ if test "$enable_wined3d_WINED3DFMT_B8G8R8X8_UNORM" -eq 1; then
) >> "$patchlist"
fi
# Patchset wined3d-WINED3D_TEXF_ANISOTROPIC
# |
# | This patchset fixes the following Wine bugs:
# | * [#41929] wined3d: Multiple games need WINED3D_TEXF_ANISOTROPIC filter mode
# |
# | Modified files:
# | * dlls/wined3d/surface.c
# |
if test "$enable_wined3d_WINED3D_TEXF_ANISOTROPIC" -eq 1; then
patch_apply wined3d-WINED3D_TEXF_ANISOTROPIC/0001-wined3d-Multiple-games-need-WINED3D_TEXF_ANISOTROPIC.patch
(
printf '%s\n' '+ { "JĂłzef Kucia", "wined3d: Multiple games need WINED3D_TEXF_ANISOTROPIC filter mode.", 1 },';
) >> "$patchlist"
fi
# Patchset wined3d-mesa_texture_download
# |
# | This patchset fixes the following Wine bugs:
@@ -6797,6 +6777,22 @@ if test "$enable_winemenubuilder_Desktop_Icon_Path" -eq 1; then
) >> "$patchlist"
fi
# Patchset winemenubuilder-integration
# |
# | This patchset fixes the following Wine bugs:
# | * [#41275] Winemenubuilder should respect existing defaults for filetype associations
# | * [#22904] Register URL protocol handlers under Linux
# |
# | Modified files:
# | * dlls/mshtml/mshtml.inf, loader/wine.inf.in, programs/winemenubuilder/winemenubuilder.c
# |
if test "$enable_winemenubuilder_integration" -eq 1; then
patch_apply winemenubuilder-integration/0001-winemenubuilder-Blacklist-desktop-integration-for-ce.patch
(
printf '%s\n' '+ { "Alex Henrie", "winemenubuilder: Blacklist desktop integration for certain associations.", 1 },';
) >> "$patchlist"
fi
# Patchset wineps.drv-PostScript_Fixes
# |
# | This patchset fixes the following Wine bugs:
@@ -6852,18 +6848,6 @@ if test "$enable_winepulse_PulseAudio_Support" -eq 1; then
) >> "$patchlist"
fi
# Patchset wineqtdecoder-fix-compilation
# |
# | Modified files:
# | * dlls/wineqtdecoder/qtvdecoder.c
# |
if test "$enable_wineqtdecoder_fix_compilation" -eq 1; then
patch_apply wineqtdecoder-fix-compilation/0001-wineqtdecoder-Fix-compilation.patch
(
printf '%s\n' '+ { "Alistair Leslie-Hughes", "wineqtdecoder: Fix compilation.", 1 },';
) >> "$patchlist"
fi
# Patchset winex11-CandidateWindowPos
# |
# | This patchset fixes the following Wine bugs:
@@ -7104,6 +7088,21 @@ if test "$enable_winmm_Delay_Import_Depends" -eq 1; then
) >> "$patchlist"
fi
# Patchset winmm-Replace_OpenFile
# |
# | This patchset fixes the following Wine bugs:
# | * [#48832] When _lopen to avoid the 128 character path limit.
# |
# | Modified files:
# | * dlls/winmm/mmio.c
# |
if test "$enable_winmm_Replace_OpenFile" -eq 1; then
patch_apply winmm-Replace_OpenFile/0001-winmm-Use-_lopen-instead-of-OpenFile.patch
(
printf '%s\n' '+ { "Alistair Leslie-Hughes", "winmm: Use _lopen instead of OpenFile.", 1 },';
) >> "$patchlist"
fi
# Patchset winmm-mciSendCommandA
# |
# | Modified files:
@@ -7284,15 +7283,15 @@ fi
# | * [#48684] BlazBlue: Calamity Trigger requires for xactengine 3.3 interface.
# |
# | Modified files:
# | * configure.ac, dlls/xactengine3_0/Makefile.in, dlls/xactengine3_0/xactengine3_0.spec, dlls/xactengine3_1/Makefile.in,
# | dlls/xactengine3_1/xactengine3_1.spec, dlls/xactengine3_2/Makefile.in, dlls/xactengine3_2/xactengine3_2.spec,
# | dlls/xactengine3_3/Makefile.in, dlls/xactengine3_3/xactengine3_3.spec, dlls/xactengine3_4/Makefile.in,
# | dlls/xactengine3_4/xactengine3_4.spec, dlls/xactengine3_5/Makefile.in, dlls/xactengine3_5/xactengine3_5.spec,
# | dlls/xactengine3_6/Makefile.in, dlls/xactengine3_6/xactengine3_6.spec, dlls/xactengine3_7/Makefile.in,
# | dlls/xactengine3_7/xactengine3_7.spec, dlls/xaudio2_7/Makefile.in, dlls/xaudio2_7/tests/Makefile.in,
# | dlls/xaudio2_7/tests/globals.xgs, dlls/xaudio2_7/tests/rsrc.rc, dlls/xaudio2_7/tests/xact.c,
# | dlls/xaudio2_7/tests/xaudio2.c, dlls/xaudio2_7/xact_classes.idl, dlls/xaudio2_7/xact_dll.c, dlls/xaudio2_7/xaudio_dll.c,
# | include/Makefile.in, include/config.h.in, include/xact3.idl, include/xact3wb.h
# | * configure.ac, dlls/x3daudio1_7/Makefile.in, dlls/xactengine3_0/Makefile.in, dlls/xactengine3_0/xactengine3_0.spec,
# | dlls/xactengine3_1/Makefile.in, dlls/xactengine3_1/xactengine3_1.spec, dlls/xactengine3_2/Makefile.in,
# | dlls/xactengine3_2/xactengine3_2.spec, dlls/xactengine3_3/Makefile.in, dlls/xactengine3_3/xactengine3_3.spec,
# | dlls/xactengine3_4/Makefile.in, dlls/xactengine3_4/xactengine3_4.spec, dlls/xactengine3_5/Makefile.in,
# | dlls/xactengine3_5/xactengine3_5.spec, dlls/xactengine3_6/Makefile.in, dlls/xactengine3_6/xactengine3_6.spec,
# | dlls/xactengine3_7/Makefile.in, dlls/xactengine3_7/xactengine3_7.spec, dlls/xaudio2_7/Makefile.in,
# | dlls/xaudio2_7/tests/Makefile.in, dlls/xaudio2_7/tests/globals.xgs, dlls/xaudio2_7/tests/rsrc.rc,
# | dlls/xaudio2_7/tests/xact.c, dlls/xaudio2_7/tests/xaudio2.c, dlls/xaudio2_7/xact_classes.idl, dlls/xaudio2_7/xact_dll.c,
# | include/Makefile.in, include/xact3.idl, include/xact3wb.h
# |
if test "$enable_xactengine_initial" -eq 1; then
patch_apply xactengine-initial/0001-include-Add-xact3.idl.patch
@@ -7306,7 +7305,6 @@ if test "$enable_xactengine_initial" -eq 1; then
patch_apply xactengine-initial/0009-xaudio2_7-unwrap-structure-based-of-it-s-type.patch
patch_apply xactengine-initial/0010-xaudio2_7-Correct-callback-to-windows-function.patch
patch_apply xactengine-initial/0011-xaudio2_7-Initial-IXACT3Engine-tests.patch
patch_apply xactengine-initial/0012-xaudio2_7-Trace-FAudio-version-being-used.patch
patch_apply xactengine-initial/0013-xaudio2_7-Trace-FAudio-version-being-used.patch
patch_apply xactengine-initial/0014-include-Add-XACTENGINE_-error-codes.patch
patch_apply xactengine-initial/0015-include-Add-XACT-defines.patch

Some files were not shown because too many files have changed in this diff Show More