Jinoh Kang
74059d12b8
ntdll: Don't call try_send before server call in sock_send.
...
Otherwise, try_send() call from sock_send() may race against try_send()
call from async_send_proc(), shuffling the packet order.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=52401
Signed-off-by: Jinoh Kang <jinoh.kang.kr@gmail.com>
Signed-off-by: Zebediah Figura <zfigura@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-03-25 18:30:28 +01:00
Jinoh Kang
29883e2db9
ws2_32/tests: Continue sending remaining data on short write in test_write_events.
...
Today, we assert that a short write clears the FD_WRITE event bit;
however, short writes can never happen on Windows in the first place.
We're testing for a property of a socket behaviour that does not exist
on Windows, but currently happens to be exhibited by Wine.
Ignore short writes, and continue sending until it fails with
EWOULDBLOCK. This way, the test won't care whether or not a short write
clears FD_WRITE. This allows us some flexibility in implementation of
send().
Signed-off-by: Jinoh Kang <jinoh.kang.kr@gmail.com>
Signed-off-by: Zebediah Figura <zfigura@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-03-22 18:36:49 +01:00
Ziqing Hui
6bdf3a6ba7
ws2_32/tests: Test getaddrinfo() for IPv6 DNS querying.
...
The tests show that if we don't have a global IPv6 address, getaddrinfo()
will not return IPv6 results. Specifing AF_UNSPEC makes it return IPv4 results.
Signed-off-by: Ziqing Hui <zhui@codeweavers.com>
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-03-22 10:24:42 +01:00
Paul Gofman
081ba0ee2f
ws2_32: Manage shorter length for IPV6_V6ONLY.
...
Signed-off-by: Paul Gofman <pgofman@codeweavers.com>
Signed-off-by: Zebediah Figura <zfigura@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-03-11 19:23:28 +01:00
Paul Gofman
ed09d9a4c0
ws2_32: Manage shorter length for IPV6_UNICAST_HOPS.
...
Signed-off-by: Paul Gofman <pgofman@codeweavers.com>
Signed-off-by: Zebediah Figura <zfigura@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-03-11 19:23:28 +01:00
Paul Gofman
91aa6b2828
ws2_32: Manage shorter length for IPV6_RECVTCLASS.
...
Signed-off-by: Paul Gofman <pgofman@codeweavers.com>
Signed-off-by: Zebediah Figura <zfigura@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-03-11 19:23:28 +01:00
Paul Gofman
adcff74cd2
ws2_32: Manage shorter length for IPV6_PKTINFO.
...
Signed-off-by: Paul Gofman <pgofman@codeweavers.com>
Signed-off-by: Zebediah Figura <zfigura@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-03-11 19:23:28 +01:00
Paul Gofman
9890677b49
ws2_32: Manage shorter length for IPV6_MULTICAST_LOOP.
...
Signed-off-by: Paul Gofman <pgofman@codeweavers.com>
Signed-off-by: Zebediah Figura <zfigura@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-03-11 19:23:28 +01:00
Paul Gofman
67ebbbf336
ws2_32: Manage shorter length for IPV6_MULTICAST_HOPS.
...
Signed-off-by: Paul Gofman <pgofman@codeweavers.com>
Signed-off-by: Zebediah Figura <zfigura@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-03-11 19:23:28 +01:00
Paul Gofman
afa4aef69b
ws2_32: Manage shorter length for IPV6_HOPLIMIT.
...
Signed-off-by: Paul Gofman <pgofman@codeweavers.com>
Signed-off-by: Zebediah Figura <zfigura@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-03-10 22:18:58 +01:00
Paul Gofman
320f48b08b
ws2_32: Manage shorter length for IPV6_DONTFRAG.
...
Signed-off-by: Paul Gofman <pgofman@codeweavers.com>
Signed-off-by: Zebediah Figura <zfigura@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-03-10 22:18:58 +01:00
Paul Gofman
ab8b7ed549
ws2_32: Return WSAENOBUFS from setsockopt() for IPPROTO_IPV6 with negative optlen.
...
Signed-off-by: Paul Gofman <pgofman@codeweavers.com>
Signed-off-by: Zebediah Figura <zfigura@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-03-10 22:18:58 +01:00
Paul Gofman
9ff978e572
ws2_32: Manage shorter length for IP_RECVTTL.
...
Signed-off-by: Paul Gofman <pgofman@codeweavers.com>
Signed-off-by: Zebediah Figura <zfigura@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-03-10 22:18:58 +01:00
Paul Gofman
f95fd91f1d
ws2_32: Manage shorter length for IP_RECVTOS.
...
Signed-off-by: Paul Gofman <pgofman@codeweavers.com>
Signed-off-by: Zebediah Figura <zfigura@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-03-10 22:18:58 +01:00
Paul Gofman
d4595a9a26
ws2_32: Manage shorter length for IP_PKTINFO.
...
Signed-off-by: Paul Gofman <pgofman@codeweavers.com>
Signed-off-by: Zebediah Figura <zfigura@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-03-10 22:18:58 +01:00
Paul Gofman
4259f93337
ws2_32: Manage shorter length for TCP_NODELAY.
...
Signed-off-by: Paul Gofman <pgofman@codeweavers.com>
Signed-off-by: Zebediah Figura <zfigura@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-03-10 22:12:00 +01:00
Eric Pouech
027d7db815
ws2_32/tests: Enable compilation with long types.
...
Signed-off-by: Eric Pouech <eric.pouech@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-03-10 09:31:27 +01:00
Eric Pouech
2c0b24b670
ws2_32/tests: Use correct integral type.
...
Signed-off-by: Eric Pouech <eric.pouech@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-03-10 09:31:08 +01:00
Paul Gofman
4ed93b5380
ws2_32: Manage shorter length for SO_SNDBUF.
...
Signed-off-by: Paul Gofman <pgofman@codeweavers.com>
Signed-off-by: Zebediah Figura <zfigura@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-03-09 20:54:17 +01:00
Paul Gofman
9a198964f7
ws2_32: Manage shorter length for SO_REUSEADDR.
...
Signed-off-by: Paul Gofman <pgofman@codeweavers.com>
Signed-off-by: Zebediah Figura <zfigura@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-03-09 20:54:17 +01:00
Paul Gofman
d5f79cbfaa
ws2_32: Manage shorter length for SO_RCVBUF.
...
Signed-off-by: Paul Gofman <pgofman@codeweavers.com>
Signed-off-by: Zebediah Figura <zfigura@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-03-09 20:54:17 +01:00
Paul Gofman
173407286e
ws2_32: Set last error on success for SO_OPENTYPE.
...
Signed-off-by: Paul Gofman <pgofman@codeweavers.com>
Signed-off-by: Zebediah Figura <zfigura@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-03-09 20:54:17 +01:00
Paul Gofman
e60f009dc7
ws2_32: Manage shorter length for SO_OOBINLINE.
...
Signed-off-by: Paul Gofman <pgofman@codeweavers.com>
Signed-off-by: Zebediah Figura <zfigura@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-03-09 20:54:17 +01:00
Paul Gofman
8a851dd75c
ws2_32: Manage shorter length for SO_LINGER.
...
Signed-off-by: Paul Gofman <pgofman@codeweavers.com>
Signed-off-by: Zebediah Figura <zfigura@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-03-09 20:54:17 +01:00
Paul Gofman
f7c48f23e3
ws2_32: Manage shorter length for SO_KEEPALIVE.
...
Signed-off-by: Paul Gofman <pgofman@codeweavers.com>
Signed-off-by: Zebediah Figura <zfigura@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-03-09 20:54:17 +01:00
Paul Gofman
26c2670203
ws2_32: Manage shorter length for SO_DONTROUTE.
...
Signed-off-by: Paul Gofman <pgofman@codeweavers.com>
Signed-off-by: Zebediah Figura <zfigura@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-03-08 22:43:37 +01:00
Paul Gofman
a73cb3f137
ws2_32: Manage shorter length for SO_DONTLINGER.
...
Signed-off-by: Paul Gofman <pgofman@codeweavers.com>
Signed-off-by: Zebediah Figura <zfigura@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-03-08 22:43:36 +01:00
Paul Gofman
666eb2c628
ws2_32: Manage shorter length for SO_BROADCAST.
...
Signed-off-by: Paul Gofman <pgofman@codeweavers.com>
Signed-off-by: Zebediah Figura <zfigura@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-03-08 22:43:36 +01:00
Paul Gofman
8fef57b1ef
ws2_32/tests: Add tests for zero option length in test_set_getsockopt().
...
Signed-off-by: Paul Gofman <pgofman@codeweavers.com>
Signed-off-by: Zebediah Figura <zfigura@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-03-08 22:43:36 +01:00
Paul Gofman
0baf44e320
ws2_32: Return WSAEFAULT from setsockopt() for IP_TTL with zero optlen.
...
Signed-off-by: Paul Gofman <pgofman@codeweavers.com>
Signed-off-by: Zebediah Figura <zfigura@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-03-08 22:43:36 +01:00
Paul Gofman
5f9da35af1
ws2_32: Return WSAEFAULT from setsockopt() for IP_MULTICAST_TTL with zero optlen.
...
Signed-off-by: Paul Gofman <pgofman@codeweavers.com>
Signed-off-by: Zebediah Figura <zfigura@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-03-08 22:43:36 +01:00
Paul Gofman
c593b2f48e
ws2_32: Return WSAEFAULT from setsockopt() for IP_MULTICAST_LOOP with zero optlen.
...
Signed-off-by: Paul Gofman <pgofman@codeweavers.com>
Signed-off-by: Zebediah Figura <zfigura@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-03-08 22:43:36 +01:00
Paul Gofman
47438903ae
ws2_32/tests: Add tests for bigger option value in test_set_getsockopt().
...
Signed-off-by: Paul Gofman <pgofman@codeweavers.com>
Signed-off-by: Zebediah Figura <zfigura@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-03-07 21:45:09 +01:00
Paul Gofman
84bb7cd88d
ws2_32: Validate IP_TOS value.
...
Signed-off-by: Paul Gofman <pgofman@codeweavers.com>
Signed-off-by: Zebediah Figura <zfigura@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-03-07 21:45:09 +01:00
Paul Gofman
4d60b85f3b
ws2_32/tests: Add tests for setting and getting socket options with shorter length.
...
Signed-off-by: Paul Gofman <pgofman@codeweavers.com>
Signed-off-by: Zebediah Figura <zfigura@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-03-07 21:43:37 +01:00
Paul Gofman
9744055cf4
ws2_32: Return WSAENOBUFS from setsockopt() for IPPROTO_IP with negative optlen.
...
Signed-off-by: Paul Gofman <pgofman@codeweavers.com>
Signed-off-by: Zebediah Figura <zfigura@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-03-07 21:43:18 +01:00
Paul Gofman
b2d1d09083
ws2_32: Treat optlen as unsigned in setsockopt() for SO_SNDTIMEO.
...
Signed-off-by: Paul Gofman <pgofman@codeweavers.com>
Signed-off-by: Zebediah Figura <zfigura@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-03-07 21:43:13 +01:00
Paul Gofman
4fa4339748
ws2_32: Treat optlen as unsigned in setsockopt() for SO_RCVTIMEO.
...
Signed-off-by: Paul Gofman <pgofman@codeweavers.com>
Signed-off-by: Zebediah Figura <zfigura@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-03-07 21:43:07 +01:00
Paul Gofman
20e2edba07
ws2_32: Pre-validate optlen in getsockopt().
...
Signed-off-by: Paul Gofman <pgofman@codeweavers.com>
Signed-off-by: Zebediah Figura <zfigura@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-03-07 21:42:58 +01:00
Paul Gofman
18230d23c5
ws2_32: Base inet_addr() implementation on musl.
...
The imported algorithm is modified to match the tests.
Fixes a regression introduced by commit
671cf16f77
.
Windows inet_addr() behaves basically the same as Unix
inet_addr() which is different from inet_pton().
Signed-off-by: Paul Gofman <pgofman@codeweavers.com>
Signed-off-by: Zebediah Figura <zfigura@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-03-04 21:10:40 +01:00
Francois Gouget
98f2922d2e
ws2_32/tests: Remove the todo_wine on a test_recv() ok() call.
...
This test has been succeeding ever since the try_recv() call has
been removed before the server call in sock_recv().
Signed-off-by: Francois Gouget <fgouget@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-02-17 22:16:03 +01:00
Zebediah Figura
9856049a5b
ws2_32/tests: Use winetest_push_context() in test_inet_pton().
...
Signed-off-by: Zebediah Figura <zfigura@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-02-11 10:57:17 +01:00
Zebediah Figura
c8c9508267
ws2_32/tests: Use winetest_push_context() in test_WSAAddressToString().
...
Signed-off-by: Zebediah Figura <zfigura@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-02-11 10:57:17 +01:00
Zebediah Figura
eba2cd3d33
ws2_32/tests: Do not use a loop to test ASCII and Unicode in test_WSAAddressToString().
...
They share almost no code.
Signed-off-by: Zebediah Figura <zfigura@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-02-11 10:57:17 +01:00
Zebediah Figura
8648ab248c
ws2_32/tests: Use winetest_push_context() in test_WSAStringToAddress().
...
Signed-off-by: Zebediah Figura <zfigura@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-02-11 10:57:17 +01:00
Jinoh Kang
160eb74fdf
ntdll: Don't call try_recv before server call in sock_recv.
...
Otherwise, try_recv() call from sock_recv() may race against try_recv()
call from async_recv_proc(), shuffling the packet order.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=52401
Signed-off-by: Jinoh Kang <jinoh.kang.kr@gmail.com>
Signed-off-by: Zebediah Figura <zfigura@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-02-10 20:18:39 +01:00
Zebediah Figura
d9f3ea3287
ws2_32/tests: Cancel a call that currently incorrectly returns STATUS_PENDING.
...
Signed-off-by: Zebediah Figura <zfigura@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-02-09 20:08:40 +01:00
Paul Gofman
2a38dab2d2
ws2_32: Trace status on operation failure.
...
Signed-off-by: Paul Gofman <pgofman@codeweavers.com>
Signed-off-by: Zebediah Figura <zfigura@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-02-09 20:08:37 +01:00
Zebediah Figura
4a56c41462
ws2_32: Build without -DWINE_NO_LONG_TYPES.
...
Signed-off-by: Zebediah Figura <zfigura@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-02-07 10:58:20 +01:00
Zebediah Figura
2895f0fd22
ws2_32: Avoid an unnecessary goto.
...
Signed-off-by: Zebediah Figura <zfigura@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-02-07 10:58:18 +01:00