|
|
@@ -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
|
|
|
}
|