Zebediah Figura
c1c3691bed
ws2_32: Move gethostname() to the Unix library.
...
Signed-off-by: Zebediah Figura <zfigura@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-08-05 23:11:23 +02:00
Alex Henrie
cade5944be
ws2_32: Hook up IPV6_PKTINFO.
...
Signed-off-by: Alex Henrie <alexhenrie24@gmail.com>
Signed-off-by: Zebediah Figura <zfigura@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-08-04 23:20:40 +02:00
Alex Henrie
71d1bb60f1
ws2_32: Hook up IPV6_HOPLIMIT.
...
Signed-off-by: Alex Henrie <alexhenrie24@gmail.com>
Signed-off-by: Zebediah Figura <zfigura@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-08-04 22:06:11 +02:00
Alex Henrie
0e76a54aae
ws2_32/tests: Add tests for IPv6 control messages.
...
Namely IPV6_HOPLIMIT and IPV6_PKTINFO.
Signed-off-by: Alex Henrie <alexhenrie24@gmail.com>
Signed-off-by: Zebediah Figura <zfigura@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-08-04 22:05:51 +02:00
Zebediah Figura
68257d0f39
ws2_32: Move gethostbyname() to the Unix library.
...
Signed-off-by: Zebediah Figura <zfigura@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-08-04 11:34:00 +02:00
Zebediah Figura
684f03c4a3
ws2_32: Move gethostbyaddr() to the Unix library.
...
Signed-off-by: Zebediah Figura <zfigura@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-08-04 11:33:58 +02:00
Zebediah Figura
d6555b966e
ws2_32: Allocate the addrinfo buffer on the PE side.
...
Signed-off-by: Zebediah Figura <zfigura@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-08-04 11:33:27 +02:00
Zebediah Figura
e58405000c
ws2_32: Move getaddrinfo() support to a new Unix library.
...
Signed-off-by: Zebediah Figura <zfigura@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-08-04 11:33:24 +02:00
Zebediah Figura
c07da78a2e
ws2_32: Get rid of supported_pf().
...
Signed-off-by: Zebediah Figura <zfigura@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-08-04 11:33:18 +02:00
Zebediah Figura
671cf16f77
ws2_32: Reimplement inet_addr() on top of inet_pton().
...
Signed-off-by: Zebediah Figura <zfigura@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-08-03 23:41:05 +02:00
Zebediah Figura
b159f6e256
ws2_32/tests: Add tests for inet_addr().
...
Signed-off-by: Zebediah Figura <zfigura@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-08-03 23:41:05 +02:00
Zebediah Figura
53fe477d82
ws2_32/tests: Expand tests for inet_pton().
...
Signed-off-by: Zebediah Figura <zfigura@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-08-03 23:41:05 +02:00
Zebediah Figura
4ed061f458
ws2_32/tests: Expand tests for WSAStringToAddress().
...
Adapted from RtlIpv4StringToAddress() tests.
Signed-off-by: Zebediah Figura <zfigura@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-08-03 23:41:05 +02:00
Zebediah Figura
c70f64f82c
ws2_32: Check for presence in the socket list in closesocket().
...
Instead of trying to retrieve the fd.
Signed-off-by: Zebediah Figura <zfigura@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-08-03 23:41:05 +02:00
Zebediah Figura
8c47f02cb5
ws2_32: Move the setsockopt(TCP_NODELAY) implementation to ntdll.
...
Signed-off-by: Zebediah Figura <zfigura@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-08-02 11:32:18 +02:00
Zebediah Figura
b1669e3a4c
ws2_32: Move the getsockopt(TCP_NODELAY) implementation to ntdll.
...
Signed-off-by: Zebediah Figura <zfigura@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-08-02 11:32:15 +02:00
Zebediah Figura
3e09e25068
ws2_32: Move the getsockopt(IRLMP_ENUMDEVICES) implementation to ntdll.
...
Signed-off-by: Zebediah Figura <zfigura@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-08-02 11:32:12 +02:00
Zebediah Figura
55c761540d
ws2_32: Move the setsockopt(IPX_PTYPE) implementation to ntdll.
...
Signed-off-by: Zebediah Figura <zfigura@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-08-02 11:32:10 +02:00
Zebediah Figura
ce1c5ffcae
ws2_32: Move the getsockopt(IPX_PTYPE) implementation to ntdll.
...
Signed-off-by: Zebediah Figura <zfigura@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-08-02 11:32:07 +02:00
Zebediah Figura
bf633a97a0
ws2_32: Move the setsockopt(IPV6_V6ONLY) implementation to ntdll.
...
Signed-off-by: Zebediah Figura <zfigura@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-07-30 13:46:15 +02:00
Zebediah Figura
43dfa9d437
ws2_32: Move the getsockopt(IPV6_V6ONLY) implementation to ntdll.
...
Signed-off-by: Zebediah Figura <zfigura@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-07-30 13:46:11 +02:00
Zebediah Figura
81ba59bb21
ws2_32: Move the setsockopt(IPV6_UNICAST_IF) implementation to ntdll.
...
Signed-off-by: Zebediah Figura <zfigura@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-07-30 13:46:08 +02:00
Zebediah Figura
a6b880a042
ws2_32: Move the getsockopt(IPV6_UNICAST_IF) implementation to ntdll.
...
Signed-off-by: Zebediah Figura <zfigura@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-07-30 13:46:04 +02:00
Zebediah Figura
717766e58f
ws2_32: Move the setsockopt(IPV6_UNICAST_HOPS) implementation to ntdll.
...
Signed-off-by: Zebediah Figura <zfigura@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-07-30 13:45:58 +02:00
Zebediah Figura
40adc6a295
ws2_32: Move the getsockopt(IPV6_UNICAST_HOPS) implementation to ntdll.
...
Signed-off-by: Zebediah Figura <zfigura@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-07-30 13:45:55 +02:00
Zebediah Figura
15bc605224
ws2_32: Move the setsockopt(IPV6_MULTICAST_LOOP) implementation to ntdll.
...
Signed-off-by: Zebediah Figura <zfigura@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-07-29 10:16:21 +02:00
Zebediah Figura
aab6e604a9
ws2_32: Move the getsockopt(IPV6_MULTICAST_LOOP) implementation to ntdll.
...
Signed-off-by: Zebediah Figura <zfigura@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-07-29 10:16:19 +02:00
Zebediah Figura
a3f3ecf126
ws2_32: Move the setsockopt(IPV6_MULTICAST_IF) implementation to ntdll.
...
Signed-off-by: Zebediah Figura <zfigura@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-07-29 10:16:17 +02:00
Zebediah Figura
15b3ab9b5b
ws2_32: Move the getsockopt(IPV6_MULTICAST_IF) implementation to ntdll.
...
Signed-off-by: Zebediah Figura <zfigura@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-07-29 10:16:13 +02:00
Zebediah Figura
6760eea1f0
ws2_32: Move the setsockopt(IPV6_MULTICAST_HOPS) implementation to ntdll.
...
Signed-off-by: Zebediah Figura <zfigura@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-07-29 10:16:10 +02:00
Zebediah Figura
5dffe2263d
ws2_32: Move the getsockopt(IPV6_MULTICAST_HOPS) implementation to ntdll.
...
Signed-off-by: Zebediah Figura <zfigura@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-07-28 22:07:05 +02:00
Zebediah Figura
6d2fb6f135
ws2_32: Move the setsockopt(IPV6_DROP_MEMBERSHIP) implementation to ntdll.
...
Signed-off-by: Zebediah Figura <zfigura@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-07-28 22:07:05 +02:00
Zebediah Figura
e1a34ce063
ws2_32: Move the setsockopt(IPV6_DONTFRAG) implementation to ntdll.
...
Signed-off-by: Zebediah Figura <zfigura@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-07-28 22:07:05 +02:00
Zebediah Figura
a615e67792
ws2_32: Move the getsockopt(IPV6_DONTFRAG) implementation to ntdll.
...
Signed-off-by: Zebediah Figura <zfigura@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-07-28 22:07:05 +02:00
Zebediah Figura
ef54a8c318
ws2_32: Move the setsockopt(IPV6_ADD_MEMBERSHIP) implementation to ntdll.
...
Signed-off-by: Zebediah Figura <zfigura@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-07-28 22:07:05 +02:00
Zebediah Figura
a06bcd03b9
ws2_32: Move the setsockopt(IP_UNICAST_IF) implementation to ntdll.
...
Signed-off-by: Zebediah Figura <zfigura@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-07-27 10:58:40 +02:00
Zebediah Figura
5819c52f3a
ws2_32: Move the getsockopt(IP_UNICAST_IF) implementation to ntdll.
...
Signed-off-by: Zebediah Figura <zfigura@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-07-27 10:58:38 +02:00
Zebediah Figura
9715bd258c
ws2_32: Move the setsockopt(IP_UNBLOCK_SOURCE) implementation to ntdll.
...
Signed-off-by: Zebediah Figura <zfigura@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-07-27 10:58:34 +02:00
Zebediah Figura
bcf777fd18
ws2_32: Move the setsockopt(IP_TTL) implementation to ntdll.
...
Signed-off-by: Zebediah Figura <zfigura@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-07-27 10:58:30 +02:00
Zebediah Figura
86e521d5bb
ntdll: Fill the I/O status block with the results of the recv_socket call in sock_recv().
...
Signed-off-by: Zebediah Figura <zfigura@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-07-26 20:14:20 +02:00
Zebediah Figura
4c639d6926
ntdll: Fill the I/O status block with the results of the send_socket call in sock_send().
...
The server might change the status. In particular, if we got a short but nonzero
write on a nonblocking socket, try_send() would return STATUS_DEVICE_NOT_READY
and hence leave the I/O status block unfilled. The server subsequently massages
this into STATUS_SUCECSS, causing a garbage size to be eventually returned from
ws2_32 send().
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=51439
Signed-off-by: Zebediah Figura <zfigura@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-07-26 20:14:18 +02:00
Zebediah Figura
a9ddbc0cbc
server: Also return STATUS_PIPE_DISCONNECTED for shutdown nonblocking sockets.
...
Signed-off-by: Zebediah Figura <zfigura@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-07-26 20:14:09 +02:00
Zebediah Figura
a5f787ac44
ws2_32: Dump the flow label and scope ID in debugstr_sockaddr().
...
Signed-off-by: Zebediah Figura <zfigura@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-07-23 19:03:30 +02:00
Zebediah Figura
205e2ae036
ws2_32: Do not accept sizeof(struct WS_sockaddr_in6_old).
...
Signed-off-by: Zebediah Figura <zfigura@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-07-23 19:03:25 +02:00
Zebediah Figura
d04c5f4b1b
server: Do not accept sizeof(struct WS_sockaddr_in6_old).
...
Signed-off-by: Zebediah Figura <zfigura@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-07-23 19:03:13 +02:00
Zebediah Figura
c06e5693cb
server: Validate the output size of IOCTL_AFD_BIND against the input address size rather than sizeof(struct sockaddr).
...
Signed-off-by: Zebediah Figura <zfigura@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-07-23 19:02:55 +02:00
Zebediah Figura
06dd08ee44
server: Map ENODEV to STATUS_INVALID_ADDRESS_COMPONENT.
...
Signed-off-by: Zebediah Figura <zfigura@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-07-22 13:16:27 +02:00
Zebediah Figura
9b257ed63f
server: Support passing to bind a zero sin6_scope_id.
...
Signed-off-by: Zebediah Figura <zfigura@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-07-22 13:16:20 +02:00
Zebediah Figura
2c582b683d
ws2_32: Do not translate STATUS_INVALID_PARAMETER to WSAEFAULT.
...
This fixes a regression introduced by 5c009c17b3
.
WeMod WXDrive calls bind() on every local address, but with a zero
sin6_scope_id, and gets confused when this returns WSAEFAULT. Actually this is
supposed to succeed on Windows, but prior to the aforementioned commit we would
return WSAEINVAL, and the program seems to be happy with that.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=51493
Signed-off-by: Zebediah Figura <zfigura@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-07-22 13:15:30 +02:00
Zebediah Figura
cd34be062c
ws2_32: Validate address length in bind().
...
bind() returns WSAEFAULT for short length, but IOCTL_AFD_BIND returns
STATUS_INVALID_ADDRESS, which translates to WSAEADDRNOTAVAIL.
Signed-off-by: Zebediah Figura <zfigura@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-07-22 13:15:26 +02:00