From a14d445fc7220c7c827a93a8a8c4970b45cf449c Mon Sep 17 00:00:00 2001 From: Brad Fitzpatrick Date: Sun, 9 Jan 2022 21:14:50 -0800 Subject: [PATCH] net/dns: make WSL network configuration opt-in for now Tailscale seems to be breaking WSL configurations lately. Until we understand what changed, turn off Tailscale's involvement by default and make it opt-in. Updates #2815 Change-Id: I9977801f8debec7d489d97761f74000a4a33f71b Signed-off-by: Brad Fitzpatrick (cherry picked from commit 8df3fa4638734ad6547e7a18b2a41301f9da6939) --- net/dns/manager_windows.go | 20 +++++++++++++------- 1 file changed, 13 insertions(+), 7 deletions(-) diff --git a/net/dns/manager_windows.go b/net/dns/manager_windows.go index f6eb7b3ff..83a54602d 100644 --- a/net/dns/manager_windows.go +++ b/net/dns/manager_windows.go @@ -7,8 +7,10 @@ package dns import ( "errors" "fmt" + "os" "os/exec" "sort" + "strconv" "strings" "syscall" "time" @@ -34,6 +36,8 @@ const ( versionKey = `SOFTWARE\Microsoft\Windows NT\CurrentVersion` ) +var configureWSL, _ = strconv.ParseBool(os.Getenv("TS_DEBUG_CONFIGURE_WSL")) + type windowsManager struct { logf logger.Logf guid string @@ -307,13 +311,15 @@ func (m windowsManager) SetDNS(cfg OSConfig) error { // On initial setup of WSL, the restart caused by --shutdown is slow, // so we do it out-of-line. - go func() { - if err := m.wslManager.SetDNS(cfg); err != nil { - m.logf("WSL SetDNS: %v", err) // continue - } else { - m.logf("WSL SetDNS: success") - } - }() + if configureWSL { + go func() { + if err := m.wslManager.SetDNS(cfg); err != nil { + m.logf("WSL SetDNS: %v", err) // continue + } else { + m.logf("WSL SetDNS: success") + } + }() + } return nil }