Paul Gofman
50c27f88e3
nsiproxy.sys: Update interface table only if LUID is not found in convert_unix_name_to_luid().
...
Signed-off-by: Paul Gofman <pgofman@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-05-17 16:49:15 +02:00
Paul Gofman
1f3c1fdbc7
nsiproxy.sys: Update interface table only if LUID is not found in convert_luid_to_unix_name().
...
Signed-off-by: Paul Gofman <pgofman@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-05-17 16:49:13 +02:00
Paul Gofman
8e756fe5ac
nsiproxy.sys: Finish search once found in convert_luid_to_unix_name().
...
Signed-off-by: Paul Gofman <pgofman@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-05-17 16:49:12 +02:00
Paul Gofman
42bf766866
nsiproxy.sys: Update interface table only if find_entry_from_{luid|index} fails.
...
Signed-off-by: Paul Gofman <pgofman@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-05-17 16:49:10 +02:00
Chip Davis
2264663c74
nsiproxy.sys: Implement IPv6 ipstats get_all_parameters on Mac OS and BSD.
...
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-05-13 22:11:41 +02:00
Chip Davis
84e9696078
nsiproxy.sys: Implement IPv6 icmpstats get_all_parameters on Mac OS and BSD.
...
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-05-13 22:11:41 +02:00
Chip Davis
0a70e1ac63
configure: Check for struct icmpstat.
...
NetBSD no longer has statistics structures. Instead, it stores them as
arrays of integer counters. It's backwards compatible with the old
statistics structures, but the struct definitions are missing. This has
likely been broken on NetBSD for quite some time as a result.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-05-13 22:11:41 +02:00
Eric Pouech
d0833a0edf
nsiproxy: Enable compilation with long types.
...
Signed-off-by: Eric Pouech <eric.pouech@gmail.com>
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-04-25 11:37:40 +02:00
Eric Pouech
73974636bd
nsiproxy: Add intermediate variables for sscanf on ULONG.
...
Signed-off-by: Eric Pouech <eric.pouech@gmail.com>
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-04-25 11:37:36 +02:00
Eric Pouech
ff51493574
nsiproxy: Don't use long types for local types.
...
Signed-off-by: Eric Pouech <eric.pouech@gmail.com>
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-04-25 11:37:33 +02:00
Eric Pouech
f34f38bc20
nsiproxy: Don't use long types in internal structure / helpers.
...
Signed-off-by: Eric Pouech <eric.pouech@gmail.com>
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-04-25 11:37:30 +02:00
Paul Gofman
6ba4c31e9d
nsiproxy: Avoid redundant pid mapping in tcp_conns_enumerate_all().
...
Signed-off-by: Paul Gofman <pgofman@codeweavers.com>
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-03-23 18:42:13 +01:00
Eric Pouech
03ad57d2d0
nsiproxy.sys: Explicitly check for recvmsg() failure.
...
Signed-off-by: Eric Pouech <eric.pouech@gmail.com>
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-03-11 09:31:46 +01:00
Alexandre Julliard
f0cd33c69e
include: Add support for defining Win32 types as 'long' where possible.
...
Add -DWINE_NO_LONG_TYPES to modules that still have compilation
warnings with long types.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-01-27 20:38:22 +01:00
Huw Davies
65f04bcc97
nsiproxy: Allow the name length to be IFNAMSIZ - 1.
...
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=52214
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-12-23 09:59:04 +01:00
Alex Henrie
06923f61e2
nsiproxy: Fix use after free in icmp_send_echo (scan-build).
...
Signed-off-by: Alex Henrie <alexhenrie24@gmail.com>
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-12-21 10:26:43 +01:00
Alex Henrie
cf7dd52091
nsiproxy: Fix memory leaks on error paths in get_ipv6_addr_scope_table (cppcheck).
...
Signed-off-by: Alex Henrie <alexhenrie24@gmail.com>
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-12-20 10:13:52 +01:00
Alexandre Julliard
e5d69d9ee6
configure: Assume that sys/ioctl.h is available on Unix.
...
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-12-09 18:43:51 +01:00
Alexandre Julliard
a7ac3de3b3
configure: Assume that sys/socket.h is available on Unix.
...
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-12-09 18:43:51 +01:00
Alexandre Julliard
13ec7952e0
configure: Assume that unistd.h is available on Unix.
...
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-12-09 18:43:51 +01:00
Alexandre Julliard
f8faa8ced5
configure: Assume that dirent.h is available on Unix.
...
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-12-09 18:43:50 +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
Gabriel Ivăncescu
2b13a6be44
nsiproxy: Use a context and fill the reply using a family op.
...
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:34 +01:00
Gabriel Ivăncescu
5cd42975c3
nsiproxy: Fill the reply when it's not pending on the unix-side.
...
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:27 +01:00
Gabriel Ivăncescu
5e8bd4d38e
nsiproxy: Move set_reply_ip_status to a family op.
...
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:14 +01:00
Jacek Caban
a7ecf08040
include: Don't use DECLSPEC_HIDDEN for NTSYSAPI in Unix libs.
...
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-10-05 20:09:20 +02:00
Huw Davies
19a6d409c0
nsiproxy: Implement the ability to cancel the listener.
...
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-10-05 11:31:48 +02:00
Huw Davies
881577deaf
nsiproxy: Add support for parsing other icmp packets.
...
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-10-05 11:31:47 +02:00
Huw Davies
fffd222b3d
nsiproxy: Parse any received ICMP_ECHO_REPLY.
...
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-10-05 11:31:47 +02:00
Huw Davies
aa73a91125
nsiproxy: Wait for an icmp reply.
...
This patch doesn't yet recv() that reply.
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-10-05 11:31:47 +02:00
Huw Davies
be0765ac26
nsiproxy: Pass the listen request off to a separate thread.
...
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-10-05 11:31:47 +02:00
Huw Davies
20fb14bf27
nsiproxy: Introduce a unix-side handle returned by icmp_send_echo().
...
This represents the state of the icmp request for use on the PE-side.
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-10-04 15:51:24 +02:00
Huw Davies
aa4e0d466b
nsiproxy: Actually send the ICMP ECHO request.
...
However, don't yet wait for the reply.
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-10-04 15:51:02 +02:00
Huw Davies
f59a64144b
nsiproxy: Introduce IOCTL_NSIPROXY_WINE_ICMP_ECHO.
...
With this patch the irp is simply marked as pending and transferred to
the request thread which completes the irp with STATUS_NOT_SUPPORTED.
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-10-04 15:50:34 +02:00
Huw Davies
7ed25b6c16
nsiproxy: Let the general dispatch function update the irp's status.
...
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-10-04 15:50:18 +02:00
Huw Davies
ef45e11918
nsiproxy: Rename private unixlib header to unix_private.h.
...
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-10-04 15:50:08 +02:00
Huw Davies
37097b9687
nsiproxy: Build with msvcrt.
...
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-10-01 16:43:26 +02:00
Huw Davies
f6917badf1
nsiproxy: Switch memory allocations to malloc().
...
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-10-01 16:39:55 +02:00
Huw Davies
280999aee2
nsiproxy: Use an ascii version of str(n)casecmp() instead of _strnicmp().
...
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-10-01 16:39:53 +02:00
Huw Davies
7199f32c0b
nsiproxy: Use a pthread_mutex to guard the interface list.
...
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-10-01 16:39:50 +02:00
Alexandre Julliard
6ba7773121
makefiles: Add a -mcygwin flag to specify the inverse of -mno-cygwin.
...
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-09-20 22:45:48 +02:00
Zebediah Figura
f18d72ac18
nsiproxy: Return the IOSB status from nsi_ioctl().
...
Signed-off-by: Zebediah Figura <zfigura@codeweavers.com>
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-09-13 11:30:25 +02:00
Gerald Pfeifer
fa6e791ca5
nsiproxy: Include sys/param.h from udp.c.
...
udp.c features specific code to handle versions of FreeBSD past early
12.0 snapshots. This is guarded by a check on __FreeBSD_version which
is defined in sys/param.h. Actually including that, like tcp.c already
does, activates that check and adjusted code and unbreaks the build.
Signed-off-by: Gerald Pfeifer <gerald@FreeBSD.org>
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-09-07 10:17:07 +02:00
Zebediah Figura
bd1aed5319
nsiproxy: Return STATUS_BUFFER_OVERFLOW to signal short buffers.
...
STATUS_MORE_ENTRIES is used for directory enumeration APIs, and signals that a
continuation will be returned on the next call.
Signed-off-by: Zebediah Figura <zfigura@codeweavers.com>
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-08-31 10:57:23 +02:00
Gerald Pfeifer
a1cc71207c
nsiproxy: Include sys/queue.h from tcp.c.
...
In what looks like a change between FreeBSD 11 and later versions
(FreeBSD 12 and 13), we now need to explicitly include sys/queue.h
to avoid
In file included from dlls/nsiproxy.sys/tcp.c:42:
/usr/include/netinet/tcp_var.h:516:2: error:
expected specifier-qualifier-list before 'TAILQ_ENTRY'
516 | TAILQ_ENTRY(tcptw) tw_2msl;
Signed-off-by: Gerald Pfeifer <gerald@pfeifer.com>
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-08-25 10:39:41 +02:00
Gerald Pfeifer
f153ce2dab
nsiproxy: Include netinet/in.h in udp.c.
...
This is necessary to define struct in_addr which is used by
netinet/ip.h on FreeBSD.
Signed-off-by: Gerald Pfeifer <gerald@pfeifer.com>
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-08-23 11:48:54 +02:00
Gerald Pfeifer
c5d9f2f7c6
nsiproxy: Add $(PROCSTAT_LIBS) to EXTRALIBS.
...
We try to use libprocstat on non-Linux platforms and detect its
presence in the configure phase. Make sure we actually link this
library in that case by adding $(PROCSTAT_LIBS) to EXTRALIBS.
Signed-off-by: Gerald Pfeifer <gerald@pfeifer.com>
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-08-20 17:34:56 +02:00
Gerald Pfeifer
070185c341
nsiproxy: Include sys/types.h from udp.c.
...
This addresses failures like
In file included from dlls/nsiproxy.sys/udp.c:34:
In file included from /usr/include/sys/socketvar.h:38:
In file included from /usr/include/sys/selinfo.h:36:
/usr/include/sys/event.h:77:2: error: unknown type name 'u_short'
on non-Linux platforms.
Signed-off-by: Gerald Pfeifer <gerald@pfeifer.com>
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-08-20 17:34:56 +02:00
Gerald Pfeifer
b13c024d64
nsiproxy: Include stddef.h.
...
This is needed for size_t, which on FreeBSD is used by sys/sysctl.h.
Signed-off-by: Gerald Pfeifer <gerald@pfeifer.com>
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-08-19 11:15:59 +02:00
Gerald Pfeifer
823532bd3a
nsiproxy: Include netinet/in_pcb.h.
...
Signed-off-by: Gerald Pfeifer <gerald@pfeifer.com>
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-08-19 11:15:52 +02:00