Simon Rozman
7e962a9932
wintun: wait for interface registry key on device creation
...
By using RegNotifyChangeKeyValue(). Also disable dead gateway detection.
Signed-off-by: Simon Rozman <simon@rozman.si>
2019-05-10 16:43:58 +02:00
Jason A. Donenfeld
586112b5d7
conn: remove scope when sanity checking IP address format
2019-05-09 15:42:35 +02:00
Simon Rozman
dcb8f1aa6b
wintun: fix GUID leading zero padding
...
Signed-off-by: Simon Rozman <simon@rozman.si>
2019-05-09 12:16:21 +02:00
Jason A. Donenfeld
b16b0e4cf7
mod: update deps
2019-05-03 09:37:29 +02:00
Jason A. Donenfeld
81ca08f1b3
setupapi: safer aliasing of slice types
2019-05-03 09:34:00 +02:00
Jason A. Donenfeld
2e988467c2
wintun: work around GetInterface staleness bug
2019-05-03 00:42:36 +02:00
Jason A. Donenfeld
46dbf54040
wintun: don't retry when not creating
...
The only time we're trying to counteract the race condition is when
we're creating a driver. When we're simply looking up all drivers, it
doesn't make sense to retry.
2019-05-02 23:53:15 +02:00
Jason A. Donenfeld
247e14693a
wintun: try harder to open registry key
...
This sucks. Can we please find a deterministic way of doing this
instead?
2019-04-29 14:00:49 +02:00
Jason A. Donenfeld
3945a299ff
go.mod: use vendored winio
2019-04-29 08:09:38 +02:00
Jason A. Donenfeld
bb42ec7d18
tun: freebsd: work around numerous kernel panics on shutdown
...
There are numerous race conditions. But even this will crash it:
while true; do ifconfig tun0 create; ifconfig tun0 destroy; done
It seems like LLv6 is related, which we're not using anyway, so
explicitly disable it on the interface.
2019-04-23 18:00:23 +09:00
Simon Rozman
f1dc167901
setupapi: Fix struct size mismatches
...
Signed-off-by: Simon Rozman <simon@rozman.si>
2019-04-19 10:08:11 +02:00
Jason A. Donenfeld
c7a26dfef3
setupapi: actually fix padding by rounding up to sizeof(void*)
2019-04-19 10:19:00 +09:00
Jason A. Donenfeld
d024393335
tun: darwin: write routeSocket variable in helper
...
Otherwise the race detector "complains".
2019-04-19 07:53:19 +09:00
Jason A. Donenfeld
d9078fe772
main: revise warnings
2019-04-19 07:48:09 +09:00
Jason A. Donenfeld
d3dd991e4e
device: send: check packet length before freeing element
2019-04-18 23:23:03 +09:00
Simon Rozman
5811447b38
setupapi: Revise DrvInfoDetailData struct size calculation
...
Go adds trailing padding to DrvInfoDetailData struct in GOARCH=386 which
confuses SetupAPI expecting exactly sizeof(SP_DRVINFO_DETAIL_DATA).
Signed-off-by: Simon Rozman <simon@rozman.si>
2019-04-18 10:39:22 +02:00
Jason A. Donenfeld
e0a8c22aa6
windows: use proper constants from updated x/sys
2019-04-13 02:02:02 +02:00
Jason A. Donenfeld
0b77bf78cd
conn: linux: RTA_MARK has moved to x/sys
2019-04-13 02:01:20 +02:00
Simon Rozman
ef5f3ad80a
tun: windows: Adopt new error codes returned by Wintun
...
Signed-off-by: Simon Rozman <simon@rozman.si>
2019-04-11 19:38:11 +02:00
Simon Rozman
a291fdd746
tun: windows: do not sleep after OPERATION_ABORTED on write
...
Signed-off-by: Simon Rozman <simon@rozman.si>
2019-04-11 19:37:04 +02:00
Jason A. Donenfeld
d50e390904
main_windows: use proper version constant
2019-04-09 10:45:40 +02:00
Jason A. Donenfeld
18fa270472
version: put version in right place
2019-04-09 10:39:48 +02:00
Jason A. Donenfeld
f156a53ff4
version: bump snapshot
2019-04-09 07:37:22 +02:00
Jason A. Donenfeld
e680008700
tun: windows: do not sleep after OPERATION_ABORTED
2019-04-09 07:36:03 +02:00
Simon Rozman
767c86f8cb
tun: windows: Retry R/W on ERROR_OPERATION_ABORTED
...
Signed-off-by: Simon Rozman <simon@rozman.si>
2019-04-04 09:20:18 +02:00
Simon Rozman
421c1f9143
tun: windows: Attempt to reopen handle on all errors
...
Signed-off-by: Simon Rozman <simon@rozman.si>
2019-04-03 05:41:38 +02:00
Jason A. Donenfeld
ac25702eaf
wintun: rename device using undocumented API that netsh.exe uses
2019-04-01 12:04:44 +02:00
Jason A. Donenfeld
92f8474832
wintun: add more retry loops
2019-04-01 09:07:43 +02:00
Jason A. Donenfeld
2e0ed4614a
tun: windows: cancel ongoing reads on closing and delete after close
...
This reverts commit 52ec440d79
and adds
some spice.
2019-03-26 16:14:32 +01:00
Jason A. Donenfeld
2fa80c0cb7
wintun: query for NetCfgInstanceId several times
2019-03-22 16:48:40 -06:00
Jason A. Donenfeld
52ec440d79
tun: windows: delete interface before deleting file handles
2019-03-22 16:45:58 -06:00
Simon Rozman
2faf2dcf90
tun: windows: Make adapter rename asynchronous
...
Signed-off-by: Simon Rozman <simon@rozman.si>
2019-03-22 16:36:30 +01:00
Simon Rozman
41c30a7279
tun: windows: Adapter devices renamed to WINTUN<LUID Index>
...
Signed-off-by: Simon Rozman <simon@rozman.si>
2019-03-22 15:29:14 +01:00
Simon Rozman
4b1db1d39b
tun: windows: Increase unavailable adapter timeout to 30sec
...
5 seconds was too short when debugging.
Signed-off-by: Simon Rozman <simon@rozman.si>
2019-03-22 13:52:51 +01:00
Simon Rozman
a80db5e65e
tun: windows: Make writing persistent too
...
Signed-off-by: Simon Rozman <simon@rozman.si>
2019-03-22 13:52:51 +01:00
Simon Rozman
9748a52073
tun: windows: Fix paused adapter test
...
Signed-off-by: Simon Rozman <simon@rozman.si>
2019-03-22 13:52:51 +01:00
Jason A. Donenfeld
317d716d66
tun: windows: just open two file handles
2019-03-21 15:20:09 -06:00
Jason A. Donenfeld
6440f010ee
receive: implement flush semantics
2019-03-21 14:45:41 -06:00
Jason A. Donenfeld
49ea0c9b1a
tun: windows: add dummy overlapped events back
...
These seem basically wrong to me, but we get crashes without them.
2019-03-21 02:29:09 -06:00
Jason A. Donenfeld
ca59b60aa7
tun: windows: use new constants in sys
2019-03-20 23:42:30 -06:00
Jason A. Donenfeld
c050c6e60f
uapi: remove unhelpful log messages
2019-03-20 23:40:20 -06:00
Simon Rozman
91b4e909bb
wintun: Use native Win32 API for I/O
...
Signed-off-by: Simon Rozman <simon@rozman.si>
2019-03-21 00:56:45 +01:00
Jason A. Donenfeld
2c51d6af48
uapi: report endpoint error
2019-03-19 00:34:04 -06:00
Jason A. Donenfeld
03f2e2614a
tun: windows: wintun does iocp
2019-03-18 02:42:45 -06:00
Jason A. Donenfeld
b0e0ab308d
tun: windows: temporary hack for forcing MTU
2019-03-13 02:52:32 -06:00
Jason A. Donenfeld
66fb5caf02
wintun: Poll more often
2019-03-10 03:47:54 +01:00
Jason A. Donenfeld
3dd9a0535f
uapi: make ipcerror conform to interface
2019-03-10 02:49:44 +01:00
Simon Rozman
c2a2b8d739
wintun: Make errors more descriptive
...
Signed-off-by: Simon Rozman <simon@rozman.si>
2019-03-08 10:03:57 +01:00
Simon Rozman
70449f1a97
wintun: Return correct reboot-req flag on CreateInterface() error too
...
Signed-off-by: Simon Rozman <simon@rozman.si>
2019-03-08 10:03:57 +01:00
Simon Rozman
33c3528430
wintun: Fix double-quoted strings escaping on output
...
Signed-off-by: Simon Rozman <simon@rozman.si>
2019-03-08 10:03:57 +01:00