version: fix CmdName on the tailscale-ipn.exe binary

Don't return "wg64", "wg32", etc.

Signed-off-by: Brad Fitzpatrick <bradfitz@tailscale.com>
This commit is contained in:
Brad Fitzpatrick
2021-09-20 14:35:19 -07:00
committed by Brad Fitzpatrick
parent 93c2882a2f
commit 2db877caa3
2 changed files with 27 additions and 2 deletions

View File

@ -26,13 +26,16 @@ func CmdName() string {
if err != nil {
return "cmd"
}
return cmdName(e)
}
func cmdName(exe string) string {
// fallbackName, the lowercase basename of the executable, is what we return if
// we can't find the Go module metadata embedded in the file.
fallbackName := filepath.Base(strings.TrimSuffix(strings.ToLower(e), ".exe"))
fallbackName := filepath.Base(strings.TrimSuffix(strings.ToLower(exe), ".exe"))
var ret string
info, err := findModuleInfo(e)
info, err := findModuleInfo(exe)
if err != nil {
return fallbackName
}
@ -45,6 +48,12 @@ func CmdName() string {
break
}
}
if strings.HasPrefix(ret, "wg") && fallbackName == "tailscale-ipn" {
// The tailscale-ipn.exe binary for internal build system packaging reasons
// has a path of "tailscale.io/win/wg64", "tailscale.io/win/wg32", etc.
// Ignore that name and use "tailscale-ipn" instead.
return fallbackName
}
if ret == "" {
return fallbackName
}