Commit Graph

236 Commits

Author SHA1 Message Date
Jacek Caban 8c9c2fca08 server: Support ObjectTypeInformation in pipe objects.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=45743
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-09-03 15:53:18 +02:00
Jacek Caban d4e0f0a12f server: Require FILE_READ_ATTRIBUTES access in get_named_pipe_info.
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-08-21 23:02:30 +02:00
Jacek Caban 95296651b5 server: Share more code between pipe client and server destructors.
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-08-17 18:47:00 +02:00
Jacek Caban ce5def4b58 server: Remove no longer needed pipe_state enum.
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-08-17 18:47:00 +02:00
Jacek Caban 0531931278 server: Use pipe_end state in find_available_server.
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-08-17 18:47:00 +02:00
Jacek Caban 03317d10a0 server: Use separated async queue for listeners.
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-08-17 18:47:00 +02:00
Jacek Caban a03d0a8eae server: Use pipe_end state in FSCTL_PIPE_DISCONNECT implementation.
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-08-17 18:47:00 +02:00
Jacek Caban 290320a8fe server: Use pipe_end state in FSCTL_PIPE_LISTEN implementation.
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-08-17 18:47:00 +02:00
Jacek Caban 6098af824b server: Remove no longer needed client and server pointers.
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-08-16 15:28:11 +02:00
Jacek Caban 0ae9595133 server: Remove no longer needed pipe reference from pipe server object.
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-08-16 15:28:06 +02:00
Jacek Caban 6498ea18d3 server: Use pipe stored in pipe_end in set_named_pipe_info.
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-08-16 15:27:59 +02:00
Jacek Caban 3375ccba2f server: Use pipe stored in pipe_end in get_named_pipe_info.
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-08-16 15:27:50 +02:00
Jacek Caban 6f6f6e5924 server: Use common implementation for client and server get_file_info.
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-08-16 15:27:45 +02:00
Jacek Caban c0905e08da server: Use common implementation for pipe client and server get_sd and set_sd.
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-08-16 15:27:40 +02:00
Jacek Caban ba40a0db8a server: Store named_pipe reference in pipe_end struct.
Allows pipe clients to access named_pipe object after server is closed
without disconnecting.

Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-08-16 15:27:17 +02:00
Jacek Caban 32169eafe2 server: Allow pipe server fd caching throughout its whole lifetime.
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 584ffc2341 server: Don't use set_no_fd_status for error handling in pipe objects.
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 41e39c6a63 server: Improve FSCTL_PIPE_TRANSCEIVE 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 7038b9ef15 server: Improve named pipe write 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 91852564dc server: Improve named pipe read 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 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