diff options
author | Jason A. Donenfeld <Jason@zx2c4.com> | 2020-11-09 13:21:46 +0100 |
---|---|---|
committer | Jason A. Donenfeld <Jason@zx2c4.com> | 2020-11-10 17:35:01 +0100 |
commit | aa7475e9915d2a35f3bed0c5de379323d30e2f8e (patch) | |
tree | 1c8b50e02f2d709b8e3fb8bf2631f8c312e2a70c | |
parent | syntax: trim the text returned by EM_GETTEXTEX (diff) | |
download | wireguard-windows-aa7475e9915d2a35f3bed0c5de379323d30e2f8e.tar.xz wireguard-windows-aa7475e9915d2a35f3bed0c5de379323d30e2f8e.zip |
main: add command line adapter cleanup
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
-rw-r--r-- | main.go | 25 |
1 files changed, 25 insertions, 0 deletions
@@ -14,6 +14,7 @@ import ( "time" "golang.org/x/sys/windows" + "golang.zx2c4.com/wireguard/tun" "golang.zx2c4.com/wireguard/windows/elevate" "golang.zx2c4.com/wireguard/windows/l18n" @@ -49,6 +50,7 @@ func usage() { "/ui CMD_READ_HANDLE CMD_WRITE_HANDLE CMD_EVENT_HANDLE LOG_MAPPING_HANDLE", "/dumplog OUTPUT_PATH", "/update [LOG_FILE]", + "/removealladapters [LOG_FILE]", } builder := strings.Builder{} for _, flag := range flags { @@ -250,6 +252,29 @@ func main() { } } return + case "/removealladapters": + if len(os.Args) != 2 && len(os.Args) != 3 { + usage() + } + var f *os.File + var err error + if len(os.Args) == 2 { + f = os.Stdout + } else { + f, err = os.Create(os.Args[2]) + if err != nil { + fatal(err) + } + defer f.Close() + } + log.SetOutput(f) + rebootRequired, err := tun.WintunPool.DeleteDriver() + if err != nil { + log.Printf("Error: %v\n", err) + } else if rebootRequired { + log.Println("A reboot may be required") + } + return } usage() } |