EtherGuard-VPN/tun/wintun/setupapi
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
..
mksyscall.go wintun: Introduce new package for obscuring Windows bits 2019-02-07 04:39:59 +01:00
setupapi_windows_test.go wintun: Revise interface creation wait 2019-03-07 21:12:20 +01:00
setupapi_windows.go wintun: Revise interface creation wait 2019-03-07 21:12:20 +01:00
types_windows.go setupapi: Merge _SP_DRVINFO_DETAIL_DATA and DrvInfoDetailData 2019-02-07 23:50:43 +01:00
zsetupapi_windows_test.go wintun: Introduce new package for obscuring Windows bits 2019-02-07 04:39:59 +01:00
zsetupapi_windows.go setupapi: Merge _SP_DRVINFO_DETAIL_DATA and DrvInfoDetailData 2019-02-07 23:50:43 +01:00