From 3d57c885bf250437e3f7765c04a5309911c30520 Mon Sep 17 00:00:00 2001 From: Adrian Dewhurst Date: Tue, 2 Jan 2024 20:19:01 -0500 Subject: [PATCH] logpolicy: use syspolicy to override LogTarget Previously, for Windows clients only, a registry value named LogTarget could override the log server, but only if the environment variable was unset. To allow administrators to enforce using a particular log server, switch this to make the registry value take precedence over the environment variable, and switch to the newer syspolicy.GetString so that the log target can be specified by a GPO more easily. Updates ENG-2515 Change-Id: Ia618986b0e07715d7db4c6df170a24d511c904c9 Signed-off-by: Adrian Dewhurst --- logpolicy/logpolicy.go | 12 +++--------- 1 file changed, 3 insertions(+), 9 deletions(-) diff --git a/logpolicy/logpolicy.go b/logpolicy/logpolicy.go index 2c41c4664..75885d8e0 100644 --- a/logpolicy/logpolicy.go +++ b/logpolicy/logpolicy.go @@ -48,8 +48,8 @@ import ( "tailscale.com/util/clientmetric" "tailscale.com/util/must" "tailscale.com/util/racebuild" + "tailscale.com/util/syspolicy" "tailscale.com/util/testenv" - "tailscale.com/util/winutil" "tailscale.com/version" "tailscale.com/version/distro" ) @@ -61,14 +61,8 @@ var getLogTargetOnce struct { func getLogTarget() string { getLogTargetOnce.Do(func() { - if val, ok := os.LookupEnv("TS_LOG_TARGET"); ok { - getLogTargetOnce.v = val - } else { - if runtime.GOOS == "windows" { - logTarget, _ := winutil.GetRegString("LogTarget") - getLogTargetOnce.v = logTarget - } - } + envTarget, _ := os.LookupEnv("TS_LOG_TARGET") + getLogTargetOnce.v, _ = syspolicy.GetString(syspolicy.LogTarget, envTarget) }) return getLogTargetOnce.v