You've already forked wine-staging
mirror of
https://gitlab.winehq.org/wine/wine-staging.git
synced 2025-04-13 14:42:51 -07:00
Rebase against bf83d755d987fec552cd1dce30638c31c49ab760.
This commit is contained in:
@ -9,4 +9,6 @@ Depends: server-Realtime_Priority
|
||||
Depends: advapi32-Token_Integrity_Level
|
||||
Depends: ntdll-Junction_Points
|
||||
Depends: kernel32-K32GetPerformanceInfo
|
||||
Depends: user32-rawinput-mouse
|
||||
Depends: user32-rawinput-mouse
|
||||
Depends: server-Desktop_Refcount
|
||||
Disabled: true
|
@ -1,4 +1,4 @@
|
||||
From 5ee2cbd7b66c190eae47785907fd40562b05379b Mon Sep 17 00:00:00 2001
|
||||
From e171bdbabedaeaafc0181ee156bf08ef180809da Mon Sep 17 00:00:00 2001
|
||||
From: "Erich E. Hoover" <erich.e.hoover@gmail.com>
|
||||
Date: Thu, 16 Jan 2014 20:56:49 -0700
|
||||
Subject: [PATCH] ntdll: Add support for junction point creation.
|
||||
@ -18,10 +18,10 @@ Signed-off-by: Erich E. Hoover <erich.e.hoover@gmail.com>
|
||||
create mode 100644 libs/port/renameat2.c
|
||||
|
||||
diff --git a/configure.ac b/configure.ac
|
||||
index 395992046e8..6ea81e0641a 100644
|
||||
index 816e3684510..a1b6096b9b7 100644
|
||||
--- a/configure.ac
|
||||
+++ b/configure.ac
|
||||
@@ -2210,6 +2210,8 @@ AC_CHECK_FUNCS(\
|
||||
@@ -2202,6 +2202,8 @@ AC_CHECK_FUNCS(\
|
||||
pwrite \
|
||||
readdir \
|
||||
readlink \
|
||||
@ -31,7 +31,7 @@ index 395992046e8..6ea81e0641a 100644
|
||||
select \
|
||||
setproctitle \
|
||||
diff --git a/dlls/ntdll/file.c b/dlls/ntdll/file.c
|
||||
index 1adc1e094ec..3e10703c5da 100644
|
||||
index 013706889bb..37dca75651c 100644
|
||||
--- a/dlls/ntdll/file.c
|
||||
+++ b/dlls/ntdll/file.c
|
||||
@@ -21,6 +21,7 @@
|
||||
@ -72,7 +72,7 @@ index 1adc1e094ec..3e10703c5da 100644
|
||||
+ NTSTATUS status;
|
||||
+ int i;
|
||||
+
|
||||
+ if ((status = server_get_unix_fd( handle, FILE_SPECIAL_ACCESS, &dest_fd, &needs_close, NULL, NULL )))
|
||||
+ if ((status = unix_funcs->server_get_unix_fd( handle, FILE_SPECIAL_ACCESS, &dest_fd, &needs_close, NULL, NULL )))
|
||||
+ return status;
|
||||
+
|
||||
+ if ((status = server_get_unix_name( handle, &unix_src )))
|
||||
@ -181,7 +181,7 @@ index 1adc1e094ec..3e10703c5da 100644
|
||||
return server_ioctl_file( handle, event, apc, apc_context, io, code,
|
||||
in_buffer, in_size, out_buffer, out_size );
|
||||
diff --git a/dlls/ntdll/tests/file.c b/dlls/ntdll/tests/file.c
|
||||
index 33b8ead5528..e6fea0ff7fe 100644
|
||||
index 31c18454f0e..046b49c2d2b 100644
|
||||
--- a/dlls/ntdll/tests/file.c
|
||||
+++ b/dlls/ntdll/tests/file.c
|
||||
@@ -38,6 +38,7 @@
|
||||
@ -192,7 +192,7 @@ index 33b8ead5528..e6fea0ff7fe 100644
|
||||
|
||||
#ifndef IO_COMPLETION_ALL_ACCESS
|
||||
#define IO_COMPLETION_ALL_ACCESS 0x001F0003
|
||||
@@ -4951,6 +4952,105 @@ static void test_file_readonly_access(void)
|
||||
@@ -4953,6 +4954,105 @@ static void test_file_readonly_access(void)
|
||||
DeleteFileW(path);
|
||||
}
|
||||
|
||||
@ -298,17 +298,17 @@ index 33b8ead5528..e6fea0ff7fe 100644
|
||||
START_TEST(file)
|
||||
{
|
||||
HMODULE hkernel32 = GetModuleHandleA("kernel32.dll");
|
||||
@@ -5021,4 +5121,5 @@ START_TEST(file)
|
||||
@@ -5023,4 +5123,5 @@ START_TEST(file)
|
||||
test_query_attribute_information_file();
|
||||
test_ioctl();
|
||||
test_flush_buffers_file();
|
||||
+ test_reparse_points();
|
||||
}
|
||||
diff --git a/include/Makefile.in b/include/Makefile.in
|
||||
index 3f29a374144..daeb92cd13b 100644
|
||||
index 9796dd8e5d9..410ae718e99 100644
|
||||
--- a/include/Makefile.in
|
||||
+++ b/include/Makefile.in
|
||||
@@ -510,6 +510,7 @@ SOURCES = \
|
||||
@@ -517,6 +517,7 @@ SOURCES = \
|
||||
ntddvdeo.h \
|
||||
ntdef.h \
|
||||
ntdsapi.h \
|
||||
@ -365,7 +365,7 @@ index 00000000000..21d42e17325
|
||||
+
|
||||
+#endif /* __WINE_NTIFS_H */
|
||||
diff --git a/include/wine/port.h b/include/wine/port.h
|
||||
index 8514a4a43bf..a17ffe7ab84 100644
|
||||
index 928730a41d7..e8434c73cca 100644
|
||||
--- a/include/wine/port.h
|
||||
+++ b/include/wine/port.h
|
||||
@@ -334,6 +334,15 @@ double rint(double x);
|
||||
@ -385,10 +385,10 @@ index 8514a4a43bf..a17ffe7ab84 100644
|
||||
int statvfs( const char *path, struct statvfs *buf );
|
||||
#endif
|
||||
diff --git a/libs/port/Makefile.in b/libs/port/Makefile.in
|
||||
index 08e143d26d0..1c850116785 100644
|
||||
index 7bc67fa3fee..1963afe2423 100644
|
||||
--- a/libs/port/Makefile.in
|
||||
+++ b/libs/port/Makefile.in
|
||||
@@ -15,6 +15,7 @@ C_SRCS = \
|
||||
@@ -14,6 +14,7 @@ C_SRCS = \
|
||||
pread.c \
|
||||
pwrite.c \
|
||||
readlink.c \
|
||||
@ -458,5 +458,5 @@ index 00000000000..f46f407ec71
|
||||
+}
|
||||
+#endif /* HAVE_RENAMEAT2 */
|
||||
--
|
||||
2.25.1
|
||||
2.26.2
|
||||
|
||||
|
@ -1,7 +1,7 @@
|
||||
From 102451499f5de1148d55df7c7bdfe91257a13cef Mon Sep 17 00:00:00 2001
|
||||
From daf6a4fc8ae19ab9f9df39f958109c09232b5426 Mon Sep 17 00:00:00 2001
|
||||
From: "Erich E. Hoover" <erich.e.hoover@gmail.com>
|
||||
Date: Thu, 16 Jan 2014 20:57:57 -0700
|
||||
Subject: ntdll: Add support for reading junction points.
|
||||
Subject: [PATCH] ntdll: Add support for reading junction points.
|
||||
|
||||
Signed-off-by: Erich E. Hoover <erich.e.hoover@gmail.com>
|
||||
---
|
||||
@ -10,10 +10,10 @@ Signed-off-by: Erich E. Hoover <erich.e.hoover@gmail.com>
|
||||
2 files changed, 119 insertions(+), 1 deletion(-)
|
||||
|
||||
diff --git a/dlls/ntdll/file.c b/dlls/ntdll/file.c
|
||||
index 693caecffa..b9087cbf4d 100644
|
||||
index 37dca75651c..5a05217102d 100644
|
||||
--- a/dlls/ntdll/file.c
|
||||
+++ b/dlls/ntdll/file.c
|
||||
@@ -1739,6 +1739,106 @@ cleanup:
|
||||
@@ -1763,6 +1763,106 @@ cleanup:
|
||||
}
|
||||
|
||||
|
||||
@ -35,7 +35,7 @@ index 693caecffa..b9087cbf4d 100644
|
||||
+ char *p;
|
||||
+ int i;
|
||||
+
|
||||
+ if ((status = server_get_unix_fd( handle, FILE_ANY_ACCESS, &dest_fd, &needs_close, NULL, NULL )))
|
||||
+ if ((status = unix_funcs->server_get_unix_fd( handle, FILE_ANY_ACCESS, &dest_fd, &needs_close, NULL, NULL )))
|
||||
+ return status;
|
||||
+
|
||||
+ if ((status = server_get_unix_name( handle, &unix_src )))
|
||||
@ -120,7 +120,7 @@ index 693caecffa..b9087cbf4d 100644
|
||||
/**************************************************************************
|
||||
* NtFsControlFile [NTDLL.@]
|
||||
* ZwFsControlFile [NTDLL.@]
|
||||
@@ -1824,6 +1924,12 @@ NTSTATUS WINAPI NtFsControlFile(HANDLE handle, HANDLE event, PIO_APC_ROUTINE apc
|
||||
@@ -1848,6 +1948,12 @@ NTSTATUS WINAPI NtFsControlFile(HANDLE handle, HANDLE event, PIO_APC_ROUTINE apc
|
||||
status = STATUS_SUCCESS;
|
||||
break;
|
||||
|
||||
@ -134,10 +134,10 @@ index 693caecffa..b9087cbf4d 100644
|
||||
{
|
||||
REPARSE_DATA_BUFFER *buffer = (REPARSE_DATA_BUFFER *)in_buffer;
|
||||
diff --git a/dlls/ntdll/tests/file.c b/dlls/ntdll/tests/file.c
|
||||
index 322dadefe3..cdb608d305 100644
|
||||
index 046b49c2d2b..9197a234703 100644
|
||||
--- a/dlls/ntdll/tests/file.c
|
||||
+++ b/dlls/ntdll/tests/file.c
|
||||
@@ -4868,9 +4868,10 @@ static void test_reparse_points(void)
|
||||
@@ -4990,9 +4990,10 @@ static void test_reparse_points(void)
|
||||
static const WCHAR dotW[] = {'.',0};
|
||||
REPARSE_DATA_BUFFER *buffer = NULL;
|
||||
DWORD dwret, dwLen, dwFlags;
|
||||
@ -149,7 +149,7 @@ index 322dadefe3..cdb608d305 100644
|
||||
BOOL bret;
|
||||
|
||||
/* Create a temporary folder for the junction point tests */
|
||||
@@ -4918,6 +4919,17 @@ static void test_reparse_points(void)
|
||||
@@ -5040,6 +5041,17 @@ static void test_reparse_points(void)
|
||||
buffer_len = build_reparse_buffer(nameW.Buffer, &buffer);
|
||||
bret = DeviceIoControl(handle, FSCTL_SET_REPARSE_POINT, (LPVOID)buffer, buffer_len, NULL, 0, &dwret, 0);
|
||||
ok(bret, "Failed to create junction point! (0x%x)\n", GetLastError());
|
||||
@ -168,5 +168,5 @@ index 322dadefe3..cdb608d305 100644
|
||||
|
||||
cleanup:
|
||||
--
|
||||
2.17.1
|
||||
2.26.2
|
||||
|
||||
|
@ -1,7 +1,7 @@
|
||||
From b544a9cd5b1d8abe456125652e1a78b20bdc4a27 Mon Sep 17 00:00:00 2001
|
||||
From 10508a815ca734c8a94472f82e6c0f5ebe5fbbd9 Mon Sep 17 00:00:00 2001
|
||||
From: "Erich E. Hoover" <erich.e.hoover@gmail.com>
|
||||
Date: Thu, 16 Jan 2014 21:00:21 -0700
|
||||
Subject: ntdll: Add support for deleting junction points.
|
||||
Subject: [PATCH] ntdll: Add support for deleting junction points.
|
||||
|
||||
Signed-off-by: Erich E. Hoover <erich.e.hoover@gmail.com>
|
||||
---
|
||||
@ -11,10 +11,10 @@ Signed-off-by: Erich E. Hoover <erich.e.hoover@gmail.com>
|
||||
3 files changed, 131 insertions(+), 1 deletion(-)
|
||||
|
||||
diff --git a/dlls/ntdll/file.c b/dlls/ntdll/file.c
|
||||
index b9087cbf4d..dbbb54768b 100644
|
||||
index 5a05217102d..98f37af8793 100644
|
||||
--- a/dlls/ntdll/file.c
|
||||
+++ b/dlls/ntdll/file.c
|
||||
@@ -1839,6 +1839,87 @@ cleanup:
|
||||
@@ -1863,6 +1863,87 @@ cleanup:
|
||||
}
|
||||
|
||||
|
||||
@ -31,7 +31,7 @@ index b9087cbf4d..dbbb54768b 100644
|
||||
+ NTSTATUS status;
|
||||
+ struct stat st;
|
||||
+
|
||||
+ if ((status = server_get_unix_fd( handle, FILE_SPECIAL_ACCESS, &dest_fd, &needs_close, NULL, NULL )))
|
||||
+ if ((status = unix_funcs->server_get_unix_fd( handle, FILE_SPECIAL_ACCESS, &dest_fd, &needs_close, NULL, NULL )))
|
||||
+ return status;
|
||||
+
|
||||
+ if ((status = server_get_unix_name( handle, &unix_name )))
|
||||
@ -102,7 +102,7 @@ index b9087cbf4d..dbbb54768b 100644
|
||||
/**************************************************************************
|
||||
* NtFsControlFile [NTDLL.@]
|
||||
* ZwFsControlFile [NTDLL.@]
|
||||
@@ -1924,6 +2005,22 @@ NTSTATUS WINAPI NtFsControlFile(HANDLE handle, HANDLE event, PIO_APC_ROUTINE apc
|
||||
@@ -1948,6 +2029,22 @@ NTSTATUS WINAPI NtFsControlFile(HANDLE handle, HANDLE event, PIO_APC_ROUTINE apc
|
||||
status = STATUS_SUCCESS;
|
||||
break;
|
||||
|
||||
@ -126,10 +126,10 @@ index b9087cbf4d..dbbb54768b 100644
|
||||
{
|
||||
REPARSE_DATA_BUFFER *buffer = (REPARSE_DATA_BUFFER *)out_buffer;
|
||||
diff --git a/dlls/ntdll/tests/file.c b/dlls/ntdll/tests/file.c
|
||||
index cdb608d305..bc6961bc61 100644
|
||||
index 9197a234703..6f6a49afd46 100644
|
||||
--- a/dlls/ntdll/tests/file.c
|
||||
+++ b/dlls/ntdll/tests/file.c
|
||||
@@ -4863,12 +4863,15 @@ static void test_reparse_points(void)
|
||||
@@ -4985,12 +4985,15 @@ static void test_reparse_points(void)
|
||||
static const WCHAR reparseW[] = {'\\','r','e','p','a','r','s','e',0};
|
||||
WCHAR path[MAX_PATH], reparse_path[MAX_PATH], target_path[MAX_PATH];
|
||||
static const WCHAR targetW[] = {'\\','t','a','r','g','e','t',0};
|
||||
@ -145,7 +145,7 @@ index cdb608d305..bc6961bc61 100644
|
||||
UNICODE_STRING nameW;
|
||||
HANDLE handle;
|
||||
WCHAR *dest;
|
||||
@@ -4916,6 +4919,8 @@ static void test_reparse_points(void)
|
||||
@@ -5038,6 +5041,8 @@ static void test_reparse_points(void)
|
||||
win_skip("Failed to open junction point directory handle (0x%x).\n", GetLastError());
|
||||
goto cleanup;
|
||||
}
|
||||
@ -154,7 +154,7 @@ index cdb608d305..bc6961bc61 100644
|
||||
buffer_len = build_reparse_buffer(nameW.Buffer, &buffer);
|
||||
bret = DeviceIoControl(handle, FSCTL_SET_REPARSE_POINT, (LPVOID)buffer, buffer_len, NULL, 0, &dwret, 0);
|
||||
ok(bret, "Failed to create junction point! (0x%x)\n", GetLastError());
|
||||
@@ -4930,6 +4935,22 @@ static void test_reparse_points(void)
|
||||
@@ -5052,6 +5057,22 @@ static void test_reparse_points(void)
|
||||
dest = &buffer->MountPointReparseBuffer.PathBuffer[buffer->MountPointReparseBuffer.SubstituteNameOffset/sizeof(WCHAR)];
|
||||
ok((memcmp(dest, nameW.Buffer, string_len) == 0), "Junction point destination does not match ('%s' != '%s')!\n",
|
||||
wine_dbgstr_w(dest), wine_dbgstr_w(nameW.Buffer));
|
||||
@ -177,7 +177,7 @@ index cdb608d305..bc6961bc61 100644
|
||||
CloseHandle(handle);
|
||||
|
||||
cleanup:
|
||||
@@ -4937,7 +4958,7 @@ cleanup:
|
||||
@@ -5059,7 +5080,7 @@ cleanup:
|
||||
pRtlFreeUnicodeString(&nameW);
|
||||
HeapFree(GetProcessHeap(), 0, buffer);
|
||||
bret = RemoveDirectoryW(reparse_path);
|
||||
@ -187,7 +187,7 @@ index cdb608d305..bc6961bc61 100644
|
||||
ok(bret, "Failed to remove temporary target directory!\n");
|
||||
RemoveDirectoryW(path);
|
||||
diff --git a/include/ntifs.h b/include/ntifs.h
|
||||
index 21d42e1732..4539b89d58 100644
|
||||
index 21d42e17325..4539b89d583 100644
|
||||
--- a/include/ntifs.h
|
||||
+++ b/include/ntifs.h
|
||||
@@ -39,4 +39,16 @@ typedef struct _REPARSE_DATA_BUFFER {
|
||||
@ -208,5 +208,5 @@ index 21d42e1732..4539b89d58 100644
|
||||
+
|
||||
#endif /* __WINE_NTIFS_H */
|
||||
--
|
||||
2.17.1
|
||||
2.26.2
|
||||
|
||||
|
@ -1,7 +1,7 @@
|
||||
From 5706d02d2bb68f87d4687f8acef96dd59978b6f8 Mon Sep 17 00:00:00 2001
|
||||
From d1024118fbb0a73abd19ef937d13d4378a61992b Mon Sep 17 00:00:00 2001
|
||||
From: "Erich E. Hoover" <erich.e.hoover@gmail.com>
|
||||
Date: Thu, 16 Jan 2014 21:06:24 -0700
|
||||
Subject: ntdll: Add support for absolute symlink creation.
|
||||
Subject: [PATCH] ntdll: Add support for absolute symlink creation.
|
||||
|
||||
Signed-off-by: Erich E. Hoover <erich.e.hoover@gmail.com>
|
||||
---
|
||||
@ -11,10 +11,10 @@ Signed-off-by: Erich E. Hoover <erich.e.hoover@gmail.com>
|
||||
3 files changed, 143 insertions(+), 19 deletions(-)
|
||||
|
||||
diff --git a/dlls/ntdll/file.c b/dlls/ntdll/file.c
|
||||
index dbbb54768b..62941774ec 100644
|
||||
index 98f37af8793..825344dab86 100644
|
||||
--- a/dlls/ntdll/file.c
|
||||
+++ b/dlls/ntdll/file.c
|
||||
@@ -1648,17 +1648,33 @@ NTSTATUS WINAPI NtDeviceIoControlFile(HANDLE handle, HANDLE event,
|
||||
@@ -1672,17 +1672,33 @@ NTSTATUS WINAPI NtDeviceIoControlFile(HANDLE handle, HANDLE event,
|
||||
NTSTATUS FILE_CreateSymlink(HANDLE handle, REPARSE_DATA_BUFFER *buffer)
|
||||
{
|
||||
BOOL src_allocated = FALSE, dest_allocated = FALSE, tempdir_created = FALSE;
|
||||
@ -48,10 +48,10 @@ index dbbb54768b..62941774ec 100644
|
||||
+ return STATUS_NOT_IMPLEMENTED;
|
||||
+ }
|
||||
+
|
||||
if ((status = server_get_unix_fd( handle, FILE_SPECIAL_ACCESS, &dest_fd, &needs_close, NULL, NULL )))
|
||||
if ((status = unix_funcs->server_get_unix_fd( handle, FILE_SPECIAL_ACCESS, &dest_fd, &needs_close, NULL, NULL )))
|
||||
return status;
|
||||
|
||||
@@ -1682,6 +1698,18 @@ NTSTATUS FILE_CreateSymlink(HANDLE handle, REPARSE_DATA_BUFFER *buffer)
|
||||
@@ -1706,6 +1722,18 @@ NTSTATUS FILE_CreateSymlink(HANDLE handle, REPARSE_DATA_BUFFER *buffer)
|
||||
strcat( magic_dest, "." );
|
||||
strcat( magic_dest, "/" );
|
||||
}
|
||||
@ -70,7 +70,7 @@ index dbbb54768b..62941774ec 100644
|
||||
strcat( magic_dest, unix_dest.Buffer );
|
||||
|
||||
/* Produce the link in a temporary location in the same folder */
|
||||
@@ -2034,6 +2062,7 @@ NTSTATUS WINAPI NtFsControlFile(HANDLE handle, HANDLE event, PIO_APC_ROUTINE apc
|
||||
@@ -2058,6 +2086,7 @@ NTSTATUS WINAPI NtFsControlFile(HANDLE handle, HANDLE event, PIO_APC_ROUTINE apc
|
||||
switch(buffer->ReparseTag)
|
||||
{
|
||||
case IO_REPARSE_TAG_MOUNT_POINT:
|
||||
@ -79,10 +79,10 @@ index dbbb54768b..62941774ec 100644
|
||||
break;
|
||||
default:
|
||||
diff --git a/dlls/ntdll/tests/file.c b/dlls/ntdll/tests/file.c
|
||||
index 71e7dd56f3..05ba0fc57e 100644
|
||||
index 89f291536b2..92f03ab3d34 100644
|
||||
--- a/dlls/ntdll/tests/file.c
|
||||
+++ b/dlls/ntdll/tests/file.c
|
||||
@@ -4832,26 +4832,50 @@ static void test_file_readonly_access(void)
|
||||
@@ -4954,26 +4954,50 @@ static void test_file_readonly_access(void)
|
||||
DeleteFileW(path);
|
||||
}
|
||||
|
||||
@ -141,7 +141,7 @@ index 71e7dd56f3..05ba0fc57e 100644
|
||||
lstrcpyW(subst_dest, filename);
|
||||
lstrcpyW(print_dest, &filename[prefix_len]);
|
||||
*pbuffer = buffer;
|
||||
@@ -4871,10 +4895,12 @@ static void test_reparse_points(void)
|
||||
@@ -4993,10 +5017,12 @@ static void test_reparse_points(void)
|
||||
REPARSE_DATA_BUFFER *buffer = NULL;
|
||||
DWORD dwret, dwLen, dwFlags, err;
|
||||
INT buffer_len, string_len;
|
||||
@ -155,7 +155,7 @@ index 71e7dd56f3..05ba0fc57e 100644
|
||||
BOOL bret;
|
||||
|
||||
/* Create a temporary folder for the junction point tests */
|
||||
@@ -4921,7 +4947,7 @@ static void test_reparse_points(void)
|
||||
@@ -5043,7 +5069,7 @@ static void test_reparse_points(void)
|
||||
}
|
||||
dwret = NtQueryInformationFile(handle, &iosb, &old_attrib, sizeof(old_attrib), FileBasicInformation);
|
||||
ok(dwret == STATUS_SUCCESS, "Failed to get junction point folder's attributes (0x%x).\n", dwret);
|
||||
@ -164,7 +164,7 @@ index 71e7dd56f3..05ba0fc57e 100644
|
||||
bret = DeviceIoControl(handle, FSCTL_SET_REPARSE_POINT, (LPVOID)buffer, buffer_len, NULL, 0, &dwret, 0);
|
||||
ok(bret, "Failed to create junction point! (0x%x)\n", GetLastError());
|
||||
|
||||
@@ -4962,7 +4988,7 @@ static void test_reparse_points(void)
|
||||
@@ -5084,7 +5110,7 @@ static void test_reparse_points(void)
|
||||
HeapFree(GetProcessHeap(), 0, buffer);
|
||||
handle = CreateFileW(reparse_path, GENERIC_READ | GENERIC_WRITE, 0, 0, OPEN_EXISTING,
|
||||
FILE_FLAG_BACKUP_SEMANTICS | FILE_FLAG_OPEN_REPARSE_POINT, 0);
|
||||
@ -173,7 +173,7 @@ index 71e7dd56f3..05ba0fc57e 100644
|
||||
bret = DeviceIoControl(handle, FSCTL_SET_REPARSE_POINT, (LPVOID)buffer, buffer_len, NULL, 0, &dwret, 0);
|
||||
ok(bret, "Failed to create junction point! (0x%x)\n", GetLastError());
|
||||
CloseHandle(handle);
|
||||
@@ -4977,7 +5003,7 @@ static void test_reparse_points(void)
|
||||
@@ -5099,7 +5125,7 @@ static void test_reparse_points(void)
|
||||
ok(bret, "Failed to create junction point target directory.\n");
|
||||
handle = CreateFileW(reparse_path, GENERIC_READ | GENERIC_WRITE, 0, 0, OPEN_EXISTING,
|
||||
FILE_FLAG_BACKUP_SEMANTICS | FILE_FLAG_OPEN_REPARSE_POINT, 0);
|
||||
@ -182,7 +182,7 @@ index 71e7dd56f3..05ba0fc57e 100644
|
||||
bret = DeviceIoControl(handle, FSCTL_SET_REPARSE_POINT, (LPVOID)buffer, buffer_len, NULL, 0, &dwret, 0);
|
||||
ok(bret, "Failed to create junction point! (0x%x)\n", GetLastError());
|
||||
CloseHandle(handle);
|
||||
@@ -4990,14 +5016,73 @@ static void test_reparse_points(void)
|
||||
@@ -5112,14 +5138,73 @@ static void test_reparse_points(void)
|
||||
ok(dwret != (DWORD)~0, "Junction point doesn't exist (attributes: 0x%x)!\n", dwret);
|
||||
ok(dwret & FILE_ATTRIBUTE_REPARSE_POINT, "File is not a junction point! (attributes: 0x%x)\n", dwret);
|
||||
|
||||
@ -261,7 +261,7 @@ index 71e7dd56f3..05ba0fc57e 100644
|
||||
}
|
||||
|
||||
diff --git a/include/ntifs.h b/include/ntifs.h
|
||||
index 4539b89d58..ab3273d3f8 100644
|
||||
index 4539b89d583..ab3273d3f81 100644
|
||||
--- a/include/ntifs.h
|
||||
+++ b/include/ntifs.h
|
||||
@@ -21,11 +21,20 @@
|
||||
@ -294,5 +294,5 @@ index 4539b89d58..ab3273d3f8 100644
|
||||
typedef struct _REPARSE_GUID_DATA_BUFFER {
|
||||
DWORD ReparseTag;
|
||||
--
|
||||
2.17.1
|
||||
2.26.2
|
||||
|
||||
|
@ -1,4 +1,4 @@
|
||||
From 4906830101f0de0e165def16ff869ecc8a307b57 Mon Sep 17 00:00:00 2001
|
||||
From 22a440051f4dd3b63977a384735cf60fad7f28f5 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: [PATCH] ntdll: Correctly report file symbolic links as files.
|
||||
@ -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 29a928153b9..4902dff190a 100644
|
||||
index 74df2aed687..7483c71a8db 100644
|
||||
--- a/dlls/ntdll/file.c
|
||||
+++ b/dlls/ntdll/file.c
|
||||
@@ -123,6 +123,9 @@ mode_t FILE_umask = 0;
|
||||
@ -73,7 +73,7 @@ index 29a928153b9..4902dff190a 100644
|
||||
- char *p;
|
||||
int i;
|
||||
|
||||
- if ((status = server_get_unix_fd( handle, FILE_ANY_ACCESS, &dest_fd, &needs_close, NULL, NULL )))
|
||||
- if ((status = unix_funcs->server_get_unix_fd( handle, FILE_ANY_ACCESS, &dest_fd, &needs_close, NULL, NULL )))
|
||||
- return status;
|
||||
-
|
||||
- if ((status = server_get_unix_name( handle, &unix_src )))
|
||||
@ -174,7 +174,7 @@ index 29a928153b9..4902dff190a 100644
|
||||
+ ULONG flags = 0;
|
||||
+ INT prefix_len;
|
||||
+
|
||||
+ if ((status = server_get_unix_fd( handle, FILE_ANY_ACCESS, &dest_fd, &needs_close, NULL, NULL )))
|
||||
+ if ((status = unix_funcs->server_get_unix_fd( handle, FILE_ANY_ACCESS, &dest_fd, &needs_close, NULL, NULL )))
|
||||
+ return status;
|
||||
+
|
||||
+ if ((status = server_get_unix_name( handle, &unix_src )))
|
||||
@ -191,10 +191,10 @@ index 29a928153b9..4902dff190a 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 21bd72c7358..a1654fb8e9b 100644
|
||||
index e0116491eee..7f983583268 100644
|
||||
--- a/dlls/ntdll/tests/file.c
|
||||
+++ b/dlls/ntdll/tests/file.c
|
||||
@@ -5185,13 +5185,13 @@ static void test_reparse_points(void)
|
||||
@@ -5187,13 +5187,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 21bd72c7358..a1654fb8e9b 100644
|
||||
ok(dwret & FILE_ATTRIBUTE_REPARSE_POINT, "File is not a symlink! (attributes: 0x%x)\n", dwret);
|
||||
|
||||
/* Delete the symlink as a file */
|
||||
@@ -5200,10 +5200,10 @@ static void test_reparse_points(void)
|
||||
@@ -5202,10 +5202,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 21bd72c7358..a1654fb8e9b 100644
|
||||
/* Create the directory symlink */
|
||||
HeapFree(GetProcessHeap(), 0, buffer);
|
||||
--
|
||||
2.25.1
|
||||
2.26.2
|
||||
|
||||
|
@ -1,4 +1,4 @@
|
||||
From 1111d9a53405b19b57a4385f7e2815b9c62238fa Mon Sep 17 00:00:00 2001
|
||||
From 157385f6bdf23c65b1375126f73dad87fcb503f4 Mon Sep 17 00:00:00 2001
|
||||
From: Sebastian Lackner <sebastian@fds-team.de>
|
||||
Date: Sat, 6 Jun 2015 07:03:33 +0800
|
||||
Subject: [PATCH] ntdll: Improve stub of NtQueryEaFile.
|
||||
@ -10,10 +10,10 @@ Based on a patch by Qian Hong.
|
||||
2 files changed, 98 insertions(+), 4 deletions(-)
|
||||
|
||||
diff --git a/dlls/ntdll/file.c b/dlls/ntdll/file.c
|
||||
index 2269ae311a..bed55c6fe7 100644
|
||||
index 7a49cb5d8db..b940201c5a8 100644
|
||||
--- a/dlls/ntdll/file.c
|
||||
+++ b/dlls/ntdll/file.c
|
||||
@@ -3962,14 +3962,25 @@ NTSTATUS WINAPI NtQueryVolumeInformationFile( HANDLE handle, PIO_STATUS_BLOCK io
|
||||
@@ -4041,14 +4041,25 @@ NTSTATUS WINAPI NtQueryVolumeInformationFile( HANDLE handle, PIO_STATUS_BLOCK io
|
||||
* Success: 0. Attributes read into buffer
|
||||
* Failure: An NTSTATUS error code describing the error.
|
||||
*/
|
||||
@ -32,7 +32,7 @@ index 2269ae311a..bed55c6fe7 100644
|
||||
ea_list_len, ea_index, restart);
|
||||
- return STATUS_ACCESS_DENIED;
|
||||
+
|
||||
+ if ((status = server_get_unix_fd( handle, 0, &fd, &needs_close, NULL, NULL )) != STATUS_SUCCESS)
|
||||
+ if ((status = unix_funcs->server_get_unix_fd( handle, 0, &fd, &needs_close, NULL, NULL )) != STATUS_SUCCESS)
|
||||
+ return status;
|
||||
+
|
||||
+ if (buffer && length)
|
||||
@ -44,7 +44,7 @@ index 2269ae311a..bed55c6fe7 100644
|
||||
|
||||
|
||||
diff --git a/dlls/ntdll/tests/file.c b/dlls/ntdll/tests/file.c
|
||||
index 1c3d0bc9a9..e210cbe9f2 100644
|
||||
index 44335514761..abd5903e804 100644
|
||||
--- a/dlls/ntdll/tests/file.c
|
||||
+++ b/dlls/ntdll/tests/file.c
|
||||
@@ -85,6 +85,7 @@ static NTSTATUS (WINAPI *pNtQueryDirectoryFile)(HANDLE,HANDLE,PIO_APC_ROUTINE,PV
|
||||
@ -55,7 +55,7 @@ index 1c3d0bc9a9..e210cbe9f2 100644
|
||||
|
||||
static WCHAR fooW[] = {'f','o','o',0};
|
||||
|
||||
@@ -4994,6 +4995,86 @@ static void test_flush_buffers_file(void)
|
||||
@@ -4886,6 +4887,86 @@ static void test_flush_buffers_file(void)
|
||||
DeleteFileA(buffer);
|
||||
}
|
||||
|
||||
@ -142,7 +142,7 @@ index 1c3d0bc9a9..e210cbe9f2 100644
|
||||
static void test_file_readonly_access(void)
|
||||
{
|
||||
static const DWORD default_sharing = FILE_SHARE_READ | FILE_SHARE_WRITE | FILE_SHARE_DELETE;
|
||||
@@ -5483,6 +5564,7 @@ START_TEST(file)
|
||||
@@ -5375,6 +5456,7 @@ START_TEST(file)
|
||||
pNtQueryVolumeInformationFile = (void *)GetProcAddress(hntdll, "NtQueryVolumeInformationFile");
|
||||
pNtQueryFullAttributesFile = (void *)GetProcAddress(hntdll, "NtQueryFullAttributesFile");
|
||||
pNtFlushBuffersFile = (void *)GetProcAddress(hntdll, "NtFlushBuffersFile");
|
||||
@ -150,7 +150,7 @@ index 1c3d0bc9a9..e210cbe9f2 100644
|
||||
|
||||
test_read_write();
|
||||
test_NtCreateFile();
|
||||
@@ -5513,6 +5595,7 @@ START_TEST(file)
|
||||
@@ -5404,6 +5486,7 @@ START_TEST(file)
|
||||
test_query_volume_information_file();
|
||||
test_query_attribute_information_file();
|
||||
test_ioctl();
|
||||
@ -159,5 +159,5 @@ index 1c3d0bc9a9..e210cbe9f2 100644
|
||||
test_reparse_points();
|
||||
}
|
||||
--
|
||||
2.23.0
|
||||
2.26.2
|
||||
|
||||
|
@ -1,4 +1,4 @@
|
||||
From 1a7a4c790294dc0eddd3202853c17967d6bb8e1a Mon Sep 17 00:00:00 2001
|
||||
From 325be924c400a713b5122b7de800e197ddc3f8b7 Mon Sep 17 00:00:00 2001
|
||||
From: Andrew Wesie <awesie@gmail.com>
|
||||
Date: Fri, 27 Jul 2018 01:22:59 -0500
|
||||
Subject: [PATCH] ntdll: Refactor RtlCreateUserThread into NtCreateThreadEx.
|
||||
@ -12,7 +12,7 @@ reported version), and expects it to be called whenever a thread is created.
|
||||
3 files changed, 187 insertions(+), 36 deletions(-)
|
||||
|
||||
diff --git a/dlls/ntdll/ntdll.spec b/dlls/ntdll/ntdll.spec
|
||||
index cb6a8ec8c4..16ec96bc56 100644
|
||||
index 42532bd9f1c..65fdc30d7a4 100644
|
||||
--- a/dlls/ntdll/ntdll.spec
|
||||
+++ b/dlls/ntdll/ntdll.spec
|
||||
@@ -182,7 +182,7 @@
|
||||
@ -25,10 +25,10 @@ index cb6a8ec8c4..16ec96bc56 100644
|
||||
@ stdcall NtCreateTimer(ptr long ptr long)
|
||||
@ stub NtCreateToken
|
||||
diff --git a/dlls/ntdll/thread.c b/dlls/ntdll/thread.c
|
||||
index ceadcff1b2..2c4a9c4949 100644
|
||||
index 20934448fa3..9deb4397ba9 100644
|
||||
--- a/dlls/ntdll/thread.c
|
||||
+++ b/dlls/ntdll/thread.c
|
||||
@@ -413,34 +413,18 @@ static void start_thread( struct startup_info *info )
|
||||
@@ -390,34 +390,18 @@ static void start_thread( struct startup_info *info )
|
||||
/***********************************************************************
|
||||
* NtCreateThreadEx (NTDLL.@)
|
||||
*/
|
||||
@ -68,7 +68,7 @@ index ceadcff1b2..2c4a9c4949 100644
|
||||
HANDLE handle = 0, actctx = 0;
|
||||
TEB *teb = NULL;
|
||||
DWORD tid = 0;
|
||||
@@ -451,6 +435,33 @@ NTSTATUS WINAPI RtlCreateUserThread( HANDLE process, SECURITY_DESCRIPTOR *descr,
|
||||
@@ -428,6 +412,33 @@ NTSTATUS WINAPI RtlCreateUserThread( HANDLE process, SECURITY_DESCRIPTOR *descr,
|
||||
struct object_attributes *objattr = NULL;
|
||||
INITIAL_TEB stack;
|
||||
|
||||
@ -102,7 +102,7 @@ index ceadcff1b2..2c4a9c4949 100644
|
||||
if (process != NtCurrentProcess())
|
||||
{
|
||||
apc_call_t call;
|
||||
@@ -476,12 +487,7 @@ NTSTATUS WINAPI RtlCreateUserThread( HANDLE process, SECURITY_DESCRIPTOR *descr,
|
||||
@@ -453,12 +464,7 @@ NTSTATUS WINAPI RtlCreateUserThread( HANDLE process, SECURITY_DESCRIPTOR *descr,
|
||||
return result.create_thread.status;
|
||||
}
|
||||
|
||||
@ -114,9 +114,9 @@ index ceadcff1b2..2c4a9c4949 100644
|
||||
- }
|
||||
+ if ((status = alloc_object_attributes( thread_attr, &objattr, &len ))) return status;
|
||||
|
||||
if (server_pipe( request_pipe ) == -1)
|
||||
if (unix_funcs->server_pipe( request_pipe ) == -1)
|
||||
{
|
||||
@@ -493,7 +499,7 @@ NTSTATUS WINAPI RtlCreateUserThread( HANDLE process, SECURITY_DESCRIPTOR *descr,
|
||||
@@ -470,7 +476,7 @@ NTSTATUS WINAPI RtlCreateUserThread( HANDLE process, SECURITY_DESCRIPTOR *descr,
|
||||
SERVER_START_REQ( new_thread )
|
||||
{
|
||||
req->process = wine_server_obj_handle( process );
|
||||
@ -125,7 +125,7 @@ index ceadcff1b2..2c4a9c4949 100644
|
||||
req->suspend = suspended;
|
||||
req->request_fd = request_pipe[0];
|
||||
wine_server_add_data( req, objattr, len );
|
||||
@@ -552,20 +558,20 @@ NTSTATUS WINAPI RtlCreateUserThread( HANDLE process, SECURITY_DESCRIPTOR *descr,
|
||||
@@ -529,20 +535,20 @@ NTSTATUS WINAPI RtlCreateUserThread( HANDLE process, SECURITY_DESCRIPTOR *descr,
|
||||
thread_data->wait_fd[1] = -1;
|
||||
thread_data->start_stack = (char *)teb->Tib.StackBase;
|
||||
|
||||
@ -153,7 +153,7 @@ index ceadcff1b2..2c4a9c4949 100644
|
||||
pthread_sigmask( SIG_SETMASK, &sigset, NULL );
|
||||
|
||||
if (id) id->UniqueThread = ULongToHandle(tid);
|
||||
@@ -582,6 +588,124 @@ error:
|
||||
@@ -559,6 +565,124 @@ error:
|
||||
return status;
|
||||
}
|
||||
|
||||
@ -279,10 +279,10 @@ index ceadcff1b2..2c4a9c4949 100644
|
||||
/******************************************************************************
|
||||
* RtlGetNtGlobalFlags (NTDLL.@)
|
||||
diff --git a/include/winternl.h b/include/winternl.h
|
||||
index 733c8a33f6..5c3f7a05ff 100644
|
||||
index 199b8fc52f2..489b145937c 100644
|
||||
--- a/include/winternl.h
|
||||
+++ b/include/winternl.h
|
||||
@@ -2250,6 +2250,33 @@ typedef struct _NLSTABLEINFO
|
||||
@@ -2274,6 +2274,33 @@ typedef struct _NLSTABLEINFO
|
||||
USHORT *LowerCaseTable;
|
||||
} NLSTABLEINFO, *PNLSTABLEINFO;
|
||||
|
||||
|
@ -1,4 +1,4 @@
|
||||
From de02412f5e105f162e2e457d5bec698575fffc10 Mon Sep 17 00:00:00 2001
|
||||
From 5ea68740395cd0ae34fb4d74d540b30170645ac3 Mon Sep 17 00:00:00 2001
|
||||
From: Sebastian Lackner <sebastian@fds-team.de>
|
||||
Date: Sat, 4 Oct 2014 02:35:44 +0200
|
||||
Subject: [PATCH] ntdll: Trigger write watches before passing userdata pointer
|
||||
@ -10,7 +10,7 @@ Subject: [PATCH] ntdll: Trigger write watches before passing userdata pointer
|
||||
2 files changed, 9 insertions(+), 1 deletion(-)
|
||||
|
||||
diff --git a/dlls/advapi32/tests/security.c b/dlls/advapi32/tests/security.c
|
||||
index 381062cceb1..e7c6ca63fe2 100644
|
||||
index 825f8451904..b414401634a 100644
|
||||
--- a/dlls/advapi32/tests/security.c
|
||||
+++ b/dlls/advapi32/tests/security.c
|
||||
@@ -1557,7 +1557,6 @@ todo_wine
|
||||
@ -22,28 +22,25 @@ index 381062cceb1..e7c6ca63fe2 100644
|
||||
"Access and/or AccessStatus were changed!\n");
|
||||
|
||||
diff --git a/dlls/ntdll/server.c b/dlls/ntdll/server.c
|
||||
index 046cf601ebf..3d88b47a744 100644
|
||||
index ed4e3f25531..921dec86c82 100644
|
||||
--- a/dlls/ntdll/server.c
|
||||
+++ b/dlls/ntdll/server.c
|
||||
@@ -406,9 +406,18 @@ unsigned int server_call_unlocked( void *req_ptr )
|
||||
@@ -166,6 +166,15 @@ static DECLSPEC_NORETURN void server_protocol_perror( const char *err )
|
||||
*/
|
||||
unsigned int CDECL wine_server_call( void *req_ptr )
|
||||
{
|
||||
+ struct __server_request_info * const req = req_ptr;
|
||||
sigset_t old_set;
|
||||
unsigned int ret;
|
||||
|
||||
+
|
||||
+ /* trigger write watches, otherwise read() might return EFAULT */
|
||||
+ if (req->u.req.request_header.reply_size &&
|
||||
+ !virtual_check_buffer_for_write( req->reply_data, req->u.req.request_header.reply_size ))
|
||||
+ {
|
||||
+ ret = STATUS_ACCESS_VIOLATION;
|
||||
+ return ret;
|
||||
+ return STATUS_ACCESS_VIOLATION;
|
||||
+ }
|
||||
+
|
||||
pthread_sigmask( SIG_BLOCK, &server_block_set, &old_set );
|
||||
ret = server_call_unlocked( req_ptr );
|
||||
pthread_sigmask( SIG_SETMASK, &old_set, NULL );
|
||||
return unix_funcs->server_call( req_ptr );
|
||||
}
|
||||
|
||||
--
|
||||
2.26.2
|
||||
|
||||
|
@ -1,4 +1,4 @@
|
||||
From acdd5aaf5d4f618a96f21710a8ee2f44a994194c Mon Sep 17 00:00:00 2001
|
||||
From 627618459891aa36fc9a9ac0c04b7035d2272fb1 Mon Sep 17 00:00:00 2001
|
||||
From: =?UTF-8?q?Gabriel=20Iv=C4=83ncescu?= <gabrielopcode@gmail.com>
|
||||
Date: Fri, 24 May 2019 15:09:35 +0300
|
||||
Subject: [PATCH] ntdll/server: Mark drive_c as case-insensitive when created
|
||||
@ -9,14 +9,14 @@ Content-Transfer-Encoding: 8bit
|
||||
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=47099
|
||||
Signed-off-by: Gabriel Ivăncescu <gabrielopcode@gmail.com>
|
||||
---
|
||||
dlls/ntdll/server.c | 45 +++++++++++++++++++++++++++++++++++++++++++++
|
||||
dlls/ntdll/unix/server.c | 45 ++++++++++++++++++++++++++++++++++++++++
|
||||
1 file changed, 45 insertions(+)
|
||||
|
||||
diff --git a/dlls/ntdll/server.c b/dlls/ntdll/server.c
|
||||
index bc25e242a77..f2109dd1ef0 100644
|
||||
--- a/dlls/ntdll/server.c
|
||||
+++ b/dlls/ntdll/server.c
|
||||
@@ -54,6 +54,12 @@
|
||||
diff --git a/dlls/ntdll/unix/server.c b/dlls/ntdll/unix/server.c
|
||||
index 8dc3f33bc80..0e6c9d90281 100644
|
||||
--- a/dlls/ntdll/unix/server.c
|
||||
+++ b/dlls/ntdll/unix/server.c
|
||||
@@ -55,6 +55,12 @@
|
||||
#ifdef HAVE_SYS_MMAN_H
|
||||
#include <sys/mman.h>
|
||||
#endif
|
||||
@ -29,7 +29,7 @@ index bc25e242a77..f2109dd1ef0 100644
|
||||
#ifdef HAVE_SYS_PRCTL_H
|
||||
# include <sys/prctl.h>
|
||||
#endif
|
||||
@@ -87,6 +93,22 @@
|
||||
@@ -93,6 +99,22 @@
|
||||
|
||||
WINE_DEFAULT_DEBUG_CHANNEL(server);
|
||||
|
||||
@ -49,10 +49,10 @@ index bc25e242a77..f2109dd1ef0 100644
|
||||
+
|
||||
+#endif
|
||||
+
|
||||
/* Some versions of glibc don't define this */
|
||||
#ifndef SCM_RIGHTS
|
||||
#define SCM_RIGHTS 1
|
||||
@@ -1380,6 +1402,28 @@ void init_paths(void)
|
||||
#ifndef MSG_CMSG_CLOEXEC
|
||||
#define MSG_CMSG_CLOEXEC 0
|
||||
#endif
|
||||
@@ -729,6 +751,28 @@ static const char *init_server_dir( dev_t dev, ino_t ino )
|
||||
}
|
||||
|
||||
|
||||
@ -81,7 +81,7 @@ index bc25e242a77..f2109dd1ef0 100644
|
||||
/***********************************************************************
|
||||
* setup_config_dir
|
||||
*
|
||||
@@ -1416,6 +1460,7 @@ static int setup_config_dir(void)
|
||||
@@ -765,6 +809,7 @@ static int setup_config_dir(void)
|
||||
if (!mkdir( "dosdevices", 0777 ))
|
||||
{
|
||||
mkdir( "drive_c", 0777 );
|
||||
|
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
@ -1,5 +1,4 @@
|
||||
Fixes: Fix possible leak of explorer.exe processes and implement proper desktop refcounting
|
||||
Fixes: Assign random name when trying to create Window Station without name
|
||||
Fixes: [46967] GOG Galaxy doesn't run in virtual desktop.
|
||||
Depends: eventfd_synchronization
|
||||
Depends: ws2_32-WSACleanup
|
||||
|
@ -1,26 +1,27 @@
|
||||
From 3b5ea5ff15907d1d8f1902a08451b0a03eb11dc9 Mon Sep 17 00:00:00 2001
|
||||
From ed63a76dc481da8af510fb8f9ae6c399ca0ca0ac Mon Sep 17 00:00:00 2001
|
||||
From: Qian Hong <qhong@codeweavers.com>
|
||||
Date: Fri, 21 Aug 2015 21:58:51 +0800
|
||||
Subject: ntdll: Set EOF on file which has a memory mapping should fail.
|
||||
Subject: [PATCH] ntdll: Set EOF on file which has a memory mapping should
|
||||
fail.
|
||||
|
||||
---
|
||||
dlls/ntdll/file.c | 27 +++++++-------------------
|
||||
server/fd.c | 55 +++++++++++++++++++++++++++++++++++++++++++++++++++++
|
||||
server/protocol.def | 7 +++++++
|
||||
dlls/ntdll/file.c | 27 ++++++----------------
|
||||
server/fd.c | 55 +++++++++++++++++++++++++++++++++++++++++++++
|
||||
server/protocol.def | 7 ++++++
|
||||
3 files changed, 69 insertions(+), 20 deletions(-)
|
||||
|
||||
diff --git a/dlls/ntdll/file.c b/dlls/ntdll/file.c
|
||||
index be6b591..8c9b076 100644
|
||||
index 013706889bb..a28ae265687 100644
|
||||
--- a/dlls/ntdll/file.c
|
||||
+++ b/dlls/ntdll/file.c
|
||||
@@ -2650,30 +2650,17 @@ NTSTATUS WINAPI NtSetInformationFile(HANDLE handle, PIO_STATUS_BLOCK io,
|
||||
@@ -2747,30 +2747,17 @@ NTSTATUS WINAPI NtSetInformationFile(HANDLE handle, PIO_STATUS_BLOCK io,
|
||||
case FileEndOfFileInformation:
|
||||
if (len >= sizeof(FILE_END_OF_FILE_INFORMATION))
|
||||
{
|
||||
- struct stat st;
|
||||
const FILE_END_OF_FILE_INFORMATION *info = ptr;
|
||||
|
||||
- if ((io->u.Status = server_get_unix_fd( handle, 0, &fd, &needs_close, NULL, NULL )))
|
||||
- if ((io->u.Status = unix_funcs->server_get_unix_fd( handle, 0, &fd, &needs_close, NULL, NULL )))
|
||||
- return io->u.Status;
|
||||
-
|
||||
- /* first try normal truncate */
|
||||
@ -52,10 +53,10 @@ index be6b591..8c9b076 100644
|
||||
|
||||
case FilePipeInformation:
|
||||
diff --git a/server/fd.c b/server/fd.c
|
||||
index fef4827..62373d8 100644
|
||||
index 06d1d81bdb0..7b016acb382 100644
|
||||
--- a/server/fd.c
|
||||
+++ b/server/fd.c
|
||||
@@ -2353,6 +2353,50 @@ failed:
|
||||
@@ -2534,6 +2534,50 @@ failed:
|
||||
free( name );
|
||||
}
|
||||
|
||||
@ -106,7 +107,7 @@ index fef4827..62373d8 100644
|
||||
struct completion *fd_get_completion( struct fd *fd, apc_param_t *p_key )
|
||||
{
|
||||
*p_key = fd->comp_key;
|
||||
@@ -2593,3 +2637,14 @@ DECL_HANDLER(set_fd_name_info)
|
||||
@@ -2812,3 +2856,14 @@ DECL_HANDLER(set_fd_name_info)
|
||||
}
|
||||
if (root_fd) release_object( root_fd );
|
||||
}
|
||||
@ -122,10 +123,10 @@ index fef4827..62373d8 100644
|
||||
+ }
|
||||
+}
|
||||
diff --git a/server/protocol.def b/server/protocol.def
|
||||
index c313006..8d197f0 100644
|
||||
index 423e6079009..c6110fc675e 100644
|
||||
--- a/server/protocol.def
|
||||
+++ b/server/protocol.def
|
||||
@@ -3541,6 +3541,13 @@ enum coords_relative
|
||||
@@ -3821,6 +3821,13 @@ struct handle_info
|
||||
@END
|
||||
|
||||
|
||||
@ -140,5 +141,5 @@ index c313006..8d197f0 100644
|
||||
@REQ(get_window_layered_info)
|
||||
user_handle_t handle; /* handle to the window */
|
||||
--
|
||||
2.5.0
|
||||
2.26.2
|
||||
|
||||
|
@ -1,4 +1,4 @@
|
||||
From 276db2921f3643686de6360d882c344fe86e6d99 Mon Sep 17 00:00:00 2001
|
||||
From 3f37e21dc1ff1cbd971b5bf7307b6898c2339b29 Mon Sep 17 00:00:00 2001
|
||||
From: =?UTF-8?q?Michael=20M=C3=BCller?= <michael@fds-team.de>
|
||||
Date: Wed, 8 Mar 2017 03:32:43 +0100
|
||||
Subject: [PATCH] server: Register types during startup.
|
||||
@ -40,7 +40,7 @@ index db04727b93b..f8561172b70 100644
|
||||
}
|
||||
|
||||
diff --git a/server/directory.c b/server/directory.c
|
||||
index 28aec30304a..0a591ed6d9a 100644
|
||||
index 75f1e8f117d..b39a4606277 100644
|
||||
--- a/server/directory.c
|
||||
+++ b/server/directory.c
|
||||
@@ -121,8 +121,7 @@ static void object_type_dump( struct object *obj, int verbose )
|
||||
@ -116,22 +116,22 @@ index 781e6f3141a..42350048877 100644
|
||||
}
|
||||
|
||||
diff --git a/server/main.c b/server/main.c
|
||||
index 43297a3e93d..0a628c30e2d 100644
|
||||
index efb205f5292..fee10ea3d37 100644
|
||||
--- a/server/main.c
|
||||
+++ b/server/main.c
|
||||
@@ -146,6 +146,7 @@ int main( int argc, char *argv[] )
|
||||
@@ -145,6 +145,7 @@ int main( int argc, char *argv[] )
|
||||
init_signals();
|
||||
init_directories();
|
||||
init_registry();
|
||||
init_shared_memory();
|
||||
+ init_types();
|
||||
main_loop();
|
||||
return 0;
|
||||
}
|
||||
diff --git a/server/mapping.c b/server/mapping.c
|
||||
index 2a2803404cc..24ab0f63e48 100644
|
||||
index 0941dd87c05..88894661025 100644
|
||||
--- a/server/mapping.c
|
||||
+++ b/server/mapping.c
|
||||
@@ -979,8 +979,7 @@ static void mapping_dump( struct object *obj, int verbose )
|
||||
@@ -915,8 +915,7 @@ static void mapping_dump( struct object *obj, int verbose )
|
||||
|
||||
static struct object_type *mapping_get_type( struct object *obj )
|
||||
{
|
||||
@ -249,7 +249,7 @@ index 3144eb56678..5cc593f5c52 100644
|
||||
|
||||
extern struct object *create_obj_symlink( struct object *root, const struct unicode_str *name,
|
||||
diff --git a/server/process.c b/server/process.c
|
||||
index 6722addb091..aded1da8901 100644
|
||||
index 76bb6faa91a..be5caaecd7e 100644
|
||||
--- a/server/process.c
|
||||
+++ b/server/process.c
|
||||
@@ -215,8 +215,7 @@ static struct job *get_job_obj( struct process *process, obj_handle_t handle, un
|
||||
@ -315,10 +315,10 @@ index e5ee09f015a..287432f692e 100644
|
||||
}
|
||||
|
||||
diff --git a/server/thread.c b/server/thread.c
|
||||
index 0226e744d7b..7fb902c9648 100644
|
||||
index e2bfa50c7ba..4d518a93403 100644
|
||||
--- a/server/thread.c
|
||||
+++ b/server/thread.c
|
||||
@@ -454,8 +454,7 @@ static void dump_thread( struct object *obj, int verbose )
|
||||
@@ -445,8 +445,7 @@ static void dump_thread( struct object *obj, int verbose )
|
||||
|
||||
static struct object_type *thread_get_type( struct object *obj )
|
||||
{
|
||||
|
@ -1,3 +1,3 @@
|
||||
Fixes: [44629] Process Hacker can't enumerate handles
|
||||
Fixes: [45374] Yet Another Process Monitor (.NET 2.0 app) reports System.AccessViolationException
|
||||
Depends: server-Shared_Memory
|
||||
#Depends: server-Shared_Memory
|
||||
|
@ -7,3 +7,5 @@ Depends: server-PeekMessage
|
||||
Depends: server-Signal_Thread
|
||||
Depends: user32-rawinput-nolegacy
|
||||
Depends: ntdll-ext4-case-folder
|
||||
# This is not worth rebasing right now.
|
||||
Disabled: true
|
||||
|
@ -1,4 +1,4 @@
|
||||
From c7d08fae58702256a3034521632553740f590750 Mon Sep 17 00:00:00 2001
|
||||
From 738b377c97704144b9e750c284155d0c7ac7bd4a Mon Sep 17 00:00:00 2001
|
||||
From: Sebastian Lackner <sebastian@fds-team.de>
|
||||
Date: Mon, 25 May 2015 06:07:50 +0200
|
||||
Subject: [PATCH] wineboot: Assign a drive serial number during prefix
|
||||
@ -9,10 +9,10 @@ Subject: [PATCH] wineboot: Assign a drive serial number during prefix
|
||||
1 file changed, 32 insertions(+)
|
||||
|
||||
diff --git a/programs/wineboot/wineboot.c b/programs/wineboot/wineboot.c
|
||||
index e1dbe6630..f8b0c4d74 100644
|
||||
index 21be0f55fb0..b67b60974b4 100644
|
||||
--- a/programs/wineboot/wineboot.c
|
||||
+++ b/programs/wineboot/wineboot.c
|
||||
@@ -71,6 +71,7 @@
|
||||
@@ -76,6 +76,7 @@
|
||||
#include <shlwapi.h>
|
||||
#include <shellapi.h>
|
||||
#include <setupapi.h>
|
||||
@ -20,7 +20,7 @@ index e1dbe6630..f8b0c4d74 100644
|
||||
#include <newdev.h>
|
||||
#include "resource.h"
|
||||
|
||||
@@ -537,6 +538,36 @@ done:
|
||||
@@ -580,6 +581,36 @@ done:
|
||||
RegCloseKey( bios_key );
|
||||
}
|
||||
|
||||
@ -57,14 +57,14 @@ index e1dbe6630..f8b0c4d74 100644
|
||||
/* create the volatile hardware registry keys */
|
||||
static void create_hardware_registry_keys(void)
|
||||
{
|
||||
@@ -1694,6 +1725,7 @@ int __cdecl main( int argc, char *argv[] )
|
||||
|
||||
@@ -1590,6 +1621,7 @@ int __cdecl main( int argc, char *argv[] )
|
||||
ResetEvent( event ); /* in case this is a restart */
|
||||
|
||||
create_user_shared_data();
|
||||
+ create_disk_serial_number();
|
||||
create_hardware_registry_keys();
|
||||
create_dynamic_registry_keys();
|
||||
create_environment_registry_keys();
|
||||
--
|
||||
2.25.0
|
||||
2.26.2
|
||||
|
||||
|
@ -1,4 +1,4 @@
|
||||
From b72a4fc5697e18fab51553bf182e10352893b09f Mon Sep 17 00:00:00 2001
|
||||
From 45598a4fa2472c7df34c472fb0c193d9948a469d Mon Sep 17 00:00:00 2001
|
||||
From: =?UTF-8?q?Michael=20M=C3=BCller?= <michael@fds-team.de>
|
||||
Date: Thu, 7 Sep 2017 00:38:09 +0200
|
||||
Subject: [PATCH] tools/winebuild: Add syscall thunks for 64 bit.
|
||||
@ -6,11 +6,12 @@ Subject: [PATCH] tools/winebuild: Add syscall thunks for 64 bit.
|
||||
---
|
||||
dlls/kernel32/tests/loader.c | 7 +-
|
||||
dlls/ntdll/signal_x86_64.c | 2 +
|
||||
dlls/ntdll/thread.c | 17 ++-
|
||||
dlls/ntdll/thread.c | 13 +-
|
||||
libs/wine/loader.c | 4 +
|
||||
programs/wineboot/wineboot.c | 4 +
|
||||
tools/winebuild/parser.c | 2 +-
|
||||
tools/winebuild/spec32.c | 285 ++++++++++++++++++++++++++++++++++-
|
||||
6 files changed, 307 insertions(+), 10 deletions(-)
|
||||
7 files changed, 307 insertions(+), 10 deletions(-)
|
||||
|
||||
diff --git a/dlls/kernel32/tests/loader.c b/dlls/kernel32/tests/loader.c
|
||||
index 95939ba6bde..ae5462f6e55 100644
|
||||
@ -40,7 +41,7 @@ index 95939ba6bde..ae5462f6e55 100644
|
||||
todo_wine ok(0, "%s: Export is a stub-function, skipping\n", func_name);
|
||||
continue;
|
||||
diff --git a/dlls/ntdll/signal_x86_64.c b/dlls/ntdll/signal_x86_64.c
|
||||
index 31af1e98d3f..324a92b41a9 100644
|
||||
index e92470e9606..e089afd71f5 100644
|
||||
--- a/dlls/ntdll/signal_x86_64.c
|
||||
+++ b/dlls/ntdll/signal_x86_64.c
|
||||
@@ -354,6 +354,7 @@ static inline void set_sigcontext( const CONTEXT *context, ucontext_t *sigcontex
|
||||
@ -60,7 +61,7 @@ index 31af1e98d3f..324a92b41a9 100644
|
||||
}
|
||||
|
||||
diff --git a/dlls/ntdll/thread.c b/dlls/ntdll/thread.c
|
||||
index 9fcbd8310ed..ed1183b0512 100644
|
||||
index fb5320603dc..20934448fa3 100644
|
||||
--- a/dlls/ntdll/thread.c
|
||||
+++ b/dlls/ntdll/thread.c
|
||||
@@ -54,6 +54,8 @@ WINE_DEFAULT_DEBUG_CHANNEL(thread);
|
||||
@ -72,18 +73,7 @@ index 9fcbd8310ed..ed1183b0512 100644
|
||||
void (WINAPI *kernel32_start_process)(LPTHREAD_START_ROUTINE,void*) = NULL;
|
||||
|
||||
/* info passed to a starting thread */
|
||||
@@ -206,6 +208,10 @@ static void fill_user_shared_data( struct _KUSER_SHARED_DATA *data )
|
||||
data->NumberOfPhysicalPages = sbi.MmNumberOfPhysicalPages;
|
||||
wcscpy( data->NtSystemRoot, windows_dir );
|
||||
|
||||
+ /* Pretend we don't support the SYSCALL instruction on x86-64. Needed for
|
||||
+ * Chromium; see output_syscall_thunks_x64() in winebuild. */
|
||||
+ data->SystemCallPad[0] = 1;
|
||||
+
|
||||
switch (sci.Architecture)
|
||||
{
|
||||
case PROCESSOR_ARCHITECTURE_INTEL:
|
||||
@@ -312,9 +318,9 @@ TEB *thread_init(void)
|
||||
@@ -230,9 +232,9 @@ TEB *thread_init(void)
|
||||
/* reserve space for shared user data */
|
||||
|
||||
addr = (void *)0x7ffe0000;
|
||||
@ -95,7 +85,7 @@ index 9fcbd8310ed..ed1183b0512 100644
|
||||
if (status)
|
||||
{
|
||||
MESSAGE( "wine: failed to map the shared user data: %08x\n", status );
|
||||
@@ -322,6 +328,13 @@ TEB *thread_init(void)
|
||||
@@ -240,6 +242,13 @@ TEB *thread_init(void)
|
||||
}
|
||||
user_shared_data = addr;
|
||||
|
||||
@ -125,6 +115,21 @@ index 4597a6cb324..3d0d75e9c6d 100644
|
||||
sec->Characteristics = (IMAGE_SCN_CNT_CODE | IMAGE_SCN_MEM_EXECUTE | IMAGE_SCN_MEM_READ);
|
||||
sec++;
|
||||
|
||||
diff --git a/programs/wineboot/wineboot.c b/programs/wineboot/wineboot.c
|
||||
index 21be0f55fb0..f84a7fe8a0c 100644
|
||||
--- a/programs/wineboot/wineboot.c
|
||||
+++ b/programs/wineboot/wineboot.c
|
||||
@@ -235,6 +235,10 @@ static void create_user_shared_data(void)
|
||||
data->NumberOfPhysicalPages = sbi.MmNumberOfPhysicalPages;
|
||||
wcscpy( data->NtSystemRoot, L"C:\\windows" );
|
||||
|
||||
+ /* Pretend we don't support the SYSCALL instruction on x86-64. Needed for
|
||||
+ * Chromium; see output_syscall_thunks_x64() in winebuild. */
|
||||
+ data->SystemCallPad[0] = 1;
|
||||
+
|
||||
features = data->ProcessorFeatures;
|
||||
switch (sci.Architecture)
|
||||
{
|
||||
diff --git a/tools/winebuild/parser.c b/tools/winebuild/parser.c
|
||||
index 74216f8bb6e..820516329a4 100644
|
||||
--- a/tools/winebuild/parser.c
|
||||
|
@ -1,21 +1,26 @@
|
||||
From 380a706bf10f26de9a1cd1a440b427f01f012285 Mon Sep 17 00:00:00 2001
|
||||
From e5ee1bec04910d5109591ee82177cdddaab60da7 Mon Sep 17 00:00:00 2001
|
||||
From: Sebastian Lackner <sebastian@fds-team.de>
|
||||
Date: Sun, 6 Sep 2015 12:41:17 +0200
|
||||
Subject: ws2_32: Invalidate client-side file descriptor cache in WSACleanup.
|
||||
Subject: [PATCH] ws2_32: Invalidate client-side file descriptor cache in
|
||||
WSACleanup.
|
||||
|
||||
---
|
||||
dlls/ntdll/ntdll.spec | 1 +
|
||||
dlls/ntdll/server.c | 24 ++++++++++++++++++++++++
|
||||
dlls/ws2_32/socket.c | 1 +
|
||||
dlls/ws2_32/tests/sock.c | 5 +----
|
||||
include/wine/server.h | 1 +
|
||||
5 files changed, 28 insertions(+), 4 deletions(-)
|
||||
dlls/ntdll/ntdll.spec | 1 +
|
||||
dlls/ntdll/server.c | 8 ++++++++
|
||||
dlls/ntdll/unix/loader.c | 1 +
|
||||
dlls/ntdll/unix/server.c | 20 ++++++++++++++++++++
|
||||
dlls/ntdll/unix/unix_private.h | 1 +
|
||||
dlls/ntdll/unixlib.h | 3 ++-
|
||||
dlls/ws2_32/socket.c | 1 +
|
||||
dlls/ws2_32/tests/sock.c | 5 +----
|
||||
include/wine/server.h | 1 +
|
||||
9 files changed, 36 insertions(+), 5 deletions(-)
|
||||
|
||||
diff --git a/dlls/ntdll/ntdll.spec b/dlls/ntdll/ntdll.spec
|
||||
index c3b6bf0..2b52562 100644
|
||||
index 42532bd9f1c..ba46f170670 100644
|
||||
--- a/dlls/ntdll/ntdll.spec
|
||||
+++ b/dlls/ntdll/ntdll.spec
|
||||
@@ -1458,6 +1458,7 @@
|
||||
@@ -1575,6 +1575,7 @@
|
||||
|
||||
# Server interface
|
||||
@ cdecl -norelay wine_server_call(ptr)
|
||||
@ -24,19 +29,49 @@ index c3b6bf0..2b52562 100644
|
||||
@ cdecl wine_server_handle_to_fd(long long ptr ptr)
|
||||
@ cdecl wine_server_release_fd(long long)
|
||||
diff --git a/dlls/ntdll/server.c b/dlls/ntdll/server.c
|
||||
index 356d631..381d5aa 100644
|
||||
index ed4e3f25531..ae1e41a485e 100644
|
||||
--- a/dlls/ntdll/server.c
|
||||
+++ b/dlls/ntdll/server.c
|
||||
@@ -915,6 +915,30 @@ int server_remove_fd_from_cache( HANDLE handle )
|
||||
@@ -687,6 +687,14 @@ void CDECL wine_server_release_fd( HANDLE handle, int unix_fd )
|
||||
unix_funcs->server_release_fd( handle, unix_fd );
|
||||
}
|
||||
|
||||
|
||||
/***********************************************************************
|
||||
+ /***********************************************************************
|
||||
+ * wine_server_close_fds_by_type
|
||||
+ *
|
||||
+ * Needed for a proper implementation of WSACleanup.
|
||||
+ */
|
||||
+void CDECL wine_server_close_fds_by_type( enum server_fd_type type )
|
||||
+{
|
||||
+ unix_funcs->server_remove_fds_from_cache_by_type( type );
|
||||
+}
|
||||
+
|
||||
|
||||
/***********************************************************************
|
||||
* server_init_process
|
||||
diff --git a/dlls/ntdll/unix/loader.c b/dlls/ntdll/unix/loader.c
|
||||
index 4a3f101d301..8b10964603e 100644
|
||||
--- a/dlls/ntdll/unix/loader.c
|
||||
+++ b/dlls/ntdll/unix/loader.c
|
||||
@@ -1000,6 +1000,7 @@ static struct unix_funcs unix_funcs =
|
||||
wine_server_call,
|
||||
server_send_fd,
|
||||
server_remove_fd_from_cache,
|
||||
+ server_remove_fds_from_cache_by_type,
|
||||
server_get_unix_fd,
|
||||
server_fd_to_handle,
|
||||
server_handle_to_fd,
|
||||
diff --git a/dlls/ntdll/unix/server.c b/dlls/ntdll/unix/server.c
|
||||
index 8dc3f33bc80..dd2cb6cf5e2 100644
|
||||
--- a/dlls/ntdll/unix/server.c
|
||||
+++ b/dlls/ntdll/unix/server.c
|
||||
@@ -559,6 +559,26 @@ int CDECL server_remove_fd_from_cache( HANDLE handle )
|
||||
return fd;
|
||||
}
|
||||
|
||||
+/***********************************************************************
|
||||
+ * server_remove_fds_from_cache_by_type
|
||||
+ */
|
||||
+void CDECL server_remove_fds_from_cache_by_type( enum server_fd_type type )
|
||||
+{
|
||||
+ union fd_cache_entry cache;
|
||||
+ unsigned int entry, idx;
|
||||
+
|
||||
@ -52,17 +87,47 @@ index 356d631..381d5aa 100644
|
||||
+ }
|
||||
+ }
|
||||
+}
|
||||
+
|
||||
+
|
||||
+/***********************************************************************
|
||||
|
||||
/***********************************************************************
|
||||
* server_get_unix_fd
|
||||
*
|
||||
* The returned unix_fd should be closed iff needs_close is non-zero.
|
||||
diff --git a/dlls/ntdll/unix/unix_private.h b/dlls/ntdll/unix/unix_private.h
|
||||
index 2bf39f85371..32c03fd8983 100644
|
||||
--- a/dlls/ntdll/unix/unix_private.h
|
||||
+++ b/dlls/ntdll/unix/unix_private.h
|
||||
@@ -63,6 +63,7 @@ extern void CDECL dbg_init(void) DECLSPEC_HIDDEN;
|
||||
extern unsigned int CDECL server_call_unlocked( void *req_ptr ) DECLSPEC_HIDDEN;
|
||||
extern void CDECL server_send_fd( int fd ) DECLSPEC_HIDDEN;
|
||||
extern int CDECL server_remove_fd_from_cache( HANDLE handle ) DECLSPEC_HIDDEN;
|
||||
+extern void CDECL server_remove_fds_from_cache_by_type( enum server_fd_type type ) DECLSPEC_HIDDEN;
|
||||
extern int CDECL server_get_unix_fd( HANDLE handle, unsigned int wanted_access, int *unix_fd,
|
||||
int *needs_close, enum server_fd_type *type,
|
||||
unsigned int *options ) DECLSPEC_HIDDEN;
|
||||
diff --git a/dlls/ntdll/unixlib.h b/dlls/ntdll/unixlib.h
|
||||
index 142e8956e7e..452c725dfde 100644
|
||||
--- a/dlls/ntdll/unixlib.h
|
||||
+++ b/dlls/ntdll/unixlib.h
|
||||
@@ -25,7 +25,7 @@
|
||||
#include "wine/debug.h"
|
||||
|
||||
/* increment this when you change the function table */
|
||||
-#define NTDLL_UNIXLIB_VERSION 10
|
||||
+#define NTDLL_UNIXLIB_VERSION 11
|
||||
|
||||
struct unix_funcs
|
||||
{
|
||||
@@ -55,6 +55,7 @@ struct unix_funcs
|
||||
unsigned int (CDECL *server_call)( void *req_ptr );
|
||||
void (CDECL *server_send_fd)( int fd );
|
||||
int (CDECL *server_remove_fd_from_cache)( HANDLE handle );
|
||||
+ void (CDECL *server_remove_fds_from_cache_by_type)( enum server_fd_type type );
|
||||
int (CDECL *server_get_unix_fd)( HANDLE handle, unsigned int wanted_access, int *unix_fd,
|
||||
int *needs_close, enum server_fd_type *type, unsigned int *options );
|
||||
NTSTATUS (CDECL *server_fd_to_handle)( int fd, unsigned int access, unsigned int attributes,
|
||||
diff --git a/dlls/ws2_32/socket.c b/dlls/ws2_32/socket.c
|
||||
index ea45397..c50d2b6 100644
|
||||
index bbc44ca2c20..37d110d216f 100644
|
||||
--- a/dlls/ws2_32/socket.c
|
||||
+++ b/dlls/ws2_32/socket.c
|
||||
@@ -1495,6 +1495,7 @@ INT WINAPI WSACleanup(void)
|
||||
@@ -1729,6 +1729,7 @@ INT WINAPI WSACleanup(void)
|
||||
|
||||
if (!--num_startup)
|
||||
{
|
||||
@ -71,10 +136,10 @@ index ea45397..c50d2b6 100644
|
||||
{
|
||||
wine_server_call( req );
|
||||
diff --git a/dlls/ws2_32/tests/sock.c b/dlls/ws2_32/tests/sock.c
|
||||
index e3732a3..9ed71aa 100644
|
||||
index 9fe89d9dba3..c2e1379fe6f 100644
|
||||
--- a/dlls/ws2_32/tests/sock.c
|
||||
+++ b/dlls/ws2_32/tests/sock.c
|
||||
@@ -1179,10 +1179,7 @@ static void test_WithWSAStartup(void)
|
||||
@@ -1250,10 +1250,7 @@ static void test_WithWSAStartup(void)
|
||||
SetLastError(0xdeadbeef);
|
||||
res = getsockname(sock, (struct sockaddr *)&saddr, &size);
|
||||
error = WSAGetLastError();
|
||||
@ -87,7 +152,7 @@ index e3732a3..9ed71aa 100644
|
||||
}
|
||||
}
|
||||
diff --git a/include/wine/server.h b/include/wine/server.h
|
||||
index d573d1f..02d9c7b 100644
|
||||
index ac5dcc6f8bc..5cf52887516 100644
|
||||
--- a/include/wine/server.h
|
||||
+++ b/include/wine/server.h
|
||||
@@ -54,6 +54,7 @@ extern void CDECL wine_server_send_fd( int fd );
|
||||
@ -99,5 +164,5 @@ index d573d1f..02d9c7b 100644
|
||||
/* do a server call and set the last error code */
|
||||
static inline unsigned int wine_server_call_err( void *req_ptr )
|
||||
--
|
||||
2.6.2
|
||||
2.26.2
|
||||
|
||||
|
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user