summaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
authorJason A. Donenfeld <Jason@zx2c4.com>2019-07-18 12:26:57 +0200
committerJason A. Donenfeld <Jason@zx2c4.com>2019-07-18 12:26:57 +0200
commit6c50fedd8eecc6cb06d8da47514794eb211d5b3a (patch)
treec8895ef44ef915021770ac274693cb59811d4cea
parent298d759f3efba6b90ea70838d190959b39c5be57 (diff)
tun: windows: switch to NDIS device object
-rw-r--r--tun/tun_windows.go8
-rw-r--r--tun/wintun/wintun_windows.go5
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)