diff options
author | Jason A. Donenfeld <Jason@zx2c4.com> | 2019-08-29 12:30:00 -0600 |
---|---|---|
committer | Jason A. Donenfeld <Jason@zx2c4.com> | 2019-08-30 08:47:21 -0600 |
commit | 8bdd3390b3c9649334759bfe2bfbcde64dcda235 (patch) | |
tree | 1da4d20d700fb25df198117145a1a9e3e57e99cf | |
parent | elevate: ensure desktop token is opened with duplication allowed (diff) | |
download | wireguard-windows-8bdd3390b3c9649334759bfe2bfbcde64dcda235.tar.xz wireguard-windows-8bdd3390b3c9649334759bfe2bfbcde64dcda235.zip |
manager: adjust for wintun api changes
Also get rid of the "Local Area Connection" hack and "/wintun
/deleteall".
-rw-r--r-- | main.go | 29 | ||||
-rw-r--r-- | manager/interfacecleanup.go (renamed from manager/adaptercleanup.go) | 13 |
2 files changed, 4 insertions, 38 deletions
@@ -13,7 +13,6 @@ import ( "time" "golang.org/x/sys/windows" - "golang.zx2c4.com/wireguard/tun/wintun" "golang.zx2c4.com/wireguard/windows/elevate" "golang.zx2c4.com/wireguard/windows/manager" @@ -32,7 +31,6 @@ var flags = [...]string{ "/tunnelservice CONFIG_PATH", "/ui CMD_READ_HANDLE CMD_WRITE_HANDLE CMD_EVENT_HANDLE LOG_MAPPING_HANDLE", "/dumplog OUTPUT_PATH", - "/wintun /deleteall", } func fatal(v ...interface{}) { @@ -229,33 +227,6 @@ func main() { fatal(err) } return - case "/wintun": - if len(os.Args) < 3 { - usage() - } - switch os.Args[2] { - case "/deleteall": - if len(os.Args) != 3 { - usage() - } - deleted, rebootRequired, errors := wintun.DeleteAllInterfaces() - interfaceString := "no interfaces" - if len(deleted) > 0 { - interfaceString = fmt.Sprintf("interfaces %v", deleted) - } - errorString := "" - if len(errors) > 0 { - errorString = fmt.Sprintf(", encountering errors %v", errors) - } - rebootString := "" - if rebootRequired { - rebootString = " A reboot is required." - } - info("Wintun Cleanup", "Deleted %s%s.%s", interfaceString, errorString, rebootString) - return - default: - usage() - } } usage() } diff --git a/manager/adaptercleanup.go b/manager/interfacecleanup.go index 779e4b80..7b13b10c 100644 --- a/manager/adaptercleanup.go +++ b/manager/interfacecleanup.go @@ -7,18 +7,16 @@ package manager import ( "log" - "strings" "golang.org/x/sys/windows" "golang.org/x/sys/windows/svc" "golang.org/x/sys/windows/svc/mgr" - "golang.zx2c4.com/wireguard/tun/wintun" + + "golang.zx2c4.com/wireguard/tun" "golang.zx2c4.com/wireguard/windows/services" ) -const unnamedWintunInterface = "Local Area Connection" - func cleanupStaleAdapters() { defer printPanic() @@ -28,15 +26,12 @@ func cleanupStaleAdapters() { } defer m.Disconnect() - wintun.DeleteMatchingInterfaces(func(wintun *wintun.Wintun) bool { - interfaceName, err := wintun.InterfaceName() + tun.WintunPool.DeleteMatchingInterfaces(func(wintun *wintun.Interface) bool { + interfaceName, err := wintun.Name() if err != nil { log.Printf("Removing Wintun interface %s because determining interface name failed: %v", wintun.GUID().String(), err) return true } - if strings.HasPrefix(interfaceName, unnamedWintunInterface) { - return false - } serviceName, err := services.ServiceNameOfTunnel(interfaceName) if err != nil { log.Printf("Removing Wintun interface ā%sā because determining tunnel service name failed: %v", interfaceName, err) |