Jacek Caban
0973b8d2c3
server: Improve FSCTL_PIPE_PEEK error handling.
...
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-08-15 10:49:07 +02:00
Jacek Caban
8e5bc0daf7
server: Store pipe state in pipe_end struct and return it in FSCTL_PIPE_PEEK.
...
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-08-15 10:49:07 +02:00
Hans Leidekker
dedd450689
kernel32: Implement GetNamedPipeClient/ServerProcessId.
...
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-04-11 16:23:05 +02:00
Jacek Caban
c9833f89e5
server: Add FSCTL_PIPE_TRANSCEIVE implementation.
...
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-03-29 16:06:03 +02:00
Jacek Caban
a588a5a397
server: Add a helper for queuing pipe message.
...
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-03-29 16:06:02 +02:00
Jacek Caban
bb9c4198fc
server: Don't change iosb without associated async in wake_message.
...
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-03-29 16:06:02 +02:00
Jacek Caban
1ce2201ed8
server: Share security descriptor among all pipe instances.
...
Based on patch by Jonathan Doron.
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-02-27 11:06:43 +01:00
Jacek Caban
d4d6330f0a
server: Add support for querying FileNameInformation on named pipes.
...
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-12-22 12:19:43 +01:00
Jacek Caban
6b08e60f03
server: Introduce get_file_info request for server-side NtQueryInformationFile implementation.
...
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-12-22 12:19:43 +01:00
Jacek Caban
0a11448968
server: Use default_fd_signaled for named pipe client.
...
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-11-28 19:08:44 +01:00
Zebediah Figura
7477792b4c
server: FSCTL_PIPE_LISTEN on a pipe client should return STATUS_ILLEGAL_FUNCTION.
...
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-10-10 19:52:36 +02:00
Jacek Caban
c295dd6bda
server: Store named pipe fd in pipe_end throughout its whole life time.
...
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-10-09 19:53:51 +02:00
Jacek Caban
d520f30b4d
server: Get rid of no longer needed use_server_io.
...
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-10-05 19:33:09 +02:00
Jacek Caban
2659a796f7
server: Get rid of no longer used support for queuing client side asyncs on named pipes.
...
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-10-05 19:33:09 +02:00
Jacek Caban
f16f7dc8ce
server: Get rid of no longer used support for flush on socket-based named pipes.
...
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-10-04 21:52:37 +02:00
Jacek Caban
4dbb2cbfc4
server: Get rid of no longer used support for creating socket-based named pipes.
...
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-10-04 21:51:23 +02:00
Jacek Caban
7eb7854161
server: Use server side named pipe implementation in byte mode.
...
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-10-04 21:40:56 +02:00
Jacek Caban
e5a43fa9c8
server: Don't queue zero size writes in byte mode.
...
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-10-04 21:34:47 +02:00
Jacek Caban
f68bea526f
server: Support FSCTL_PIPE_PEEK in byte mode.
...
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-10-04 21:33:02 +02:00
Jacek Caban
688c7a99d2
server: Return error for FSCTL_PIPE_PEEK calls on disconnected pipes.
...
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-10-04 21:24:28 +02:00
Jacek Caban
3f07c6e256
server: Add FileFsDeviceInformation implementation for named pipes.
...
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-10-03 09:41:19 +02:00
Jacek Caban
2ab2f31f18
server: Allow server side NtQueryVolumeInformationFile implementation.
...
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-10-03 09:39:52 +02:00
Alexandre Julliard
38d0aa68da
server: Always make pipes non-blocking.
...
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-09-22 15:11:55 +02:00
Jacek Caban
7b33613fc4
server: Make fd_queue_async infallible.
...
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-07-05 10:43:14 +02:00
Jacek Caban
0b4c8bf93f
server: Make async_queue object a simple list instead of a server object.
...
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-07-05 10:39:54 +02:00
Jacek Caban
54234b8a47
server: Associate named pipe device waiters queue with its fd.
...
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-07-03 15:57:46 +02:00
Jacek Caban
10c1f245e4
server: Use create_request_async in flush request handler.
...
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-06-28 12:35:33 +02:00
Jacek Caban
c56c42ff79
server: Use create_request_async in ioctl request handler.
...
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-06-28 12:32:49 +02:00
Jacek Caban
2bd828b13c
server: Use create_request_async for write requests.
...
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-06-28 12:23:36 +02:00
Jacek Caban
0fb6099b01
server: Preallocate wait handle in create_request_async and return it in read request.
...
alloc_handle is failable and when we're returning the handle, handling
error properly is not really possible.
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-06-28 12:23:35 +02:00
Zebediah Figura
d37bfe960f
kernel32: Implement bytes left in PeekNamedPipe().
...
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-05-22 13:46:18 +02:00
Jacek Caban
f6b2ccc54b
server: Use common get_fd_type implementation for both pipe end implementations.
...
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-04-24 15:29:40 +02:00
Jacek Caban
9d666869f3
server: Remove no longer needed blocking argument from flush fd op.
...
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-04-12 19:11:29 +02:00
Jacek Caban
c9d9adaf65
server: Remove no longer needed blocking argument from write fd op.
...
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-04-12 19:11:27 +02:00
Jacek Caban
5e584e936b
server: Remove no longer needed blocking argument from read fd op.
...
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-04-12 19:11:26 +02:00
Jacek Caban
047062b28b
server: Remove no longer needed blocking argument from ioctl fd op.
...
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-04-12 19:11:24 +02:00
Jacek Caban
975c5381ed
server: Added support for flushing client pipe.
...
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-03-27 16:54:24 +02:00
Jacek Caban
aa472f5eb5
server: Added support for message mode named pipe reads.
...
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-03-27 16:54:24 +02:00
Jacek Caban
b682e1c41d
server: Use server-side I/O for message mode named pipes.
...
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-03-24 21:07:09 +01:00
Jacek Caban
197674669e
server: Don't release client fd in do_disconnect for pipes in server-side I/O mode.
...
If server closes without disconnect, it should be still possible to read
remaining buffered data.
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-03-24 21:06:58 +01:00
Jacek Caban
56ae76ce84
server: Implement server-side named pipe read.
...
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-03-24 21:06:49 +01:00
Jacek Caban
d4139833c1
server Introduce read queue for server-side named pipe I/O.
...
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-03-24 21:06:47 +01:00
Jacek Caban
134c83203a
server: Added server-side FSCTL_PIPE_PEEK implementation.
...
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-03-22 18:52:58 +01:00
Jacek Caban
7ae689d668
server: Implement server-side named pipe write.
...
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-03-22 18:51:51 +01:00
Jacek Caban
4b2d5171e0
server Introduce write queue for server-side named pipe I/O.
...
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-03-22 18:50:32 +01:00
Jacek Caban
2fad531cb5
server: Implement disconnecting message queue.
...
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-03-22 18:50:19 +01:00
Jacek Caban
9db22fdfcf
server: Introduce pipe message queue.
...
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-03-22 18:50:15 +01:00
Jacek Caban
ae5684479e
server: Use no_fd_queue_async for named pipe ends in server I/O mode.
...
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-03-20 19:36:55 +01:00
Jacek Caban
a8023d300c
server: Introduce server-side I/O mode for named pipes.
...
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-03-20 19:36:45 +01:00
Jacek Caban
c5afc9f9b6
server: Store buffer size in pipe_end.
...
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-03-20 19:36:37 +01:00
Jacek Caban
316112e3b4
server: Store connected pipe_end in pipe_end struct.
...
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-03-20 19:36:35 +01:00
Jacek Caban
e50d49c17a
server: Moved server-independent parts of pipe_server_flush into separated function.
...
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-02-22 20:20:55 +01:00
Jacek Caban
8989867544
server: Introduced new pipe_end struct containing common parts of pipe_client and pipe_server.
...
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-02-22 20:20:53 +01:00
Jacek Caban
a3acdf117f
server: Pass existing async object to fd_queue_async.
...
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-02-22 20:20:50 +01:00
Jacek Caban
a9c51f4e8a
server: Create async object in flush request handler.
...
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-02-21 14:24:13 +01:00
Jacek Caban
bede6499ed
server: Create async object in ioctl request handler.
...
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-02-21 14:24:11 +01:00
Jacek Caban
91bd81441f
server: Allow creating async object not associated with a queue.
...
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-02-21 14:22:44 +01:00
Jacek Caban
64dc8f5c48
server: Store iosb in async object.
...
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-12-05 16:11:03 +01:00
Jacek Caban
d8bfbbdc07
server: Signal pipe server fd in create_pipe_server.
...
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-12-02 15:56:05 +01:00
Jacek Caban
ad1e0609a0
server: Get rid of no loner used cancel_async from fd_ops.
...
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-12-01 13:50:59 +01:00
Ken Thomases
780ede1cde
server: Make disconnecting a named pipe immediately close the client's connection and allow the server to initiate a new connection.
...
Signed-off-by: Ken Thomases <ken@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-10-21 13:39:10 +02:00
Alexandre Julliard
c7f16d6220
server: Add a helper function to create a symlink to an existing object.
...
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-07-18 15:34:08 +09:00
Sebastian Lackner
20651c7dfe
server: Fix possible leak of root object in create_named_pipe handler.
...
Signed-off-by: Sebastian Lackner <sebastian@fds-team.de>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-04-26 14:50:50 +09:00
Alexandre Julliard
3ea7f7d2f4
server: Set the security descriptor at object creation.time.
...
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-02-12 23:07:30 +09:00
Alexandre Julliard
ff9d90bbb0
server: Use a standard object for object attribute roots instead of a directory.
...
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-02-12 23:07:30 +09:00
Alexandre Julliard
7ad32cf56a
server: Allow lookup_name to distinguish the case of an empty path.
...
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-02-09 20:36:16 +09:00
Alexandre Julliard
7646df9f4b
server: Use the generic named object functions for named pipes.
...
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-02-08 20:03:32 +09:00
Alexandre Julliard
b21a324070
server: Use the link_name operation to create named objects.
...
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-02-05 00:20:01 +09:00
Alexandre Julliard
f55db7882d
server: Add link_name and unlink_name object operations.
...
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-02-04 21:07:19 +09:00
Alexandre Julliard
37503be654
server: Fix checks for a valid directory in object attributes.
...
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-02-01 14:57:37 +09:00
Alexandre Julliard
d15f47412e
server: Always print the full path of objects when dumping them.
...
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-01-22 01:26:15 +09:00
Alexandre Julliard
9504e2addf
server: Add a helper function to validate and return object attributes.
...
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-01-16 00:05:57 +09:00
Alexandre Julliard
7350682aa6
server: Store the attributes in the object_attributes structure.
...
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-01-16 00:05:57 +09:00
Sebastian Lackner
ace9d329e9
server: Fix crash when calling SetNamedPipeHandleState on partially closed pipe.
...
Signed-off-by: Sebastian Lackner <sebastian@fds-team.de>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2015-11-23 23:35:16 +09:00
Sebastian Lackner
ee02530bc4
server: Fix crash when calling GetNamedPipeHandleState on partially closed pipe.
...
Signed-off-by: Sebastian Lackner <sebastian@fds-team.de>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2015-11-23 23:35:16 +09:00
Sebastian Lackner
52f9acedd2
server: Clear last error when creating object without name.
...
Signed-off-by: Sebastian Lackner <sebastian@fds-team.de>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2015-11-02 23:02:22 +09:00
Sebastian Lackner
b3fb5992b6
server: Fix leak of async handle in pipe_server_flush.
2015-05-11 15:19:05 +09:00
Alexandre Julliard
67da7ba597
server: Use the async queue for pipe flush requests.
2015-05-08 18:02:57 +09:00
Alexandre Julliard
ad53ffc9c0
server: Make async objects waitable.
2015-05-08 17:32:06 +09:00
Alexandre Julliard
860091d2fd
server: Add an async structure to the flush request to follow the common pattern.
2015-05-06 17:16:15 +09:00
Alexandre Julliard
837b39b202
server: Add read and write fd member functions.
...
Also rename no_flush() to no_fd_flush() for consistency.
2015-05-06 09:07:42 +09:00
Alexandre Julliard
6f2ed23c16
server: Retrieve ioctl data directly from the request.
2015-05-06 08:44:29 +09:00
Erich E. Hoover
b121f27b72
server: Add blocked support for SIO_ADDRESS_LIST_CHANGE ioctl().
2015-02-10 22:45:02 +09:00
Hans Leidekker
b31ed58b96
server: Set the security descriptor of named pipe objects.
2014-11-12 21:09:50 +09:00
Sebastian Lackner
82ce3fdcfd
server: Implement set_named_pipe_info wineserver call for NtSetInformationFile/FilePipeInformation.
...
Based on a patch by Adam Martinson.
2014-08-20 19:40:07 +02:00
Sebastian Lackner
2e95f370d4
server: Store pipe_flags in a separate variable for both server and client of named pipes.
2014-08-20 19:38:04 +02:00
Michael Müller
9602fa7a93
server: Fix return value for FSCTL_PIPE_WAIT if pipe does not exist.
2014-06-11 13:07:11 +02:00
Alexandre Julliard
39644bb309
server: Pass a wait queue entry to the signaled/satisfied object functions.
2013-08-27 23:48:36 +02:00
Bernhard Loos
c368df4865
server: PIPE_TYPE_BYTE | PIPE_READMODE_MESSAGE is invalid for named pipes.
2011-10-13 19:57:19 +02:00
Bernhard Loos
07b681e04a
ntdll: Implement the NamedPipeConfiguration value for the FilePipeLocalInformation class of NtQueryInformationFile.
2011-10-08 19:56:08 +02:00
Bernhard Loos
9034e694a3
server: Correctly implement permission checking for named pipes.
2011-10-08 19:55:35 +02:00
Bernhard Loos
e4c2a6d1cd
server: It's possible to call NtQueryInformationFile on a pipe if it was opened with access 0.
2011-10-08 19:55:19 +02:00
Bernhard Loos
bded698462
server: Sharing 0 is not allowed for named pipes.
2011-09-27 16:54:00 +02:00
Bernhard Loos
5098b13177
server: Only the sharing parameter of two instances of the same pipe have to match.
2011-09-27 16:54:00 +02:00
Bernhard Loos
039bacb0c9
server: Store sharing state for named pipes.
2011-09-27 16:54:00 +02:00
Alexandre Julliard
a2ca2ebd50
server: Change the removable fd flag to a cacheable flag to make it possible for fd users to set it dynamically.
2010-08-23 17:09:45 +02:00
Andrey Turkin
85cc2c13f6
server: Connect named pipe synchronously when overlapped param is NULL.
2010-05-24 12:39:35 +02:00
Alexandre Julliard
7a344c14af
server: Avoid a crash when trying to wait on a disconnected pipe client.
2009-06-09 17:01:13 +02:00
Alexandre Julliard
50171c5cc1
server: Make the new named pipe server fd inherit the I/O completion if it was set before connecting.
2009-03-03 11:59:29 +01:00
Alexandre Julliard
9dd3fe5467
server: Overlapped named pipes are never blocking, even if no APC was specified.
2009-03-02 20:34:07 +01:00