mirror of
https://gitlab.winehq.org/wine/wine-staging.git
synced 2025-01-28 22:04:43 -08:00
Added patch to avoid updating iosb.Status after FSCTL_PIPE_LISTEN call.
This commit is contained in:
parent
7c264ae20f
commit
43ea36154f
@ -1,4 +1,4 @@
|
||||
From 18c1a541928b5ef39f647e18f37c7cfdeac1483c Mon Sep 17 00:00:00 2001
|
||||
From ac80ddfb739fbe5d743c97715431d0f2e038830c Mon Sep 17 00:00:00 2001
|
||||
From: Sebastian Lackner <sebastian@fds-team.de>
|
||||
Date: Mon, 11 Aug 2014 04:19:49 +0200
|
||||
Subject: kernel32/tests: Add tests for PIPE_NOWAIT in message mode.
|
||||
@ -8,11 +8,11 @@ Subject: kernel32/tests: Add tests for PIPE_NOWAIT in message mode.
|
||||
1 file changed, 96 insertions(+)
|
||||
|
||||
diff --git a/dlls/kernel32/tests/pipe.c b/dlls/kernel32/tests/pipe.c
|
||||
index 76cf018..35755b3 100644
|
||||
index 3388833..4d782bd 100644
|
||||
--- a/dlls/kernel32/tests/pipe.c
|
||||
+++ b/dlls/kernel32/tests/pipe.c
|
||||
@@ -2561,6 +2561,101 @@ static void test_overlapped(void)
|
||||
CloseHandle(thread);
|
||||
@@ -2619,6 +2619,101 @@ static void test_overlapped_error(void)
|
||||
CloseHandle(event);
|
||||
}
|
||||
|
||||
+static void test_nowait(void)
|
||||
@ -113,14 +113,14 @@ index 76cf018..35755b3 100644
|
||||
static void test_NamedPipeHandleState(void)
|
||||
{
|
||||
HANDLE server, client;
|
||||
@@ -2984,6 +3079,7 @@ START_TEST(pipe)
|
||||
test_CloseHandle();
|
||||
@@ -3043,6 +3138,7 @@ START_TEST(pipe)
|
||||
test_impersonation();
|
||||
test_overlapped();
|
||||
test_overlapped_error();
|
||||
+ test_nowait();
|
||||
test_NamedPipeHandleState();
|
||||
test_readfileex_pending();
|
||||
}
|
||||
--
|
||||
2.6.2
|
||||
2.7.1
|
||||
|
||||
|
@ -1,4 +1,4 @@
|
||||
From 813744368ba23f2e06e06029bf93955760f10a7c Mon Sep 17 00:00:00 2001
|
||||
From 2a458a2f67321fb801ad6203b21e644123dc90fa Mon Sep 17 00:00:00 2001
|
||||
From: Sebastian Lackner <sebastian@fds-team.de>
|
||||
Date: Mon, 11 Aug 2014 05:34:19 +0200
|
||||
Subject: ntdll: Allow to set PIPE_NOWAIT on byte-mode pipes.
|
||||
@ -12,11 +12,11 @@ matches the native implementation.
|
||||
2 files changed, 31 insertions(+), 8 deletions(-)
|
||||
|
||||
diff --git a/dlls/kernel32/tests/pipe.c b/dlls/kernel32/tests/pipe.c
|
||||
index 35755b3..e464469 100644
|
||||
index 4d782bd..3cdbd93 100644
|
||||
--- a/dlls/kernel32/tests/pipe.c
|
||||
+++ b/dlls/kernel32/tests/pipe.c
|
||||
@@ -2561,7 +2561,7 @@ static void test_overlapped(void)
|
||||
CloseHandle(thread);
|
||||
@@ -2619,7 +2619,7 @@ static void test_overlapped_error(void)
|
||||
CloseHandle(event);
|
||||
}
|
||||
|
||||
-static void test_nowait(void)
|
||||
@ -24,7 +24,7 @@ index 35755b3..e464469 100644
|
||||
{
|
||||
HANDLE hnp;
|
||||
HANDLE hFile;
|
||||
@@ -2572,7 +2572,7 @@ static void test_nowait(void)
|
||||
@@ -2630,7 +2630,7 @@ static void test_nowait(void)
|
||||
DWORD lpmode;
|
||||
|
||||
hnp = CreateNamedPipeA(PIPENAME, PIPE_ACCESS_DUPLEX,
|
||||
@ -33,7 +33,7 @@ index 35755b3..e464469 100644
|
||||
/* nMaxInstances */ 1,
|
||||
/* nOutBufSize */ 1024,
|
||||
/* nInBufSize */ 1024,
|
||||
@@ -2603,7 +2603,7 @@ static void test_nowait(void)
|
||||
@@ -2661,7 +2661,7 @@ static void test_nowait(void)
|
||||
ok(readden == 0, "got %d bytes\n", readden);
|
||||
ok(GetLastError() == ERROR_NO_DATA, "GetLastError() returned %08x, expected ERROR_NO_DATA\n", GetLastError());
|
||||
|
||||
@ -42,7 +42,7 @@ index 35755b3..e464469 100644
|
||||
ok(SetNamedPipeHandleState(hFile, &lpmode, NULL, NULL), "Change mode\n");
|
||||
|
||||
/* send message from server to client */
|
||||
@@ -2627,8 +2627,18 @@ static void test_nowait(void)
|
||||
@@ -2685,8 +2685,18 @@ static void test_nowait(void)
|
||||
ok(WriteFile(hFile, obuf, 0, &written, NULL), "WriteFile\n");
|
||||
ok(written == 0, "write file len\n");
|
||||
|
||||
@ -63,7 +63,7 @@ index 35755b3..e464469 100644
|
||||
|
||||
readden = 0xdeadbeef;
|
||||
SetLastError(0xdeadbeef);
|
||||
@@ -2640,8 +2650,18 @@ static void test_nowait(void)
|
||||
@@ -2698,8 +2708,18 @@ static void test_nowait(void)
|
||||
ok(WriteFile(hnp, obuf, 0, &written, NULL), "WriteFile\n");
|
||||
ok(written == 0, "write file len\n");
|
||||
|
||||
@ -84,10 +84,10 @@ index 35755b3..e464469 100644
|
||||
|
||||
readden = 0xdeadbeef;
|
||||
SetLastError(0xdeadbeef);
|
||||
@@ -3079,7 +3099,8 @@ START_TEST(pipe)
|
||||
test_CloseHandle();
|
||||
@@ -3138,7 +3158,8 @@ START_TEST(pipe)
|
||||
test_impersonation();
|
||||
test_overlapped();
|
||||
test_overlapped_error();
|
||||
- test_nowait();
|
||||
+ test_nowait(PIPE_TYPE_BYTE);
|
||||
+ test_nowait(PIPE_TYPE_MESSAGE | PIPE_READMODE_MESSAGE);
|
||||
@ -95,10 +95,10 @@ index 35755b3..e464469 100644
|
||||
test_readfileex_pending();
|
||||
}
|
||||
diff --git a/dlls/ntdll/file.c b/dlls/ntdll/file.c
|
||||
index ad08987..c9be586 100644
|
||||
index ac4d69a..06e5e9b 100644
|
||||
--- a/dlls/ntdll/file.c
|
||||
+++ b/dlls/ntdll/file.c
|
||||
@@ -570,6 +570,8 @@ static NTSTATUS read_unix_fd(int fd, char *buf, ULONG *total, ULONG length,
|
||||
@@ -568,6 +568,8 @@ static NTSTATUS read_unix_fd(int fd, char *buf, ULONG *total, ULONG length,
|
||||
if (ret < 0) ERR("dequeue message failed reason: %s\n", strerror(errno));
|
||||
}
|
||||
}
|
||||
@ -108,5 +108,5 @@ index ad08987..c9be586 100644
|
||||
result = read( fd, buf + *total, length - *total );
|
||||
|
||||
--
|
||||
2.6.2
|
||||
2.7.1
|
||||
|
||||
|
@ -4,4 +4,5 @@ Fixes: Set NamedPipeState to FILE_PIPE_CLOSING_STATE on broken pipe in NtQueryIn
|
||||
FIxes: Return proper status codes when NtReadFile/NtWriteFile is called on closed (but not disconnected) pipe
|
||||
Depends: rpcrt4-Pipe_Transport
|
||||
Depends: server-Desktop_Refcount
|
||||
Depends: ntdll-FSCTL_PIPE_LISTEN
|
||||
Category: stable
|
||||
|
@ -0,0 +1,55 @@
|
||||
From 82da5b425ae379825eecd6a3437a2d2e6b88890e Mon Sep 17 00:00:00 2001
|
||||
From: Sebastian Lackner <sebastian@fds-team.de>
|
||||
Date: Sun, 13 Mar 2016 20:28:15 +0100
|
||||
Subject: ntdll/tests: Add tests for iosb.Status value after pending
|
||||
FSCTL_PIPE_LISTEN call.
|
||||
|
||||
---
|
||||
dlls/ntdll/tests/pipe.c | 20 +++++++++++++++++---
|
||||
1 file changed, 17 insertions(+), 3 deletions(-)
|
||||
|
||||
diff --git a/dlls/ntdll/tests/pipe.c b/dlls/ntdll/tests/pipe.c
|
||||
index 7c30408..5b19ad3 100644
|
||||
--- a/dlls/ntdll/tests/pipe.c
|
||||
+++ b/dlls/ntdll/tests/pipe.c
|
||||
@@ -277,10 +277,9 @@ static void test_overlapped(void)
|
||||
ok(!res, "NtCreateNamedPipeFile returned %x\n", res);
|
||||
|
||||
memset(&iosb, 0x55, sizeof(iosb));
|
||||
-
|
||||
-/* try with event and apc */
|
||||
res = listen_pipe(hPipe, hEvent, &iosb, TRUE);
|
||||
ok(res == STATUS_PENDING, "NtFsControlFile returned %x\n", res);
|
||||
+ ok(U(iosb).Status == 0x55555555, "iosb.Status got changed to %x\n", U(iosb).Status);
|
||||
|
||||
hClient = CreateFileW(testpipe, GENERIC_READ | GENERIC_WRITE, 0, 0, OPEN_EXISTING, 0, 0);
|
||||
ok(hClient != INVALID_HANDLE_VALUE, "can't open pipe, GetLastError: %x\n", GetLastError());
|
||||
@@ -294,9 +293,24 @@ static void test_overlapped(void)
|
||||
|
||||
ok(ioapc_called, "IOAPC didn't run\n");
|
||||
|
||||
- CloseHandle(hEvent);
|
||||
CloseHandle(hPipe);
|
||||
CloseHandle(hClient);
|
||||
+
|
||||
+ res = create_pipe(&hPipe, FILE_SHARE_READ | FILE_SHARE_WRITE, 0 /* OVERLAPPED */);
|
||||
+ ok(!res, "NtCreateNamedPipeFile returned %x\n", res);
|
||||
+
|
||||
+ hClient = CreateFileW(testpipe, GENERIC_READ | GENERIC_WRITE, 0, 0, OPEN_EXISTING, 0, 0);
|
||||
+ ok(hClient != INVALID_HANDLE_VALUE, "can't open pipe, GetLastError: %x\n", GetLastError());
|
||||
+
|
||||
+ memset(&iosb, 0x55, sizeof(iosb));
|
||||
+ res = listen_pipe(hPipe, hEvent, &iosb, TRUE);
|
||||
+ ok(res == STATUS_PIPE_CONNECTED, "NtFsControlFile returned %x\n", res);
|
||||
+ todo_wine ok(U(iosb).Status == 0x55555555, "iosb.Status got changed to %x\n", U(iosb).Status);
|
||||
+
|
||||
+ CloseHandle(hPipe);
|
||||
+ CloseHandle(hClient);
|
||||
+
|
||||
+ CloseHandle(hEvent);
|
||||
}
|
||||
|
||||
static BOOL userapc_called;
|
||||
--
|
||||
2.7.1
|
||||
|
@ -0,0 +1,90 @@
|
||||
From 8617c09525a481c382abe15d7a6c9386e80f49ae Mon Sep 17 00:00:00 2001
|
||||
From: =?UTF-8?q?Michael=20M=C3=BCller?= <michael@fds-team.de>
|
||||
Date: Sun, 13 Mar 2016 20:38:10 +0100
|
||||
Subject: kernel32/tests: Add additional tests for overlapped handling of
|
||||
CreateNamedPipe.
|
||||
|
||||
---
|
||||
dlls/kernel32/tests/pipe.c | 59 ++++++++++++++++++++++++++++++++++++++++++++++
|
||||
1 file changed, 59 insertions(+)
|
||||
|
||||
diff --git a/dlls/kernel32/tests/pipe.c b/dlls/kernel32/tests/pipe.c
|
||||
index 60336f8..77381f2 100644
|
||||
--- a/dlls/kernel32/tests/pipe.c
|
||||
+++ b/dlls/kernel32/tests/pipe.c
|
||||
@@ -2091,6 +2091,64 @@ static void test_overlapped(void)
|
||||
CloseHandle(thread);
|
||||
}
|
||||
|
||||
+static void test_overlapped_error(void)
|
||||
+{
|
||||
+ HANDLE pipe, file, event;
|
||||
+ DWORD err, numbytes;
|
||||
+ OVERLAPPED overlapped;
|
||||
+ BOOL ret;
|
||||
+
|
||||
+ event = CreateEventA(NULL, TRUE, FALSE, NULL);
|
||||
+ ok(event != NULL, "CreateEventA failed with %u\n", GetLastError());
|
||||
+
|
||||
+ pipe = CreateNamedPipeA(PIPENAME, PIPE_ACCESS_DUPLEX | FILE_FLAG_OVERLAPPED,
|
||||
+ PIPE_TYPE_MESSAGE | PIPE_READMODE_MESSAGE | PIPE_WAIT,
|
||||
+ 1, 1024, 1024, NMPWAIT_WAIT_FOREVER, NULL);
|
||||
+ ok(pipe != INVALID_HANDLE_VALUE, "CreateNamedPipe failed with %u\n", GetLastError());
|
||||
+
|
||||
+ memset(&overlapped, 0, sizeof(overlapped));
|
||||
+ overlapped.hEvent = event;
|
||||
+ ret = ConnectNamedPipe(pipe, &overlapped);
|
||||
+ err = GetLastError();
|
||||
+ ok(ret == FALSE, "ConnectNamedPipe succeeded\n");
|
||||
+ ok(err == ERROR_IO_PENDING, "expected ERROR_IO_PENDING, got %u\n", err);
|
||||
+
|
||||
+ file = CreateFileA(PIPENAME, GENERIC_READ | GENERIC_WRITE, 0, NULL,
|
||||
+ OPEN_EXISTING, FILE_FLAG_OVERLAPPED, 0);
|
||||
+ ok(file != INVALID_HANDLE_VALUE, "CreateFile failed with %u\n", GetLastError());
|
||||
+
|
||||
+ numbytes = 0xdeadbeef;
|
||||
+ ret = GetOverlappedResult(pipe, &overlapped, &numbytes, TRUE);
|
||||
+ ok(ret == TRUE, "GetOverlappedResult failed\n");
|
||||
+ ok(numbytes == 0, "expected 0, got %u\n", numbytes);
|
||||
+ ok(overlapped.Internal == STATUS_SUCCESS, "expected STATUS_SUCCESS, got %08lx\n", overlapped.Internal);
|
||||
+
|
||||
+ CloseHandle(file);
|
||||
+ CloseHandle(pipe);
|
||||
+
|
||||
+ pipe = CreateNamedPipeA(PIPENAME, PIPE_ACCESS_DUPLEX | FILE_FLAG_OVERLAPPED,
|
||||
+ PIPE_TYPE_MESSAGE | PIPE_READMODE_MESSAGE | PIPE_WAIT,
|
||||
+ 1, 1024, 1024, NMPWAIT_WAIT_FOREVER, NULL);
|
||||
+ ok(pipe != INVALID_HANDLE_VALUE, "CreateNamedPipe failed with %u\n", GetLastError());
|
||||
+
|
||||
+ file = CreateFileA(PIPENAME, GENERIC_READ | GENERIC_WRITE, 0, NULL,
|
||||
+ OPEN_EXISTING, FILE_FLAG_OVERLAPPED, 0);
|
||||
+ ok(file != INVALID_HANDLE_VALUE, "CreateFile failed with %u\n", GetLastError());
|
||||
+
|
||||
+ memset(&overlapped, 0, sizeof(overlapped));
|
||||
+ overlapped.hEvent = event;
|
||||
+ ret = ConnectNamedPipe(pipe, &overlapped);
|
||||
+ err = GetLastError();
|
||||
+ ok(ret == FALSE, "ConnectNamedPipe succeeded\n");
|
||||
+ ok(err == ERROR_PIPE_CONNECTED, "expected ERROR_PIPE_CONNECTED, got %u\n", err);
|
||||
+ todo_wine ok(overlapped.Internal == STATUS_PENDING, "expected STATUS_PENDING, got %08lx\n", overlapped.Internal);
|
||||
+
|
||||
+ CloseHandle(file);
|
||||
+ CloseHandle(pipe);
|
||||
+
|
||||
+ CloseHandle(event);
|
||||
+}
|
||||
+
|
||||
static void test_NamedPipeHandleState(void)
|
||||
{
|
||||
HANDLE server, client;
|
||||
@@ -2372,6 +2430,7 @@ START_TEST(pipe)
|
||||
test_CloseHandle();
|
||||
test_impersonation();
|
||||
test_overlapped();
|
||||
+ test_overlapped_error();
|
||||
test_NamedPipeHandleState();
|
||||
test_readfileex_pending();
|
||||
}
|
||||
--
|
||||
2.7.1
|
||||
|
@ -0,0 +1,62 @@
|
||||
From 98592ff61773a99e32b58e9da7df0fd221bcb9c0 Mon Sep 17 00:00:00 2001
|
||||
From: Sebastian Lackner <sebastian@fds-team.de>
|
||||
Date: Sun, 13 Mar 2016 20:42:03 +0100
|
||||
Subject: ntdll: Do not update iosb.Status after FSCTL_PIPE_LISTEN call.
|
||||
|
||||
---
|
||||
dlls/kernel32/tests/pipe.c | 2 +-
|
||||
dlls/ntdll/file.c | 2 +-
|
||||
dlls/ntdll/tests/pipe.c | 4 ++--
|
||||
3 files changed, 4 insertions(+), 4 deletions(-)
|
||||
|
||||
diff --git a/dlls/kernel32/tests/pipe.c b/dlls/kernel32/tests/pipe.c
|
||||
index 77381f2..a896843 100644
|
||||
--- a/dlls/kernel32/tests/pipe.c
|
||||
+++ b/dlls/kernel32/tests/pipe.c
|
||||
@@ -2141,7 +2141,7 @@ static void test_overlapped_error(void)
|
||||
err = GetLastError();
|
||||
ok(ret == FALSE, "ConnectNamedPipe succeeded\n");
|
||||
ok(err == ERROR_PIPE_CONNECTED, "expected ERROR_PIPE_CONNECTED, got %u\n", err);
|
||||
- todo_wine ok(overlapped.Internal == STATUS_PENDING, "expected STATUS_PENDING, got %08lx\n", overlapped.Internal);
|
||||
+ ok(overlapped.Internal == STATUS_PENDING, "expected STATUS_PENDING, got %08lx\n", overlapped.Internal);
|
||||
|
||||
CloseHandle(file);
|
||||
CloseHandle(pipe);
|
||||
diff --git a/dlls/ntdll/file.c b/dlls/ntdll/file.c
|
||||
index 46fea51..f9e7b3e 100644
|
||||
--- a/dlls/ntdll/file.c
|
||||
+++ b/dlls/ntdll/file.c
|
||||
@@ -1802,7 +1802,7 @@ NTSTATUS WINAPI NtFsControlFile(HANDLE handle, HANDLE event, PIO_APC_ROUTINE apc
|
||||
default:
|
||||
status = server_ioctl_file( handle, event, apc, apc_context, io, code,
|
||||
in_buffer, in_size, out_buffer, out_size );
|
||||
- break;
|
||||
+ return status;
|
||||
}
|
||||
|
||||
if (status != STATUS_PENDING) io->u.Status = status;
|
||||
diff --git a/dlls/ntdll/tests/pipe.c b/dlls/ntdll/tests/pipe.c
|
||||
index 5b19ad3..77c451b 100644
|
||||
--- a/dlls/ntdll/tests/pipe.c
|
||||
+++ b/dlls/ntdll/tests/pipe.c
|
||||
@@ -305,7 +305,7 @@ static void test_overlapped(void)
|
||||
memset(&iosb, 0x55, sizeof(iosb));
|
||||
res = listen_pipe(hPipe, hEvent, &iosb, TRUE);
|
||||
ok(res == STATUS_PIPE_CONNECTED, "NtFsControlFile returned %x\n", res);
|
||||
- todo_wine ok(U(iosb).Status == 0x55555555, "iosb.Status got changed to %x\n", U(iosb).Status);
|
||||
+ ok(U(iosb).Status == 0x55555555, "iosb.Status got changed to %x\n", U(iosb).Status);
|
||||
|
||||
CloseHandle(hPipe);
|
||||
CloseHandle(hClient);
|
||||
@@ -388,7 +388,7 @@ static void test_alertable(void)
|
||||
todo_wine ok(res == STATUS_CANCELLED, "NtFsControlFile returned %x\n", res);
|
||||
|
||||
ok(userapc_called, "user apc didn't run\n");
|
||||
- todo_wine ok(U(iosb).Status == 0x55555555, "iosb.Status got changed to %x\n", U(iosb).Status);
|
||||
+ ok(U(iosb).Status == 0x55555555, "iosb.Status got changed to %x\n", U(iosb).Status);
|
||||
ok(WaitForSingleObjectEx(hEvent, 0, TRUE) == WAIT_TIMEOUT, "hEvent signaled\n");
|
||||
ok(!ioapc_called, "IOAPC ran\n");
|
||||
|
||||
--
|
||||
2.7.1
|
||||
|
1
patches/ntdll-FSCTL_PIPE_LISTEN/definition
Normal file
1
patches/ntdll-FSCTL_PIPE_LISTEN/definition
Normal file
@ -0,0 +1 @@
|
||||
Fixes: Do not update iosb.Status after FSCTL_PIPE_LISTEN call
|
@ -207,6 +207,7 @@ patch_enable_all ()
|
||||
enable_ntdll_DllRedirects="$1"
|
||||
enable_ntdll_EtwRegisterTraceGuids="$1"
|
||||
enable_ntdll_Exception="$1"
|
||||
enable_ntdll_FSCTL_PIPE_LISTEN="$1"
|
||||
enable_ntdll_FileDispositionInformation="$1"
|
||||
enable_ntdll_FileFsFullSizeInformation="$1"
|
||||
enable_ntdll_FileFsVolumeInformation="$1"
|
||||
@ -786,6 +787,9 @@ patch_enable ()
|
||||
ntdll-Exception)
|
||||
enable_ntdll_Exception="$2"
|
||||
;;
|
||||
ntdll-FSCTL_PIPE_LISTEN)
|
||||
enable_ntdll_FSCTL_PIPE_LISTEN="$2"
|
||||
;;
|
||||
ntdll-FileDispositionInformation)
|
||||
enable_ntdll_FileDispositionInformation="$2"
|
||||
;;
|
||||
@ -2191,12 +2195,16 @@ if test "$enable_ntdll_ApiSetQueryApiSetPresence" -eq 1; then
|
||||
fi
|
||||
|
||||
if test "$enable_kernel32_Named_Pipe" -eq 1; then
|
||||
if test "$enable_ntdll_FSCTL_PIPE_LISTEN" -gt 1; then
|
||||
abort "Patchset ntdll-FSCTL_PIPE_LISTEN disabled, but kernel32-Named_Pipe depends on that."
|
||||
fi
|
||||
if test "$enable_rpcrt4_Pipe_Transport" -gt 1; then
|
||||
abort "Patchset rpcrt4-Pipe_Transport disabled, but kernel32-Named_Pipe depends on that."
|
||||
fi
|
||||
if test "$enable_server_Desktop_Refcount" -gt 1; then
|
||||
abort "Patchset server-Desktop_Refcount disabled, but kernel32-Named_Pipe depends on that."
|
||||
fi
|
||||
enable_ntdll_FSCTL_PIPE_LISTEN=1
|
||||
enable_rpcrt4_Pipe_Transport=1
|
||||
enable_server_Desktop_Refcount=1
|
||||
fi
|
||||
@ -4103,6 +4111,22 @@ if test "$enable_kernel32_LocaleNameToLCID" -eq 1; then
|
||||
) >> "$patchlist"
|
||||
fi
|
||||
|
||||
# Patchset ntdll-FSCTL_PIPE_LISTEN
|
||||
# |
|
||||
# | Modified files:
|
||||
# | * dlls/kernel32/tests/pipe.c, dlls/ntdll/file.c, dlls/ntdll/tests/pipe.c
|
||||
# |
|
||||
if test "$enable_ntdll_FSCTL_PIPE_LISTEN" -eq 1; then
|
||||
patch_apply ntdll-FSCTL_PIPE_LISTEN/0001-ntdll-tests-Add-tests-for-iosb.Status-value-after-pe.patch
|
||||
patch_apply ntdll-FSCTL_PIPE_LISTEN/0002-kernel32-tests-Add-additional-tests-for-overlapped-h.patch
|
||||
patch_apply ntdll-FSCTL_PIPE_LISTEN/0003-ntdll-Do-not-update-iosb.Status-after-FSCTL_PIPE_LIS.patch
|
||||
(
|
||||
echo '+ { "Sebastian Lackner", "ntdll/tests: Add tests for iosb.Status value after pending FSCTL_PIPE_LISTEN call.", 1 },';
|
||||
echo '+ { "Michael Müller", "kernel32/tests: Add additional tests for overlapped handling of CreateNamedPipe.", 1 },';
|
||||
echo '+ { "Sebastian Lackner", "ntdll: Do not update iosb.Status after FSCTL_PIPE_LISTEN call.", 1 },';
|
||||
) >> "$patchlist"
|
||||
fi
|
||||
|
||||
# Patchset rpcrt4-Pipe_Transport
|
||||
# |
|
||||
# | Modified files:
|
||||
@ -4144,7 +4168,7 @@ fi
|
||||
# Patchset kernel32-Named_Pipe
|
||||
# |
|
||||
# | This patchset has the following (direct or indirect) dependencies:
|
||||
# | * rpcrt4-Pipe_Transport, server-Desktop_Refcount
|
||||
# | * ntdll-FSCTL_PIPE_LISTEN, rpcrt4-Pipe_Transport, server-Desktop_Refcount
|
||||
# |
|
||||
# | This patchset fixes the following Wine bugs:
|
||||
# | * [#17195] Support for named pipe message mode (Linux only)
|
||||
@ -5215,7 +5239,7 @@ fi
|
||||
# Patchset ntdll-WriteWatches
|
||||
# |
|
||||
# | This patchset has the following (direct or indirect) dependencies:
|
||||
# | * rpcrt4-Pipe_Transport, server-Desktop_Refcount, kernel32-Named_Pipe, ws2_32-WriteWatches
|
||||
# | * ntdll-FSCTL_PIPE_LISTEN, rpcrt4-Pipe_Transport, server-Desktop_Refcount, kernel32-Named_Pipe, ws2_32-WriteWatches
|
||||
# |
|
||||
# | Modified files:
|
||||
# | * dlls/kernel32/tests/virtual.c, dlls/ntdll/file.c
|
||||
@ -5812,7 +5836,7 @@ fi
|
||||
# Patchset server-Pipe_ObjectName
|
||||
# |
|
||||
# | This patchset has the following (direct or indirect) dependencies:
|
||||
# | * rpcrt4-Pipe_Transport, server-Desktop_Refcount, kernel32-Named_Pipe
|
||||
# | * ntdll-FSCTL_PIPE_LISTEN, rpcrt4-Pipe_Transport, server-Desktop_Refcount, kernel32-Named_Pipe
|
||||
# |
|
||||
# | Modified files:
|
||||
# | * dlls/ntdll/tests/om.c, server/named_pipe.c, server/object.c, server/object.h
|
||||
|
Loading…
x
Reference in New Issue
Block a user