Commit Graph

264 Commits

Author SHA1 Message Date
Gabriel Ivăncescu 5cc085975f iphlpapi: Implement async requests for IcmpSendEcho2Ex.
Signed-off-by: Gabriel Ivăncescu <gabrielopcode@gmail.com>
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-11-26 11:58:07 +01:00
Gabriel Ivăncescu 215c9275a8 nsiproxy: Fill the reply with the exact ICMP_ECHO_REPLY in the output buffer.
Because iphlpapi has no opportunity to convert the reply in async mode.

Signed-off-by: Gabriel Ivăncescu <gabrielopcode@gmail.com>
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-11-26 11:57:59 +01:00
Huw Davies 8f73b8e15f iphlpapi: Use wide character string literals.
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-10-06 20:29:34 +02:00
Huw Davies 3aa7c46229 iphlpapi: Build with nameless structs and unions.
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-10-06 20:29:34 +02:00
Huw Davies 36cd04aed3 iphlpapi: Build with msvcrt.
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-10-06 20:29:34 +02:00
Huw Davies 7156d2b1e4 iphlpapi: Implement IcmpSendEcho2Ex() using nsiproxy.
This results in a small change in behaviour reflected by the change to
the tests: previously IcmpCreateFile() would fail if neither a
SOCK_RAW nor a SOCK_DGRAM socket were available.  With this patch, that
failure is delayed until IcmpSendEcho2Ex().  There's no evidence that
the original behaviour matches Windows; it's likely the tests were
written this way to match Wine's implementation.  If there does turn
out to be an app that depends on the old behaviour, it would be
possible to send an ioctl during IcmpCreateFile() to probe for this.

Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-10-06 20:29:34 +02:00
Huw Davies 9d8abb1ee5 iphlpapi: Move the Icmp6 stubs to iphlpapi_main.c.
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-10-06 20:29:34 +02:00
Huw Davies f6ca752201 iphlpapi: Implement IcmpParseReplies().
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-10-06 20:29:34 +02:00
Huw Davies da81d63f6f iphlpapi: Stop using USE_WS_PREFIX.
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-10-06 20:29:34 +02:00
Francois Gouget 9d82cda245 iphlpapi: Make the adapters_addresses_*() functions static.
Signed-off-by: Francois Gouget <fgouget@free.fr>
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-08-31 15:51:45 +02:00
Huw Davies 9521640aa7 iphlpapi: Return early on error.
This prevents using err uninitialized.  Spotted by Fabian Maurer.

Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=51655
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-08-25 10:40:30 +02:00
Huw Davies 6460f72db4 iphlpapi: Use the correct physical address.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=51642
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-08-23 11:54:28 +02:00
Huw Davies 773c585193 iphlpapi: Don't truncate 64-bit ptrs.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=51620
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=51626
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-08-23 11:54:25 +02:00
Huw Davies 7992178df5 iphlpapi: Use the ANSI codepage for the convert interface name functions.
The name in these functions is now not the Unix interface name.

Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-08-19 11:16:40 +02:00
Huw Davies 502fd1a4ba iphlpapi: Implement GetAdapterIndex() by parsing the GUID from the name.
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-08-19 11:16:36 +02:00
Huw Davies 8d7720b0ed iphlpapi: Don't enumerate loopback interfaces in GetInterfaceInfo().
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-08-19 11:16:34 +02:00
Huw Davies 203350e030 iphlpapi: Implement GetInterfaceInfo() on top of nsi.
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-08-19 11:16:31 +02:00
Huw Davies e91b19bf38 iphlpapi: Implement GetUdpStatisticsEx() on top of nsi.
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-08-18 11:07:41 +02:00
Huw Davies ec0cf43497 iphlpapi: Implement AllocateAndGetUdpTableFromStack() on top of nsi.
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-08-18 11:07:36 +02:00
Huw Davies 566079d4f6 iphlpapi: Implement GetExtendedUdpTable() on top of nsi.
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-08-18 11:07:29 +02:00
Huw Davies 7341bee1dc iphlpapi: Implement AllocateAndGetTcp(Ex)TableFromStack() on top of nsi.
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-08-17 11:43:28 +02:00
Huw Davies f535ab7197 iphlpapi: Implement GetTcpTable2() and GetTcp6Table2().
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-08-17 11:43:26 +02:00
Huw Davies 6bac492b1f iphlpapi: Implement GetExtendedTcpTable() on top of nsi.
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-08-17 11:43:23 +02:00
Huw Davies 4716138d07 iphlpapi: Implement GetTcpStatisticsEx() on top of nsi.
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-08-13 11:38:14 +02:00
Huw Davies 5b99e791ce iphlpapi: Implement GetIcmpStatistics() on top of GetIcmpStatisticsEx().
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-08-12 17:30:21 +02:00
Huw Davies 1cc49258f7 iphlpapi: Implement GetIcmpStatisticsEx() on top of nsi.
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-08-12 17:30:21 +02:00
Huw Davies 91494ae6f2 iphlpapi: Implement GetIpStatisticsEx() on top of nsi.
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-08-11 23:00:50 +02:00
Huw Davies b63195d595 iphlpapi: Implement AllocateAndGetIpNetTableFromStack() on top of GetIpNetTable().
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-08-10 17:53:54 +02:00
Huw Davies a16697398b iphlpapi: Implement GetIpNetTable() on top of nsi.
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-08-10 17:53:54 +02:00
Huw Davies ae3e512b77 iphlpapi: Implement GetIpNetTable2() on top of nsi.
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-08-10 17:53:54 +02:00
Huw Davies 091c92521e iphlpapi: Implement GetAdaptersAddresses() on top of nsi.
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-08-09 11:40:55 +02:00
Huw Davies fade7a5862 iphlpapi: Mark non-loopback, non-linklocal addresses as dns eligible.
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-08-09 11:40:44 +02:00
Huw Davies 3bace8862f iphlpapi: Rewrite GetAdaptersAddresses() to first alloc and then copy the info.
This refractoring is necessary to simplify implementing it on top of nsi.

Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-08-09 11:40:40 +02:00
Huw Davies b45b4048cf iphlpapi: Add support for the EnableRouting member.
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-08-06 10:39:18 +02:00
Huw Davies 131307746d iphlpapi: Move the loopback check to get_dns_server_list().
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-08-06 10:39:15 +02:00
Huw Davies 4f3269f1e0 iphlpapi: Use DnsQueryConfig() to retrieve the dns suffix.
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-08-06 10:39:13 +02:00
Huw Davies 769952df5f iphlpapi: Use DnsQueryConfig() to retrieve the dns servers for the remaining functions.
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-08-06 10:39:10 +02:00
Huw Davies d95103c467 iphlpapi: Use DnsQueryConfig() to retrieve the dns servers for GetAdaptersAddresses().
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-08-06 10:38:36 +02:00
Huw Davies 2e399e4857 iphlpapi: Implement GetAdaptersInfo() on top of nsi.
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-08-03 22:42:01 +02:00
Huw Davies 1f2adbb3a9 iphlpapi: Move the WINS server lookup to a helper.
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-08-03 22:42:01 +02:00
Huw Davies 413eeaead5 iphlpapi: Implement AllocateAndGetIpForwardTable() on top of GetIpForwardTable().
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-08-02 11:28:37 +02:00
Huw Davies 0515480d89 iphlpapi: Implement GetIpForwardTable() on top of nsi.
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-08-02 11:28:35 +02:00
Huw Davies 8f207fe7a8 iphlpapi: Implement GetIpForwardTable2().
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-08-02 11:28:33 +02:00
Huw Davies 8d9d7fc5d2 iphlpapi: Retrieve the IPv4 addresses using an export rather than a helper.
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-07-22 21:12:15 +02:00
Huw Davies 24ca70a60c iphlpapi: Implement AllocateAndGetIpAddrTableFromStack() on top of GetIpAddrTable().
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-07-22 21:12:13 +02:00
Huw Davies beb8444487 iphlpapi: Implement GetIpAddrTable() on top of nsi.
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-07-22 21:12:10 +02:00
Huw Davies 67c8a82f3d iphlpapi: Implement GetUnicastIpAddressEntry() on top of nsi.
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-07-20 12:16:12 +02:00
Huw Davies 2f3ab0b242 iphlpapi: Implement GetUnicastIpAddressTable() on top of nsi.
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-07-20 12:16:10 +02:00
Huw Davies f1349aa514 iphlpapi: Return the TCPIP device name in MIB_IFROW.
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-07-09 11:00:56 +02:00
Huw Davies adea7b8f91 iphlpapi: Implement AllocateAndGetIfTableFromStack() on top of nsi.
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-07-09 11:00:54 +02:00