wireguard-go/tun
Simon Rozman 11f5780250 wintun: Revise interface creation wait
DIF_INSTALLDEVICE returns almost immediately, while the device
installation continues in the background. It might take a while, before
all registry keys and values are populated.

Previously, wireguard-go waited for HKLM\SYSTEM\CurrentControlSet\
Control\Class\{4D36E972-E325-11CE-BFC1-08002BE10318}\<id> registry key
only.

Followed by a SetInterfaceName() method of Wintun struct which tried to
access HKLM\SYSTEM\CurrentControlSet\Control\Network\
{4D36E972-E325-11CE-BFC1-08002BE10318}\<id>\Connection registry key
might not be available yet.

This commit loops until both registry keys are available before
returning from CreateInterface() function.

Signed-off-by: Simon Rozman <simon@rozman.si>
2019-03-07 21:12:20 +01:00
..
wintun wintun: Revise interface creation wait 2019-03-07 21:12:20 +01:00
helper_test.go global: begin modularization 2019-03-03 05:00:40 +01:00
tun_darwin.go tun: import mobile particularities 2019-03-04 16:37:11 +01:00
tun_freebsd.go tun: allow special methods in NativeTun 2019-03-01 00:05:57 +01:00
tun_linux.go tun: linux: work out netpoll trick 2019-03-07 01:51:41 +01:00
tun_openbsd.go tun: allow special methods in NativeTun 2019-03-01 00:05:57 +01:00
tun_windows.go wintun: Resolve some of golint warnings 2019-03-04 16:37:11 +01:00
tun.go tun: allow special methods in NativeTun 2019-03-01 00:05:57 +01:00