1f146a5e7a
wintun: expose version
2019-10-08 09:58:58 +02:00
cb8d01f58a
mod: bump versions
2019-10-04 11:41:02 +02:00
01f8ef4e84
winpipe: use x/sys/windows instead of syscall
2019-09-16 23:39:16 -06:00
70f6c42556
wintun: use correct length for security attributes
2019-09-16 19:38:33 -06:00
bb0b2514c0
tun: windows: unify error message format
2019-09-08 13:52:44 -05:00
4cd06c0925
tun: openbsd: check for interface already being up
...
In some cases, we operate on an already-up interface, or the user brings
up the interface before we start monitoring. For those situations, we
should first check if the interface is already up.
This still technically races between the initial check and the start of
the route loop, but fixing that is a bit ugly and probably not worth it
at the moment.
Reported-by: Theo Buehler <tb@theobuehler.org >
2019-09-07 00:13:23 -05:00
d12eb91f9a
namespaceapi: AddSIDToBoundaryDescriptor modifies the handle
2019-09-05 21:48:21 -06:00
73d3bd9cd5
wintun: take mutex first always
...
This prevents an ABA deadlock with setupapi's internal locks.
2019-09-01 21:32:28 -06:00
f3dba4c194
wintun: consider abandoned mutexes as released
2019-09-01 21:25:47 -06:00
950ca2ba8c
wintun: put mutex into private namespace
2019-08-30 11:03:21 -06:00
df2bf34373
namespaceapi: fix mistake
2019-08-30 09:59:36 -06:00
a12b765784
namespaceapi: initial version
...
Signed-off-by: Simon Rozman <simon@rozman.si >
2019-08-30 15:34:17 +02:00
14df9c3e75
wintun: take mutex so that deletion uses the right name
2019-08-30 15:34:17 +02:00
353f0956bc
wintun: move ring constants into module
2019-08-29 13:22:17 -06:00
fa7763c268
wintun: delete all interfaces is not used anymore
2019-08-29 12:22:15 -06:00
d94bae8348
wintun: Wintun->Interface
2019-08-29 12:20:40 -06:00
7689d09336
wintun: keep reference to pool in wintun object
2019-08-29 12:13:16 -06:00
69c26dc258
wintun: introduce adapter pools
...
This makes wintun package reusable for non-WireGuard applications.
Signed-off-by: Simon Rozman <simon@rozman.si >
2019-08-29 18:00:44 +02:00
e862131d3c
wintun: simplify rename logic
2019-08-28 19:31:20 -06:00
da28a3e9f3
wintun: give better errors when ndis interface listing fails
2019-08-28 08:39:26 -06:00
3bf3322b2c
wintun: also check for numbered suffix and friendly name
2019-08-28 08:08:07 -06:00
7305b4ce93
wintun: upgrade deleting all interfaces and make it reusable
...
DeleteAllInterfaces() didn't check if SPDRP_DEVICEDESC == "WireGuard
Tunnel". It deleted _all_ Wintun adapters, not just WireGuard's.
Furthermore, the DeleteAllInterfaces() was upgraded into a new function
called DeleteMatchingInterfaces() for selectively deletion. This will
be used by WireGuard to clean stale Wintun adapters.
Signed-off-by: Simon Rozman <simon@rozman.si >
2019-08-28 11:39:01 +02:00
26fb615b11
wintun: cleanup earlier
2019-08-27 11:59:15 -06:00
7fbb24afaa
wintun: rename duplicate adapters instead of ourselves
2019-08-27 11:59:15 -06:00
d9008ac35c
wintun: match suffix numbers
2019-08-26 14:46:43 -06:00
0c540ad60e
wintun: make description consistent across fields
2019-08-24 12:29:17 +02:00
3cedc22d7b
wintun: try multiple names until one isn't a duplicate
2019-08-22 08:52:59 +02:00
68fea631d8
wintun: use nci.dll directly instead of buggy netshell
2019-08-21 09:16:12 +02:00
ef23100a4f
wintun: set friendly a bit better
...
This is still wrong, but NETSETUPPKEY_Driver_FriendlyName seems a bit
tricky to use.
2019-08-20 16:06:55 +02:00
eb786cd7c1
wintun: also set friendly name after setting interface name
2019-08-19 10:12:50 +02:00
333de75370
wintun: defer requires unique variable
2019-08-19 10:12:50 +02:00
d20459dc69
wintun: set adapter description name
2019-08-19 10:12:50 +02:00
01786286c1
tun: windows: don't spin unless we really need it
2019-08-19 10:12:50 +02:00
b4010123f7
tun: windows: spin for only a millisecond/80
...
Performance stays the same as before.
2019-08-03 19:11:21 +02:00
1ff37e2b07
wintun: merge opening device registry key
...
This also introduces waiting for key to appear on initial access.
See if this resolves the issue caused by HDD power-up delay resulting in
failure to create the adapter.
Signed-off-by: Simon Rozman <simon@rozman.si >
2019-08-02 16:08:49 +02:00
f5e54932e6
wintun: simplify checking reboot requirement
...
We never checked checkReboot() reported error anyway.
Signed-off-by: Simon Rozman <simon@rozman.si >
2019-08-02 16:08:49 +02:00
73698066d1
wintun: refactor err == nil
error checking
...
Signed-off-by: Simon Rozman <simon@rozman.si >
2019-08-02 15:18:58 +02:00
05ece4d167
wintun: handle error for deadgwdetect
2019-08-02 14:37:09 +02:00
6d78f89557
tun: darwin: do not attempt to close tun.event twice
...
Previously it was possible for this to race. It turns out we really
don't need to set anything to -1 anyway.
2019-08-02 12:24:17 +02:00
a2249449d6
wintun: get interface path properly with cfgmgr
2019-07-23 14:58:46 +02:00
eeeac287ef
tun: windows: style
2019-07-23 11:45:48 +02:00
b5a7cbf069
wintun: simplify resolution of dev node
2019-07-23 11:45:13 +02:00
50cd522cb0
wintun: enable sharing of pnp node
2019-07-22 17:01:27 +02:00
5ba866a5c8
tun: windows: close event handle on shutdown
2019-07-22 09:37:20 +02:00
3341e2d444
tun: windows: get rid of retry logic
...
Things work fine on Windows 8.
2019-07-19 14:01:34 +02:00
1b550f6583
tun: windows: use specific IOCTL code
2019-07-19 08:30:19 +02:00
31ff9c02fe
tun: windows: open file at startup time
2019-07-18 19:27:27 +02:00
1e39c33ab1
tun: windows: silently drop packet when ring is full
2019-07-18 15:48:34 +02:00
6c50fedd8e
tun: windows: switch to NDIS device object
2019-07-18 12:26:57 +02:00
298d759f3e
wintun: calculate path of NDIS device object symbolic link
2019-07-18 10:25:20 +02:00