Commit Graph

631 Commits

Author SHA1 Message Date
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 f01ccea4b5 ws2_32/tests: Add some more select() related tests. 2015-04-08 23:15:55 +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 45d64ce26b ws2_32/tests: Skip part of OOB test to unfreeze NT4 test.
NT4 doesn't care about OOB_INLINE and receives data in the wrong recv
call so the next call never receives data and hangs forever. Skip it
to resume NT4 test normally.
2015-03-31 14:49:31 +09:00
Bruno Jesus 5103291645 ws2_32/tests: Add more WSAEnumNetworkEvents tests. 2015-03-31 14:49:25 +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
Frédéric Delanoy f6a341c747 Assorted spelling/grammar fixes. 2015-03-27 22:29:48 +09:00
Francois Gouget ae6e1e2e38 ws2_32: Add support for WSA_FLAG_NO_HANDLE_INHERIT. 2015-03-17 14:17:46 +09:00
Bruno Jesus a19febc1a7 ws2_32/tests: Check the OOB mark in the right place. 2015-03-16 15:08:46 +09:00
Bruno Jesus 8042dbac55 ws2_32/tests: Improve some helper functions. 2015-03-16 15:08:38 +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
Bruno Jesus 0415407404 ws2_32/tests: Add more select() tests related to OOB handling. 2015-03-13 00:28:15 +09:00
Alexandre Julliard 91fc10847e ws2_32: Use Win32 APIs for interlocked functions. 2015-03-11 14:21:10 +09:00
Bruno Jesus 18b3f4cadd ws2_32/tests: Test the behavior of reading data from an OOBINLINE'd socket. 2015-03-11 12:48:13 +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
Bruno Jesus 3e676b205d ws2_32/tests: Add more select() tests. 2015-03-08 17:47:07 +09:00
Bruno Jesus 4ca53984e4 ws2_32/tests: Improve setup_connector_socket to allow non-blocking connect calls. 2015-03-08 17:47:05 +09:00
Bruno Jesus 9eaf92d62a ws2_32/test: Don't test unsupported IP_MULTICAST_TTL on NT4. 2015-03-08 17:47:03 +09:00
Bruno Jesus a65ae0ea57 ws2_32/tests: Fix a NT4 crash due to unsupported SIO_ADDRESS_LIST_QUERY. 2015-03-08 17:47:00 +09:00
Bruno Jesus 2522e205ec ws2_32/tests: Move second WSACleanup test elsewhere. 2015-03-08 17:46:56 +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
Michael Stefaniuc bbe2c58261 ws2_32/tests: Actually test a return value (PVS-Studio). 2015-03-04 21:50:46 +09:00
Michael Stefaniuc 4c36ef1d4e ws2_32/tests: Remove an unused assignment (PVS-Studio). 2015-03-04 21:50:45 +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
Erich E. Hoover c15c7a4925 ws2_32/tests: Add an interactive test for interface change notifications. 2015-02-10 22:57:48 +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 35a887acc5 ws2_32/tests: Show that send/recv functions set last error to zero on success. 2015-01-09 11:50:08 +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
Bruno Jesus fe127ac36c ws2_32: Better trace __WSAFDIsSet. 2015-01-05 20:12:08 +01:00
Bruno Jesus 9d9e1cc9ae ws2_32: Ensure an IPv6 is not recognized as IPv4 in WSAStringToAddress. 2014-12-31 11:37:18 +01:00
Bruno Jesus 1c4cb63036 ws2_32: Implement getsockopt(SO_BSP_STATE). 2014-12-09 20:05:58 +01:00
Bruno Jesus d7a8beb0f7 ws2_32: Filter unset bits when argument is smaller than 32 bits. 2014-12-05 20:47:40 +01:00
Bruno Jesus 14324fec97 ws2_32/tests: Add SO_BSP_STATE tests. 2014-12-05 20:47:30 +01:00
Sebastian Lackner d824b1ac3c ws2_32: Improve implementation of get_poll_results. 2014-12-02 15:04:39 +01:00
Joachim Priesner 6eba688f2c ws2_32: Use qsort() to order routes by metric in WS_get_local_ips. 2014-12-02 13:07:33 +01:00
Sebastian Lackner d57ccd54f8 ws2_32/tests: Fix several copy and paste errors. 2014-12-01 11:11:05 +01:00
Piotr Caban 6d5b7c7344 ws2_32/tests: Add more select tests. 2014-11-28 19:18:15 +01:00
Piotr Caban 459837ece4 ws2_32: Add support for overlapping fd_sets in select. 2014-11-28 19:18:10 +01:00
Sebastian Lackner 69cc90957c ws2_32/tests: Wait for thread termination before cleaning up winsock. 2014-11-20 22:34:48 +09:00
Bruno Jesus 344bc6d72b ws2_32: Add tests and implement inet_pton.
Special thanks to Erich Hoover.
2014-11-04 13:28:16 +09:00
Alistair Leslie-Hughes a5df09b404 ws2_32: Make SOCKET output consistent. 2014-10-08 10:18:55 +02:00
Henri Verbeet c0e49c5c40 ws2_32: Simplify some address calculations for SIO_ADDRESS_LIST_QUERY. 2014-10-07 20:22:04 +02:00
Henri Verbeet 32724def72 ws2_32: Return an error if "out_buff" is NULL for SIO_ADDRESS_LIST_QUERY. 2014-10-07 20:22:03 +02:00
Henri Verbeet b914a6461b ws2_32: Return WSAEINVAL if "out_size" is smaller than the minimum size for SIO_ADDRESS_LIST_QUERY. 2014-10-06 19:38:12 +02:00
Henri Verbeet 4e6ebd633a ws2_32: Return the needed buffer size for SIO_ADDRESS_LIST_QUERY. 2014-10-06 19:38:10 +02:00
Austin English f6dad55dab ws2_32: Don't assume AI_V4MAPPED is available. 2014-09-11 10:16:11 +02:00
Gerald Pfeifer 7432a8588c ws2_32: Define fill_control_message only when it's really used. 2014-08-21 18:02:24 +02:00
Bruno Jesus adde46f552 ws2_32: Improve WSAStartup/WSACleanup tracing. 2014-07-03 18:17:36 +02:00
Bruno Jesus 543314d449 ws2_32: Only declare IPX support if the required definitions are found. 2014-07-03 11:41:55 +02:00
Frédéric Delanoy 95ae71f3ab Assorted spelling/grammar fixes. 2014-07-01 13:09:13 +02:00
Bruno Jesus 6f47a9d9d8 ws2_32: Don't call WS_EnterSingleProtocol[A|W] on unsupported protocols (valgrind). 2014-06-16 09:39:42 +02:00
Bruno Jesus e3998e3988 ws2_32/tests: Wait for thread test before returning (valgrind). 2014-06-16 09:39:29 +02:00
Bruno Jesus 79d29e2347 ws2_32/tests: Initialize a test buffer (valgrind). 2014-06-12 18:05:21 +02:00
Bruno Jesus 1184fe90b2 ws2_32: Avoid memory allocation for simple receives. 2014-05-20 09:41:01 +02:00
Bruno Jesus 752219396d ws2_32: Avoid memory allocation for simple sends. 2014-05-20 09:40:52 +02:00
Bruno Jesus 25bc6de842 ws2_32: Take care of EINTR inside the helpers. 2014-05-19 09:51:54 +02:00
Bruno Jesus 443edfa1da ws2_32: Avoid magic numbers in shutdown() function. 2014-05-12 10:55:54 +02:00
Bruno Jesus 843ef11eb8 ws2_32: Return the correct error if SO_REUSEADDR is set in bind error. 2014-05-09 14:17:00 +02:00
Bruno Jesus 43241934c6 ws2_32: Avoid using WS_ prefix on unix sockaddr struct.
The address was already converted to unix in these situations, so it's
wrong to check against windows #defines.
2014-05-08 10:30:05 +02:00
Bruno Jesus eda14e611c ws2_32/tests: Test more the behavior of SO_REUSEADDR. 2014-05-07 10:25:58 +02:00
Bruno Jesus 3fe0a31d14 ws2_32: Convert the magic loopback address back to 127.0.0.1 in gethostbyaddr. 2014-04-18 10:52:09 +02:00
Bruno Jesus c33e7308ad ws2_32: Use the correct address family in gethostbyaddr. 2014-04-15 21:03:54 +02:00
Erich E. Hoover 5963d7f09c ws2_32: Ask the server to process unsupported WSAIoctl operations. 2014-03-28 17:46:04 +01:00
Thomas Faber 626040b1ac ws2_32: Avoid a variable-length array. 2014-03-25 19:01:14 +01:00
Austin English 171748da4d ws2_32: Skip some tests on broken ISPs. 2014-03-24 11:40:44 +01:00
Hans Leidekker 77f5f01bbb ws2_32/tests: Mark some test results on Windows 8 as broken. 2014-03-07 14:11:35 +01:00
Jacek Caban 35f164fac8 ws2_32: Improved WSAIoctl debug messages. 2014-03-06 16:25:38 +01:00
André Hentschel b05a3e999c ws2_32/tests: Get rid of the do_oob_send helper function. 2014-03-06 13:38:35 +01:00
André Hentschel ec7c5907f7 ws2_32/tests: Test OOB data more sequential by sending bidirectional. 2014-03-06 13:38:35 +01:00
Bruno Jesus de0c46fd52 ws2_32/tests: Add W2K error values as valid. 2014-02-22 08:41:34 -06:00
Bruno Jesus 5782bac2a0 ws2_32: Fix conversion of address in GetAddrInfoW. 2014-02-20 13:28:46 +01:00
Bruno Jesus da16d6b660 ws2_32: Fix edge case for getaddrinfo in BSD and OSX. 2014-02-17 11:28:20 +01:00
Bruno Jesus e5fba2d54c ws2_32: Add AI_NUMERICSERV support. 2014-02-13 10:43:58 +01:00
Bruno Jesus 3c64a7c4e2 ws2_32: Fix some parameters checking in AcceptEx. 2014-02-06 17:08:13 +01:00
Bruno Jesus 7a8d43043a ws2_32/tests: Fix AcceptEx tests related to address length. 2014-02-05 13:49:26 +01:00
Francois Gouget bff3d35e20 Assorted spelling fixes. 2014-01-30 15:00:34 +01:00