Zebediah Figura
609dfea1fd
server: Also clear pending events in set_socket_event.
...
In particular, prevent FD_CONNECT from being reported when not selected for.
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-05-17 17:42:15 +02:00
Zebediah Figura
6ccf61fbc7
server: Implement IOCTL_AFD_LISTEN.
...
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-05-14 11:57:52 +02:00
Zebediah Figura
98d1dc31fb
include: Rename Wine-specific socket ioctls.
...
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-05-14 11:54:11 +02:00
Zebediah Figura
21efebbdc1
server: Always clear pending messages in sock_wake_up().
...
Instead of clearing all messages when any match.
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-05-14 11:53:59 +02:00
Zebediah Figura
aa6b2482cc
server: Poll for FD_CLOSE even if we cannot receive more data.
...
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-05-14 11:53:54 +02:00
Zebediah Figura
4c409f8a3b
server: Post socket events only if selecting for them.
...
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-05-13 10:41:54 +02:00
Zebediah Figura
037fccc0df
server: Do not send messages for events that are not currently being selected for.
...
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-05-13 10:41:25 +02:00
Zebediah Figura
44a3c70d77
server: Reset the reported event mask in set_socket_event only when using window messages.
...
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-05-13 10:41:12 +02:00
Zebediah Figura
0214c73d46
server: Rename "hmask" to "reported_events".
...
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-05-12 10:43:07 +02:00
Zebediah Figura
30c02f67ce
server: Rename "pmask" to "pending_events".
...
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-05-12 10:43:07 +02:00
Zebediah Figura
ccbc17c9f6
server: Add a helper to post socket events.
...
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-05-12 10:43:07 +02:00
Zebediah Figura
afad281dd1
server: Do not call sock_reselect() on an uninitialized socket.
...
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-05-10 20:33:34 +02:00
Zebediah Figura
920f654ffb
server: Avoid calling get_unix_fd() in IOCTL_AFD_CREATE.
...
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-05-10 20:33:34 +02:00
Zebediah Figura
15aceec067
server: Map EINPROGRESS to STATUS_DEVICE_NOT_READY.
...
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-05-06 08:12:18 +02:00
Zebediah Figura
523032e6f1
server: Map EFAULT to STATUS_ACCESS_VIOLATION.
...
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-05-06 08:11:54 +02:00
Zebediah Figura
d6d4fa4bd1
server: Map ENOTCONN to STATUS_INVALID_CONNECTION.
...
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-05-06 08:11:44 +02:00
Zebediah Figura
12f3e27bbb
server: Map EADDRINUSE to STATUS_SHARING_VIOLATION.
...
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-05-05 10:20:00 +02:00
Zebediah Figura
4f4dc095f6
server: Return a proper NTSTATUS from IOCTL_AFD_ADDRESS_LIST_CHANGE.
...
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-05-05 10:19:37 +02:00
Zebediah Figura
a0cc341559
server: Return a proper NTSTATUS from IOCTL_AFD_ACCEPT.
...
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-05-05 10:19:33 +02:00
Zebediah Figura
904c05d3d3
include: Do not include winsock.h in winsock2.h.
...
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-04-27 18:55:24 +02:00
Zebediah Figura
101082253f
server: Do not forbid closing fd handles in other processes.
...
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-03-23 12:29:10 +01:00
Zebediah Figura
731339cd60
server: Use default_fd_signaled() for sockets.
...
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-03-18 22:04:01 +01:00
Zebediah Figura
340cc46287
server: Do not allow selecting on the ifchange object.
...
We never pass a handle to this object to the client anyway.
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-03-18 22:04:01 +01:00
Zebediah Figura
61abc500f5
server: Use a callback to free the accept_req structure.
...
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-02-10 15:35:46 +01:00
Zebediah Figura
12783dabbc
server: Hold a reference to both sockets in the accept_req structure.
...
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-02-10 15:35:46 +01:00
Zebediah Figura
27db283449
server: Terminate accept asyncs when the last socket handle is closed.
...
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-02-10 15:35:46 +01:00
Zebediah Figura
d1270a27f0
server: Hold a reference to the iosb in the accept_req structure.
...
For convenience. Mirrors struct pipe_message.
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-02-10 15:35:46 +01:00
Alexandre Julliard
d6ef9401b3
server: Use the object type information to implement access mapping.
...
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-02-05 22:53:46 +01:00
Alexandre Julliard
c6f2aacb57
server: Add a type descriptor to all server objects.
...
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-02-04 21:25:32 +01:00
Zebediah Figura
fe11ff87ac
server: Avoid leaking "acceptsock" on allocation failure.
...
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-01-22 11:12:21 +01:00
Zebediah Figura
ebe20da774
server: Pass the correct size to sockaddr_from_unix() (Valgrind).
...
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=50437
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-01-02 14:37:23 +01:00
Paul Gofman
ae106feed2
server: Do not dereference symlinks specified as root directory.
...
Signed-off-by: Paul Gofman <pgofman@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-11-26 23:25:38 +01:00
Alistair Leslie-Hughes
3c0dae37a6
server: Fix compile error when irda.h is available.
...
Include "af_irda.h" so SOCKADDR_IRDA is defined.
Signed-off-by: Alistair Leslie-Hughes <leslie_alistair@hotmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-10-22 11:43:54 +02:00
Zebediah Figura
b9f8adb243
server: Forbid accepting into the same socket more than once.
...
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-10-20 22:54:02 +02:00
Zebediah Figura
93fb921ca7
ws2_32: Use server-side async I/O in accept().
...
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-10-20 22:54:02 +02:00
Zebediah Figura
0bbd3f6617
ws2_32: Use server-side async I/O in AcceptEx().
...
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-10-20 22:54:01 +02:00
Zebediah Figura
e3ea527835
server: Remove the no longer used accept_into_socket request.
...
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-10-02 10:02:03 +02:00
Zebediah Figura
ea038894a6
server: Introduce IOCTL_AFD_ACCEPT_INTO.
...
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-10-02 10:01:45 +02:00
Zebediah Figura
cb1594cf4f
server: Remove the no longer used accept_socket request.
...
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-10-02 10:01:14 +02:00
Zebediah Figura
5474c035e7
server: Introduce IOCTL_AFD_ACCEPT.
...
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-10-02 10:01:02 +02:00
Zebediah Figura
cb5edb4b12
server: Remove redundant calls to sock_reselect().
...
These are already done in accept_socket() and accept_into_socket() respectively.
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-10-01 11:50:47 +02:00
Zebediah Figura
b1f2b61be0
server: Return Win32 socket types from get_socket_info.
...
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-10-01 11:50:40 +02:00
Zebediah Figura
ac36b8ff01
ws2_32: Set default socket options in the server.
...
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-10-01 11:50:22 +02:00
Zebediah Figura
abcc75cbcf
ws2_32: Pass Win32 socket types to the server.
...
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-10-01 11:49:27 +02:00
Zebediah Figura
c2b089aae5
server: Move sock_ioctl() down to avoid forward declarations.
...
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-09-25 10:51:10 +02:00
Zebediah Figura
c6806e3f20
ws2_32: Translate SIO_ADDRESS_LIST_CHANGE into a proper NT ioctl.
...
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-09-25 10:51:08 +02:00
Zebediah Figura
8fb897a571
ws2_32: Translate WSA_FLAG_OVERLAPPED to NT overlapped flags.
...
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-09-25 10:51:05 +02:00
Alexandre Julliard
5c4d6cf837
server: Pass all creation arguments to the device creation functions.
...
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-09-23 11:35:16 +02:00
Alexandre Julliard
2e51f9aae3
server: Add an object operation to retrieve an object name.
...
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-09-22 16:55:08 +02:00
Zebediah Figura
1c84ac61e6
server: Remove the no longer used create_socket request.
...
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-09-22 14:04:45 +02:00
Zebediah Figura
2933448979
server: Introduce IOCTL_AFD_CREATE.
...
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-09-22 14:04:45 +02:00
Zebediah Figura
db8a75312d
server: Return a new, uninitialized socket when opening the Afd device.
...
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-09-22 14:04:45 +02:00
Zebediah Figura
3ad1739bc8
server: Create the Afd device.
...
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-09-22 14:04:45 +02:00
Damjan Jovanovic
37dec9f144
server: Revert b4a1d80ae3
for now.
...
It breaks too many things.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=48357
Signed-off-by: Damjan Jovanovic <damjan.jov@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-01-06 22:19:19 +01:00
Damjan Jovanovic
b4a1d80ae3
wineserver: Avoid spurious FD_WRITE on repeated calls to WSAEventSelect().
...
Repeated calls to WSAEventSelect() with FD_WRITE deliver
spurious FD_WRITE events, as the flag isn't held, resulting
in us unnecessarily polling the socket for writability,
despite the fact FD_WRITE should only be delivered (1) initially
on socket creation, and (2) after send[to]() fails with
EWOULDBLOCK and buffer space becomes available.
Signed-off-by: Damjan Jovanovic <damjan.jov@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-12-20 10:33:54 +01:00
Jacek Caban
b2a546c92d
server: Introduce kernel_object struct for generic association between server and kernel objects.
...
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-03-26 13:55:15 +01:00
Alexandre Julliard
70073ff2d0
server: Return a WSA error code in accept_socket.
...
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-11-20 16:26:04 +01:00
Alexandre Julliard
49babc0bad
server: Return a WSA error code in WS_SIO_ADDRESS_LIST_CHANGE.
...
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-11-20 16:26:04 +01:00
Alexandre Julliard
424a379f64
server: Return a WSA error code in create_socket.
...
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-11-20 16:26:04 +01:00
Alexandre Julliard
f670a162a0
server: Return WSA error codes in socket events.
...
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-11-20 16:26:04 +01:00
Jacek Caban
04094a6669
server: Use server_get_file_info for all info classes not implemented on client side.
...
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-10-24 16:58:08 +02: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
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
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
37804f1ec5
server: Keep ifchange queue through sock object life time.
...
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
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
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
5c8d11270d
server: Introduce async_is_blocking helper and use it in sock_ioctl.
...
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-04-12 19:11:20 +02: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
a604db1261
server: Create async object in register_async handler.
...
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-02-21 14:22:48 +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
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
Jacek Caban
055918c982
server: Store async list in process object and use that to find async in cansel_async request.
...
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-12-01 13:50:27 +01:00
Jacek Caban
60f8ddbf9d
server: Create ifchange async queue on socket fd.
...
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-10-13 18:22:00 +02:00
Jacek Caban
93863d25fc
ws2_32: Pass completion routing to NtDeviceIoControlFile in server_ioctl_sock only if caller provided completion routine.
...
Otherwise we're always doing non-blocking calls, preventing server from
doing the right thing (and in actually doing the opposite in
WS_SIO_ADDRESS_LIST_CHANGE case).
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-10-13 18:21:11 +02:00
Alexandre Julliard
438dae524d
server: Avoid some compiler warnings when EWOULDBLOCK == EAGAIN.
...
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-08-30 19:09:20 +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
Erich E. Hoover
dfa73ca626
server: Return STATUS_CANT_WAIT/WSAEWOULDBLOCK for non-overlapped SIO_ADDRESS_LIST_CHANGE requests on non-blocking sockets.
...
Signed-off-by: Erich E. Hoover <erich.e.hoover@wine-staging.com>
2015-10-02 18:11:32 +09:00
Alexandre Julliard
ad53ffc9c0
server: Make async objects waitable.
2015-05-08 17:32:06 +09:00
Alexandre Julliard
83e3a9c9ba
server: Allow cancelling async I/O for all object types.
2015-05-06 17:16:16 +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
Alexandre Julliard
5db44d15ac
server: Copy completion information for accepted socket into the new file descriptor.
2015-03-17 00:19:55 +09:00
Erich E. Hoover
67c47e401b
server: Implement the interface change notification object.
2015-02-10 22:57:36 +09:00
Erich E. Hoover
b121f27b72
server: Add blocked support for SIO_ADDRESS_LIST_CHANGE ioctl().
2015-02-10 22:45:02 +09:00
Erich E. Hoover
315de61bb2
server: Add socket-side support for the interface change notification object.
2015-02-10 22:45:00 +09:00
Erich E. Hoover
1239663fcb
server: Implement socket-specific ioctl() routine.
2015-02-10 22:29:40 +09:00
Bruno Jesus
3591e5fd9f
server: Store the time of the socket connection.
...
Based on a patch by Erich Hoover.
2014-11-12 20:07:55 +09:00
Bruno Jesus
8821967bd6
server: Add a missing socket protocol attribution.
...
The new socket has to inherit the information just like family and type.
2014-11-12 20:07:55 +09:00
Felix Janda
e3faab267c
server: Add missing includes of poll.h.
2014-06-12 18:05:08 +02:00
Sebastian Lackner
0b261bef76
server: Don't call close() on uninitialized memory in sock_check_pollhup.
2014-01-01 20:45:32 +01:00
Bruno Jesus
c52eb21754
server: Fix a comment.
2013-09-23 11:50:56 +02:00
Dmitry Timoshkov
e22f8d2fd8
server: Print the debug trace to stderr.
2013-09-04 11:32:53 +02:00
Bruno Jesus
ec49a574de
server: Add a request to get socket information.
2013-09-02 19:51:16 +02:00
Bruno Jesus
f5023dda2d
server: Store the protocol while creating the socket.
2013-09-02 19:48:08 +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
Qian Hong
31b9455b7e
server: Automatically sets a socket to non-blocking mode when WSAAsyncSelect or WSAEventSelect is called even when lEvent is zero.
2013-05-28 19:43:48 +02:00
Alexandre Julliard
9fdf7bc771
server: Use socklen_t where appropriate.
2013-03-06 13:40:58 +01:00
Marcus Meissner
3199fe147d
server: Removed duplicate close of acceptfd (Coverity).
2012-10-10 10:35:38 +02:00
Francois Gouget
c7cb3e6cb2
configure: Use errno.h instead of the non-standard sys/errno.h header.
2011-12-15 17:46:38 +01:00
Marcus Meissner
27c9a61e15
server: Remove superflous NULL check (Coverity).
2011-06-14 15:27:13 +02:00
Mike Kaplinskiy
f58c709b5f
server: Fix connect failures on newer kernels.
2011-01-24 14:43:28 +01:00
Francois Gouget
c4c03180b0
server: Make sock_check_pollhup() more reliable on Solaris.
2010-11-29 19:43:35 +01:00
Gerald Pfeifer
87624c2c21
server: Remove pollev from set_socket_event.
2010-09-06 16:13:22 +02:00
Mike Kaplinskiy
333313aa2b
server: Allow queuing async reads on listening sockets.
2010-08-31 14:23:49 +02:00
Mike Kaplinskiy
ae5ad61fa8
server: Add accept_into_socket to accept into an initialized socket.
2010-08-31 14:23:49 +02:00
Mike Kaplinskiy
92b83ddffb
server: Don't cache sockets until they are pollable.
2010-08-31 14:23:49 +02:00
Eric Pouech
c1d35ba540
server: Fix method name in comments for fd_ops.
2010-08-30 17:51:05 +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
Mike Kaplinskiy
fae0b6fa63
ws2_32: Don't set FD_READ/FD_WRITE before the connection is complete.
2010-08-03 12:00:48 +02:00
Mike Kaplinskiy
a6203f8b53
server: Fix some comments.
...
Apparently windows reports only currently valid events for WSAEnumNetworkEvents.
2010-07-28 16:28:27 +02:00
Mike Kaplinskiy
93db86a7e0
server: Don't delay events, we simply shouldn't send them in the first place.
2010-07-28 16:28:27 +02:00
Mike Kaplinskiy
0b251c08f2
server: Consume events triggered.
2010-07-28 16:28:26 +02:00
Mike Kaplinskiy
8d9fbe59b3
server: Forward the correct error to asyncs.
2010-07-20 14:40:31 +02:00
Mike Kaplinskiy
be230adbb7
server: In case of hangup/error, wake up all asyncs that can no longer be completed.
2010-07-20 14:40:31 +02:00
Mike Kaplinskiy
394a142237
server: Propagate error from recv.
2010-07-20 14:40:31 +02:00
Mike Kaplinskiy
75c7c63886
server: Move signaling FD_* events to a separate function.
2010-07-20 14:40:31 +02:00
Hans Leidekker
0a4984280f
server: Map EHOSTUNREACH to STATUS_HOST_UNREACHABLE.
2010-05-25 13:29:07 +02:00
Mike Kaplinskiy
ee5ee5c538
server: Move async activation into separate function.
2010-05-20 16:48:37 +02:00
Mike Kaplinskiy
ac12c67f40
server: Don't poll for events when there are async operations queued.
2010-05-19 16:57:59 +02:00
Mike Kaplinskiy
42debac149
server: Move socket async activation to sock_poll_event.
2010-05-17 14:41:33 +02:00
Mike Kaplinskiy
4f9e09ea57
server: Get rid of sock_try_event.
...
We *might* need to ignore POLLERR messages for UDP sockets, as the
condition is actually temporary and sock_try_event was hiding this.
2010-05-14 11:47:26 +02:00
Mike Kaplinskiy
d03fe9d4ec
server: Always treat POLLHUP as a hangup, just special case checking TCP sockets.
2010-05-14 11:45:44 +02:00
Mike Kaplinskiy
3aa93e11ad
server: Use a less hackish approach to not POLLIN when we have a hung up socket.
2010-05-13 11:54:27 +02:00
Mike Kaplinskiy
535f878e3d
server: Keep polling sockets after we got a 0 recv, but not for POLLIN.
2010-05-13 11:53:31 +02:00
Mike Kaplinskiy
f928580ac3
server: Set FD_READ in only 1 place (cleanup).
2010-05-13 11:51:34 +02:00
Mike Kaplinskiy
798c9e5161
ws2_32: Use ntstatus in overlapped functions.
2010-03-23 12:35:56 +01:00
Francois Gouget
bc8d21b5d7
server: Don't include winsock.h to avoid creating a dependency on generated headers.
...
The dependency does not really exist thanks to various #ifdefs, but
makedep does not know that and records it which causes a build failure.
2010-03-19 12:27:45 +01:00
Mike Kaplinskiy
8e669d9a61
server: Activate pending asyncs on a hangup/error.
2010-01-19 15:03:57 +01:00
Mike Kaplinskiy
b05774ee7e
server: Change cancel_async to take an optional iosb and only_thread.
2009-08-18 12:26:30 +02:00
Alexandre Julliard
31282b3f63
server: Define an lparam_t type for message parameters that can hold all sorts of data.
2008-12-10 16:01:50 +01:00
Alexandre Julliard
d764107434
server: Make user handles ints instead of pointers.
2008-12-08 16:57:38 +01:00
Alexandre Julliard
7d5f732d30
server: Convert source files to utf-8.
2008-10-18 19:22:26 +02:00
Alexandre Julliard
8382eb01b2
server: Return correct object types in the get_directory_entry request.
2007-12-05 18:16:42 +01:00
Rob Shearman
c1707d8938
server: Add get_sd and set_sd object operations to allow the security descriptor to be stored somewhere other than server memory, such as on disk.
2007-10-04 12:30:52 +02:00
Alexandre Julliard
24001e8ddc
server: Add a default access mapping function for files, and use it for devices too.
2007-10-02 14:20:15 +02:00
Dmitry Timoshkov
69025bafe7
server: Print a more informative message when file_set_error or sock_get_error can't map errno to a status code.
2007-09-10 15:29:46 +02:00
Alexandre Julliard
635714397f
server: Add infrastructure for ioctl server request.
2007-04-16 14:45:03 +02:00
Alexandre Julliard
7a9363a4d4
server: Rename the get_file_info function to get_fd_type and get rid of the flags.
2007-04-10 22:26:23 +02:00
Alexandre Julliard
f85437c57f
server: Store the opening options in the file descriptor instead of in the individual objects.
...
Allows moving the FD_FLAG_OVERLAPPED support to the generic
get_handle_fd request handling.
2007-04-10 22:25:07 +02:00
Alexandre Julliard
72bff2e445
server: Add support for restarting an async I/O when the client side couldn't finish it right away.
2007-04-10 17:07:27 +02:00
Alexandre Julliard
b2cba95abd
server: Hold a pointer to the queue from the async operations.
2007-04-03 19:36:07 +02:00
Alexandre Julliard
0aae1ca8bf
server: Add a separate function to set the timeout of an async I/O operation.
2007-04-02 20:41:59 +02:00
Alexandre Julliard
df09ac5194
server: Make async I/O queues into real objects.
2007-04-02 20:09:29 +02:00
Alexandre Julliard
589ce2bb8d
server: Always return STATUS_PENDING when an async I/O operation has been queued.
2007-03-26 19:13:21 +02:00
Alexandre Julliard
7e71c1ddee
server: Add an open_file() function to the object operations.
2007-03-22 11:44:29 +01:00
Alexandre Julliard
111610c45e
server: Add an async_data_t structure to store parameters for async I/O requests.
2007-03-20 20:21:12 +01:00
Andrew Talbot
b1788c8462
server: Replace inline static with static inline.
2007-03-17 20:05:05 +01:00
Alexandre Julliard
24b64534e5
server: Explicitly shutdown destroyed sockets to force pending poll() calls to return.
2006-12-04 18:02:02 +01:00
Alexandre Julliard
8930427b21
server: Return an fd type in the get_handle_fd request.
2006-11-20 14:14:04 +01:00
Alexandre Julliard
715d78e006
server: Refuse to close handles in other processes if they have an associated fd.
2006-11-02 20:52:22 +01:00
Eric Pouech
e0477ce92a
winsock: Clear the held mask with the requested events so that they can be signaled.
2006-10-23 12:26:18 +02:00
Mike McCormack
db9b557b54
server: Make wparam and lparam values unsigned long for win64 compatability.
2006-06-08 10:39:58 +02:00
Jonathan Ernst
360a3f9142
Update the address of the Free Software Foundation.
2006-05-23 14:11:13 +02:00
Alexandre Julliard
a510a7e117
server: Added access rights mapping to file objects.
2005-12-12 16:46:17 +01:00
Alexandre Julliard
28beba31d6
server: Added infrastructure for access rights mapping.
2005-12-12 14:57:40 +01:00
Alexandre Julliard
24560e70bb
server: Make alloc_handle use attributes instead of inherit flag.
2005-12-09 13:58:25 +01:00
Alexandre Julliard
bc30303c56
server: Use attributes instead of inherit flag in socket requests.
2005-12-09 11:58:55 +01:00
Ge van Geldorp
1a1583a364
Match PSDK STATUS_* definitions.
2005-11-28 17:32:54 +01:00
Vitaliy Margolen
baffcb95d3
Add name_lookup function in object_ops.
2005-11-22 14:55:42 +00:00
Mike McCormack
e659f1e60c
Fix some gcc 4.0 warnings.
2005-08-09 10:37:50 +00:00
Mike McCormack
390bc5f52f
Don't include winbase.h when it's not necessary.
2005-06-21 09:46:15 +00:00
Alexandre Julliard
b9b1ea9c9f
Added a close_handle method to the object operations, and use it to
...
implement registry notifications and the strange behavior of
CloseHandle on winstation/desktop handles.
2005-06-09 15:39:52 +00:00
Robert Shearman
c516571481
- Use NULL instead of 0 for all non-handle pointers.
...
- Fix non-ANSI function declarations.
- Make a function static.
2005-05-25 18:41:09 +00:00
Mike McCormack
f92fff66a2
Implemented NtSignalAndWaitForSingleObject.
2005-04-24 17:35:52 +00:00
Eric Pouech
7001d6ed34
Clean-up async IO internal functions.
2005-03-29 11:40:10 +00:00
Alexandre Julliard
dd81ac50a9
Convert async I/O queues to standard lists.
2005-02-24 17:06:31 +00:00
Eric Pouech
4634447d6b
- got rid of include/async.h
...
- fixed some overlapped issues in socket handling
- moved kernel32.CancelIo implementation to ntdll
2005-01-14 19:54:38 +00:00
Alexandre Julliard
6a27b48895
Fd type is no longer used, get rid of it.
2004-08-18 00:04:58 +00:00
Eric Pouech
1ffddb4d0c
- better support for non-blocking COMM and socket read/writes:
...
+ added necessary semantics to fd flags
+ no longer uses fd type (but fd flags) read/write semantic behavior
- fixed socket code to use the proper manifest constants
- fixes for kernel32.GetOverlappedResult without hEvent set
- in ntdll.Nt{Read|Write}File
+ always reset the event
+ added support for longlong offsets
+ better object disposal in error handling code paths
2004-08-17 23:37:55 +00:00
Filip Navara
2392a36370
Get rid of non-standard ERROR_UNKNOWN value.
2004-04-12 23:15:11 +00:00
Alexandre Julliard
18c08d307a
Removed the get_file_info request.
2004-04-08 19:09:04 +00:00
Alexandre Julliard
e37c6e18d0
Fixed header dependencies to be fully compatible with the Windows
...
headers (with help from Dimitrie O. Paun).
2003-09-05 23:08:26 +00:00
Alexandre Julliard
580da246f5
Added an inode object to keep track of all file descriptors open for a
...
given file.
Plugged a couple of potential file descriptor leaks.
2003-03-12 22:38:14 +00:00
Alexandre Julliard
e66207ebfc
Moved all references to file descriptors out of the generic object
...
structure.
Changed the poll()-related routines to deal with file descriptors
instead of objects and integrated poll support into fd.c.
2003-02-19 00:33:32 +00:00
Alexandre Julliard
cf27a7fa3b
Changed fd operations to take a struct fd instead of a struct object.
...
Removed get_file_info function from object operations.
Added get_device_id request to avoid abusing get_file_info.
2003-02-14 20:27:09 +00:00
Steven Edwards
037c8a1246
Porting fixes.
2003-02-11 22:27:13 +00:00
Alexandre Julliard
863637b158
Started moving functions that deal with Unix file descriptors to a
...
separate fd object. This will be needed for file locking.
2003-01-30 00:26:44 +00:00
Martin Wilck
c422dae189
Do not clear FD_WINE_CONNECTED on shutdown(). FD_WINE_CONNECTED
...
(currently unused) can thus be used to determine if a stream socket
was ever connected.
2003-01-28 00:24:04 +00:00
Alexandre Julliard
b3332d74b0
Converted the server to -DSTRICT.
2002-10-19 01:00:59 +00:00
Alexandre Julliard
7375597fe2
Fixed some handle type mismatches and added a few casts in prevision
...
of void* handles.
2002-07-31 19:26:03 +00:00
Martin Wilck
15a0f0e78e
Check POLLHUP semantics at remote shutdown when wineserver is started.
...
Fix socket state handling and event handling for non-STREAM sockets.
2002-07-03 21:04:09 +00:00
Alexandre Julliard
cf5188b654
Attempt at fixing POLLHUP handling for Linux 2.2.x.
2002-06-21 19:06:28 +00:00
Vincent Béron
9a62491660
Removed trailing whitespace.
2002-05-31 23:06:46 +00:00
Alexandre Julliard
5188574984
Renamed handle_t to obj_handle_t to avoid conflict with rpcdce.h.
2002-05-30 20:12:58 +00:00
Martin Wilck
75242f9bef
Fixes to FD_CLOSE handling.
2002-04-27 01:06:09 +00:00
Martin Wilck
ff1f320ac8
Fixed some bugs in my recently submitted patch series.
2002-04-26 18:31:19 +00:00
Martin Wilck
9ca4285a9f
Fixed ReadFile() semantics when reading asynchronously on sockets.
...
Provide more accurate status codes than STATUS_UNSUCCESSFUL.
2002-04-25 22:58:59 +00:00
Martin Wilck
bff7e69981
Implemented server framework for asynchronous IO on sockets.
2002-04-25 21:31:11 +00:00
Martin Wilck
d15bf1c0fe
Fixed handling of deferred connections in WSAAccept().
2002-04-23 22:03:42 +00:00
Alexandre Julliard
81f2a7307b
Send message for WSAAsyncSelect sockets directly from the server,
...
instead of using the service thread. Finished separation of ws2_32.
2002-03-23 20:43:52 +00:00
Alexandre Julliard
0799c1a780
Added LGPL standard comment, and copyright notices where necessary.
...
Global replacement of debugtools.h by wine/debug.h.
2002-03-09 23:29:33 +00:00
Martin Wilck
aa47705809
Added support for socket flags.
2002-01-09 21:16:24 +00:00
Martin Wilck
88cd32b2d1
More general approach to file descriptor types and flags.
2002-01-09 20:30:51 +00:00
Mike McCormack
6f011c0847
- move async activation into the server
...
- implement async queues
2001-12-20 00:07:05 +00:00
Alexandre Julliard
9caa71eef4
Redesign of the server communication protocol to allow arbitrary sized
...
data to be exchanged.
Split request and reply structures to make backwards compatibility
easier.
Moved many console functions to dlls/kernel, added code page support,
changed a few requests to behave properly with the new protocol.
2001-11-30 18:46:42 +00:00
Francois Gouget
272023190e
Make winsock.h and winsock2.h independent from the Unix headers.
...
Make them compatible with both the Unix C headers and the MSVCRT
headers.
Ensure compatibility with the Unix headers via the USE_WS_PREFIX
macro.
Add WINE_NOWINSOCK: prevents winsock.h from being included from
windows.h when defined.
Add ws2tcpip.h, move definitions to the right header.
2001-11-14 21:26:23 +00:00
Alexandre Julliard
646d621fec
Added get_file_info support to named pipes and sockets to avoid
...
breaking the get_handle_fd request.
2001-10-05 19:45:45 +00:00
Francois Gouget
126e6b8175
Rename the regular WS_FD_XXX macros to FD_XXX.
...
Rename the Wine specific WS_FD_XXX macros to FD_WINE_XXX.
2001-08-24 19:14:56 +00:00