diff options
author | Jason A. Donenfeld <Jason@zx2c4.com> | 2019-07-18 12:26:57 +0200 |
---|---|---|
committer | Jason A. Donenfeld <Jason@zx2c4.com> | 2019-07-18 12:26:57 +0200 |
commit | 6c50fedd8eecc6cb06d8da47514794eb211d5b3a (patch) | |
tree | c8895ef44ef915021770ac274693cb59811d4cea | |
parent | 298d759f3efba6b90ea70838d190959b39c5be57 (diff) |
tun: windows: switch to NDIS device object
-rw-r--r-- | tun/tun_windows.go | 8 | ||||
-rw-r--r-- | tun/wintun/wintun_windows.go | 5 |
2 files changed, 6 insertions, 7 deletions
diff --git a/tun/tun_windows.go b/tun/tun_windows.go index d22e130..21bc382 100644 --- a/tun/tun_windows.go +++ b/tun/tun_windows.go @@ -146,13 +146,17 @@ func CreateTUNWithRequestedGUID(ifname string, requestedGUID *windows.GUID) (Dev } func (tun *NativeTun) openTUN() error { + filename, err := tun.wt.NdisFileName() + if err != nil { + return err + } + retries := maybeRetry(retryTimeout * retryRate) if tun.close { return os.ErrClosed } - var err error - name, err := windows.UTF16PtrFromString(tun.wt.DataFileName()) + name, err := windows.UTF16PtrFromString(filename) if err != nil { return err } diff --git a/tun/wintun/wintun_windows.go b/tun/wintun/wintun_windows.go index 160d51f..e8eadf5 100644 --- a/tun/wintun/wintun_windows.go +++ b/tun/wintun/wintun_windows.go @@ -612,11 +612,6 @@ func (wintun *Wintun) deviceData() (setupapi.DevInfo, *setupapi.DevInfoData, err return 0, nil, windows.ERROR_OBJECT_NOT_FOUND } -// DataFileName returns the Wintun device data pipe name. -func (wintun *Wintun) DataFileName() string { - return fmt.Sprintf("\\\\.\\Global\\WINTUN%d", wintun.luidIndex) -} - // NdisFileName returns the Wintun NDIS device object name. func (wintun *Wintun) NdisFileName() (string, error) { key, err := registry.OpenKey(registry.LOCAL_MACHINE, wintun.netRegKeyName(), registry.QUERY_VALUE) |