From 6d48a54b3d144e1850a51aa4c9abeed9ad43a6b6 Mon Sep 17 00:00:00 2001 From: Mihai Parparita Date: Tue, 15 Nov 2022 16:55:27 -0800 Subject: [PATCH] version: make IsSandboxedMacOS handle the IPNExtension binary too It was previously only invoked from the CLI, which only runs from the main .app. However, starting with #6022 we also invoke it from the network extension. Signed-off-by: Mihai Parparita --- version/prop.go | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/version/prop.go b/version/prop.go index 68817c894..1a6b2056b 100644 --- a/version/prop.go +++ b/version/prop.go @@ -31,8 +31,9 @@ func OS() string { } // IsSandboxedMacOS reports whether this process is a sandboxed macOS -// process. It is true for the Mac App Store and macsys (System -// Extension) version on macOS, and false for tailscaled-on-macOS. +// process (either the app or the extension). It is true for the Mac App Store +// and macsys (System Extension) version on macOS, and false for +// tailscaled-on-macOS. func IsSandboxedMacOS() bool { if runtime.GOOS != "darwin" { return false @@ -41,7 +42,7 @@ func IsSandboxedMacOS() bool { return true } exe, _ := os.Executable() - return strings.HasSuffix(exe, "/Contents/MacOS/Tailscale") + return strings.HasSuffix(exe, "/Contents/MacOS/Tailscale") || strings.HasSuffix(exe, "/Contents/MacOS/IPNExtension") } var isMacSysExt syncs.AtomicValue[bool]