diff options
author | Jason A. Donenfeld <Jason@zx2c4.com> | 2020-11-22 21:37:41 +0100 |
---|---|---|
committer | Jason A. Donenfeld <Jason@zx2c4.com> | 2020-11-22 22:00:33 +0100 |
commit | 9f60678e039e7c51d83712df95b7b2396c12e00f (patch) | |
tree | 1347217b3deda9a4ce5599d2a6916da78ca7c155 /tunnel/scriptrunner.go | |
parent | build: use newer version of go in makefile (diff) | |
download | wireguard-windows-9f60678e039e7c51d83712df95b7b2396c12e00f.tar.xz wireguard-windows-9f60678e039e7c51d83712df95b7b2396c12e00f.zip |
tunnel: set %WIREGUARD_INTERFACE_NAME% instead of expanding %i
While this diverges from wg-quick(8), it's also much more
Windows-friendly, considering that % is the prefix for expanding
environment variables in cmd.exe.
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
Diffstat (limited to '')
-rw-r--r-- | tunnel/scriptrunner.go | 3 |
1 files changed, 1 insertions, 2 deletions
diff --git a/tunnel/scriptrunner.go b/tunnel/scriptrunner.go index ba6aec9b..670bb2a1 100644 --- a/tunnel/scriptrunner.go +++ b/tunnel/scriptrunner.go @@ -11,7 +11,6 @@ import ( "log" "os" "path/filepath" - "strings" "syscall" "golang.org/x/sys/windows" @@ -27,7 +26,6 @@ func runScriptCommand(command, interfaceName string) error { log.Printf("Skipping execution of script, because dangerous script execution is safely disabled: %#q", command) return nil } - command = strings.ReplaceAll(command, "%i", interfaceName) log.Printf("Executing: %#q", command) comspec, _ := os.LookupEnv("COMSPEC") if len(comspec) == 0 { @@ -49,6 +47,7 @@ func runScriptCommand(command, interfaceName string) error { } process, err := os.StartProcess(comspec, nil /* CmdLine below */, &os.ProcAttr{ Files: []*os.File{devNull, writer, writer}, + Env: append(os.Environ(), "WIREGUARD_TUNNEL_NAME="+interfaceName), Sys: &syscall.SysProcAttr{ HideWindow: true, CmdLine: fmt.Sprintf("cmd /c %s", command), |