Commit Graph

479 Commits

Author SHA1 Message Date
Jacek Caban 3cb6d50cd6 ws2_32: Added GetAddrInfoExCancel stub implementation.
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-05-25 13:17:59 +02:00
Jacek Caban efdb722c17 ws2_32: Don't try to match host name in getaddrinfo if AI_NUMERICHOST hint is specified.
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-05-16 18:33:47 +02:00
Stefan Dösinger 7a1142035d ws2_32: Don't post completion packet if receiving fails with error immediately.
Signed-off-by: Stefan Dösinger <stefan@codeweavers.com>
Signed-off-by: Bruno Jesus <bjesus@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-05-16 12:08:52 +02:00
Bruno Jesus 1639c23cae ws2_32: Use unsigned interface index on interface_bind_check.
Signed-off-by: Bruno Jesus <bjesus@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-05-11 10:17:50 -05:00
Jacek Caban e2469b2c3d ntdll: Remove no longer needed APC handling from APC_ASYNC_IO callbacks.
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-04-11 19:59:06 +02:00
Jacek Caban 28c339031f server: Pass APC in async_data_t.
Also don't pass callback pointer that's not used anymore.

Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-04-11 19:57:34 +02:00
Jacek Caban f6cd817531 ws2_32: Store async callback in ws2_async_io struct.
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-04-11 19:56:17 +02:00
Jacek Caban 35ca862025 ws2_32: Use register_async for WS2_async_send.
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-04-05 19:15:53 +02:00
Jacek Caban 57e93b72bb ws2_32: Use register_async for WS2_async_recv.
This changes behaviour in case when winsock attempts to use both
completion routine and completion value. Tests from previous patch show
that it should fail anyway. It will be possible to properly return error
once APCs are passed to server in register_async request.

Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-04-05 19:15:44 +02:00
Jacek Caban da4688ff4f ws2_32: Added register_async helper.
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-04-05 19:15:27 +02:00
Bruno Jesus b60cd68308 ws2_32: Fix WSAStringToAddress parsing for IPv6.
Signed-off-by: Bruno Jesus <bjesus@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-03-03 09:31:14 +01:00
Bruno Jesus 914e401aa9 ws2_32: Turn SIO_GET_EXTENSION_FUNCTION_POINTER into a table.
Signed-off-by: Bruno Jesus <bjesus@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-03-02 16:09:06 +01:00
Bruno Jesus b2c809a3d9 ws2_32: Make it clear that bit flags are in hex when tracing.
Signed-off-by: Bruno Jesus <bjesus@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-02-28 20:40:01 +01:00
Bruno Jesus 130452bb3d ws2_32: Discard MSG_PARTIAL as it is supported only in message protocols.
Signed-off-by: Bruno Jesus <bjesus@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-02-28 09:40:20 +01:00
Bruno Jesus dcf258685e ws2_32: Cope with NULL address in connect() call.
Signed-off-by: Bruno Jesus <bjesus@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-02-27 12:38:25 +01:00
Bruno Jesus f482eed298 ws2_32: Trace accept() error.
Signed-off-by: Bruno Jesus <00cpxxx@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-02-20 10:33:05 +01:00
Anton Romanov 531dcf2dd3 ws2_32: Ignore IPV6_V6ONLY setsockopt for AF_INET sockets.
Signed-off-by: Anton Romanov <theli.ua@gmail.com>
Signed-off-by: Bruno Jesus <00cpxxx@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-01-12 16:52:23 +01:00
Nikolay Sivov 24dbd9de93 ws2_32: Fix build failure on Mac.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-12-09 11:36:45 +01:00
Bruno Jesus c86bf9dc81 ws2_32: Implement IP_DONTFRAGMENT in [set|get]sockopt.
Signed-off-by: Bruno Jesus <00cpxxx@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-12-08 16:06:27 +01:00
Bruno Jesus 2251aeb6d2 ws2_32: Cache the memory used for poll() calls.
Signed-off-by: Bruno Jesus <00cpxxx@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-11-30 13:26:11 +01:00
Bruno Jesus e33527b2a7 ws2_32: Simplify IPv4 sprintf.
Signed-off-by: Bruno Jesus <00cpxxx@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-11-30 13:25:17 +01:00
Bruno Jesus fa172e1ca6 ws2_32: Add IDN resolution support to GetAddrInfoW.
Signed-off-by: Bruno Jesus <00cpxxx@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-11-30 13:25:14 +01:00
Roman Pišl 96eb36e4bb ws2_32: Fix the default behavior of IPV6_V6ONLY.
Signed-off-by: Roman Pišl <rpisl@seznam.cz>
Signed-off-by: Bruno Jesus <00cpxxx@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-10-30 17:20:47 +01:00
Jacek Caban 7e7f46f436 ws2_32: Added FreeAddrInfoExW stub.
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-10-18 06:15:31 -07: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
Michael Stefaniuc 8581ae8cc5 ws2_32: Use debugstr_guid() to trace GUIDs.
Signed-off-by: Michael Stefaniuc <mstefani@redhat.de>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-10-05 11:43:33 +02:00
Bruno Jesus a549245dfc ws2_32: Fix handling of POLLHUP in WSAPoll.
Signed-off-by: Bruno Jesus <00cpxxx@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-09-14 11:53:17 +09:00
Bruno Jesus 6135a3fa93 ws2_32: Use correct WS_ prefixed family.
Signed-off-by: Bruno Jesus <00cpxxx@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-09-12 11:08:19 +09:00
Alistair Leslie-Hughes f9d4057574 ws2_32: Accept shouldn't fail when addrlen32 is NULL.
Signed-off-by: Alistair Leslie-Hughes <leslie_alistair@hotmail.com>
Signed-off-by: Bruno Jesus <00cpxxx@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-09-08 10:06:48 +09:00
Bruno Jesus 048964b40e ws2_32: Debug the ioctl code name whenever possible.
Signed-off-by: Bruno Jesus <00cpxxx@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-09-07 10:40:54 +09:00
Philipp Hoppermann 8397e3da73 ws2_32: Implement InetNtopW.
Signed-off-by: Philipp Hoppermann <plata@mailbox.org>
Signed-off-by: Bruno Jesus <00cpxxx@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-07-25 23:55:49 +09:00
Bruno Jesus 134bf22b8c ws2_32: Ensure default route IP addresses are returned first in gethostbyname.
Signed-off-by: Bruno Jesus <00cpxxx@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-06-20 20:06:38 +09:00
Michael Müller ea18c740f7 ws2_32: Fix getaddrinfo with IPPROTO_IPV6 protocol.
Signed-off-by: Michael Müller <michael@fds-team.de>
Signed-off-by: Sebastian Lackner <sebastian@fds-team.de>
Signed-off-by: Bruno Jesus <00cpxxx@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-04-26 14:49:47 +09:00
Michael Müller 59ffe4e321 ws2_32: Add semi-stub for DisconnectEx.
Signed-off-by: Michael Müller <michael@fds-team.de>
Signed-off-by: Sebastian Lackner <sebastian@fds-team.de>
Signed-off-by: Bruno Jesus <00cpxxx@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-04-21 13:36:37 +09:00
Bruno Jesus 5913a107d8 ws2_32: Add WSAPoll() implementation.
Signed-off-by: Bruno Jesus <00cpxxx@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2015-12-22 14:29:48 +01:00
Bruno Jesus 958ed34f16 ws2_32: Add a couple of options to sockopt debug.
Signed-off-by: Bruno Jesus <00cpxxx@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2015-11-23 23:35:22 +09:00
Jacek Caban 9d452e2ccd ws2_32: Added GetAddrInfoExW stub.
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2015-10-29 10:53:39 +09:00
Sebastian Lackner 5529fc736e ws2_32: Use wine_server_release_fd to close file descriptor.
Signed-off-by: Sebastian Lackner <sebastian@fds-team.de>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2015-10-25 15:18:39 +09:00
Erich E. Hoover effd2c4192 ws2_32: Add asynchronous support for TransmitFile.
Signed-off-by: Erich E. Hoover <erich.e.hoover@wine-staging.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2015-10-21 19:19:08 +09:00
Erich E. Hoover f1ebc93603 ws2_32: Add support for TransmitFile headers and footers.
Signed-off-by: Erich E. Hoover <erich.e.hoover@wine-staging.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2015-10-20 00:30:40 +09:00
Erich E. Hoover 4d081f36ef ws2_32: Implement a basic synchronous TransmitFile.
Signed-off-by: Erich E. Hoover <erich.e.hoover@wine-staging.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2015-10-20 00:30:40 +09:00
Erich E. Hoover 109d4b914a ws2_32: Check for invalid parameters in TransmitFile.
Signed-off-by: Erich E. Hoover <erich.e.hoover@wine-staging.com>
2015-10-07 21:28:55 +09:00
Erich E. Hoover 23c293ae4c ws2_32: Add stub for TransmitFile.
Signed-off-by: Erich E. Hoover <erich.e.hoover@wine-staging.com>
2015-10-07 21:28:55 +09:00
Michael Müller af8c79343c ws2_32: Implement InetPtonW function.
Signed-off-by: Michael Müller <michael@fds-team.de>
Signed-off-by: Sebastian Lackner <sebastian@fds-team.de>
2015-10-05 22:27:15 +09:00
Sebastian Lackner f8aa842dea ws2_32: Fix TRACE and specfile for inet_pton.
Signed-off-by: Sebastian Lackner <sebastian@fds-team.de>
2015-10-05 22:27:14 +09:00
Bruno Jesus 18a02d8f41 ws2_32: Try harder to get the host name address in getaddrinfo. 2015-09-08 14:50:42 +09:00
Huw Davies 2569123d00 ws2_32: Avoid using inet_ntoa() which isn't thread-safe. 2015-08-12 22:53:22 +09:00
Charles Davis 4829989c19 ws2_32: Implement setting the keep-alive idle timeout and interval on Mac OS. 2015-08-06 23:36:02 +09:00
Bruno Jesus b6a095b900 ws2_32: Map IPPROTO_IPV6 protocol option. 2015-07-29 21:44:03 +02:00
André Hentschel ff01c2a196 ws2_32: Pass correct buffer length to WS_inet_ntop (Coverity). 2015-07-20 06:32:14 +02:00
Bruno Jesus 45677e173d ws2_32: UDP sockets can write data even when unbound. 2015-06-19 17:01:05 +09:00
Bruno Jesus 9d558c5c5f ws2_32: Add a helper to get socket type. 2015-06-19 17:00:58 +09:00
Bruno Jesus a0df3330c3 ws2_32: Trace accepted socket. 2015-06-16 16:51:31 +09:00
Sebastian Lackner f542a0c18b ws2_32: Fix uninitialized memory access in do_poll (Coverity). 2015-06-08 15:30:42 +09:00
Bruno Jesus 2a1ae98b55 ws2_32: Simplify select() to make its code more reusable. 2015-05-22 18:01:33 +09:00
Bruno Jesus 898abba880 ws2_32: Trace connect() success. 2015-05-14 14:24:44 +09:00
Piotr Caban 51e77324dd ws2_32: Fix ai_canonname buffer allocation in addrinfo_AtoW. 2015-05-11 15:19:05 +09:00
Sebastian Lackner 0d2817b161 ws2_32: Properly handle closing sockets during a select call.
Based on a patch by Bruno Jesus.
2015-05-05 23:15:31 +09:00
Alexandre Julliard 57e2d9ef75 ws2_32: Avoid UINT32_MAX. 2015-05-01 15:45:11 +09:00
Jacek Caban edb780e87f ws2_32: Use get_rcvsnd_timeo helper in getsockopt. 2015-04-28 15:33:37 +09:00
Jacek Caban 6a80fe9e6b ws2_32: Call get_rcvsnd_timeo directly. 2015-04-28 15:33:35 +09:00
Jacek Caban 9e3a3f46fa ws2_32: Avoid overflows in get_rcvsnd_timeo. 2015-04-28 15:33:32 +09:00
Sebastian Lackner ea371a2446 ws2_32: Add a missing call to release_sock_fd. 2015-04-14 16:51:18 +09:00
Bruno Jesus b69eb16816 ws2_32: Convert EBADF errno to ENOTSOCK. 2015-04-14 16:51:09 +09:00
Bruno Jesus 61ed82fc86 ws2_32: Restore the local socket address that was bound with filter for getsockname(). 2015-04-09 13:26:29 +09:00
Bruno Jesus 71c60d15d3 ws2_32: Handle SO_ERROR manually in getsockopt().
As soon as SO_ERROR is read from getsockopt it is reset in the kernel,
when attempting a non-blocking connection the wine server reads
SO_ERROR first so when the application tries to read the value it will
end with zero.
2015-04-08 23:16:40 +09:00
Bruno Jesus b34ca6f4fe ws2_32: Add a more generic function to retrieve socket errors from server. 2015-04-08 23:16:24 +09:00
Bruno Jesus d945234c13 ws2_32: Shortcut socket() to WSASocketW instead of WSASocketA. 2015-04-07 15:11:27 +09:00
Bruno Jesus a07d4e44d0 ws2_32: Better trace shutdown(). 2015-04-07 15:11:09 +09:00
Michael Müller 0601c86542 ws2_32: Don't return an error in WS_select when EINTR happens during timeout. 2015-04-06 16:10:14 +09:00
Bruno Jesus 5c8aad8d76 ws2_32: Fix copy & paste error in fd_sets_to_poll (Coverity). 2015-04-06 12:10:45 +09:00
Alexandre Julliard 125b079f60 ws2_32: Include wsnwlink.h even without IPX support. 2015-04-04 11:55:56 +09:00
Bruno Jesus 846febbc3d ws2_32: Better trace setsockopt/getsockopt. 2015-04-03 00:33:28 +09:00
Bruno Jesus e845bded34 ws2_32: Fix return value when receiving with MSG_OOB without data to read. 2015-03-31 14:49:50 +09:00
Bruno Jesus 10d51ce855 ws2_32: Check for OOB data in select() calls when not OOB_INLINED. 2015-03-30 16:32:50 +09:00
Bruno Jesus 10f7265270 ws2_32: Do not poll unbound descriptors. 2015-03-30 16:32:36 +09:00
Bruno Jesus b2556a2c34 ws2_32: Ensure sockets in exceptfds get set when an error occurs. 2015-03-30 16:31:53 +09:00
Bruno Jesus 57e7a562bd ws2_32: Add a helper to check if a socket is bound or not. 2015-03-30 16:31:23 +09:00
Bruno Jesus dcc0bae95d ws2_32: Convert send/recv flags to native system. 2015-03-30 16:30:48 +09:00
Bruno Jesus d73330e4d8 ws2_32: Don't try to receive data in an OOB_INLINED socket with MSG_OOB. 2015-03-30 16:29:39 +09:00
Francois Gouget ae6e1e2e38 ws2_32: Add support for WSA_FLAG_NO_HANDLE_INHERIT. 2015-03-17 14:17:46 +09:00
Qian Hong bed1525fa4 ws2_32: Improved error handling in gethostname when name length is insufficient. 2015-03-13 22:28:30 +09:00
Alexandre Julliard 91fc10847e ws2_32: Use Win32 APIs for interlocked functions. 2015-03-11 14:21:10 +09:00
Bruno Jesus b1fc62a213 ws2_32: Normalize socket tracing. 2015-03-11 12:46:27 +09:00
Michael Stefaniuc 58afc397cb ws2_32: Avoid using bitwise operations on BOOLs (PVS-Studio). 2015-03-10 21:36:24 +09:00
Alexandre Julliard 09cd7cf3e0 ws2_32: Set the completion event on the server side also for AcceptEx. 2015-03-07 15:17:05 +09:00
Sebastian Lackner 49cdebad4b ws2_32: Avoid kernel32 functions in system APC calls.
kernel32 functions might modify the last error, which should be avoided here.
2015-03-06 21:09:45 +09:00
Bruno Jesus bf36fb0216 ws2_32: Make closesocket() more robust. 2015-03-05 21:43:18 +09:00
Alexandre Julliard 0a241b0fcc ntdll: Allow specifying the user APC argument in the system APC callback. 2015-03-03 17:02:03 +09:00
Alexandre Julliard 4273b0d938 ws2_32: Don't queue a user APC when there is no callback function. 2015-03-03 17:01:48 +09:00
Alexandre Julliard e23233d791 ws2_32: Add a separate structure for async shutdowns.
Conflicts:
	dlls/ws2_32/socket.c
2015-03-03 16:53:04 +09:00
Alexandre Julliard 9fa69b5868 ws2_32: Add a common header to the async I/O structures. 2015-03-03 15:33:21 +09:00
Bruno Jesus 038399fcdd ws2_32: getaddrinfo must SetLastError on success or failure. 2015-01-20 11:11:43 +01:00
Bruno Jesus 632de943be ws2_32: Trace getpeername() result. 2015-01-15 11:33:32 +01:00
Bruno Jesus c0e4759d8d ws2_32: Prefer SetLastError over WSASetLastError. 2015-01-13 20:48:34 +01:00
Bruno Jesus ab1eee505b ws2_32: Ensure recv functions set last error to zero when they succeed. 2015-01-13 17:52:04 +01:00
Bruno Jesus ed281c743c ws2_32: Print the correct variable. 2015-01-09 11:49:46 +01:00
Francois Gouget b46a62843f ws2_32: Add a trailing '\n' to a TRACE() call. 2015-01-06 18:19:24 +01:00
Francois Gouget f2eaf730a5 ws2_32: Add a trailing '\n' to a FIXME() call. 2015-01-05 20:16:01 +01:00
Bruno Jesus 1c21aeeebc include: Add support for WS_ prefixed IPX names in wsnwlink.h. 2015-01-05 20:14:02 +01:00