From e6626366a2b80d215c0a94bfd97f18d9efa5e4ab Mon Sep 17 00:00:00 2001 From: Brad Fitzpatrick Date: Tue, 11 Jan 2022 12:25:26 -0800 Subject: [PATCH] cmd/tailscale: let 'tailscale up --reset' do a pref edit The --reset shouldn't imply that a Backend.Start is necessary. With this, it can do a Backend.EditPrefs instead, which then doesn't do all the heavy work that Start does. Also, Start on Windows behaves slightly differently than Linux etc in some cases because of tailscaled running in client mode on Windows (where the GUI supplies the prefs). Fixes #3702 Change-Id: I75c9f08d5e0052bf623074030a3a7fcaa677abf6 Signed-off-by: Brad Fitzpatrick --- cmd/tailscale/cli/cli_test.go | 10 ++++++++++ cmd/tailscale/cli/up.go | 1 - 2 files changed, 10 insertions(+), 1 deletion(-) diff --git a/cmd/tailscale/cli/cli_test.go b/cmd/tailscale/cli/cli_test.go index fd1bd4891..7f00539e5 100644 --- a/cmd/tailscale/cli/cli_test.go +++ b/cmd/tailscale/cli/cli_test.go @@ -786,6 +786,16 @@ func TestUpdatePrefs(t *testing.T) { wantSimpleUp: true, wantJustEditMP: &ipn.MaskedPrefs{WantRunningSet: true}, }, + { + name: "just_edit_reset", + flags: []string{"--reset"}, + curPrefs: &ipn.Prefs{ + ControlURL: ipn.DefaultControlURL, + Persist: &persist.Persist{LoginName: "crawshaw.github"}, + }, + env: upCheckEnv{backendState: "Running"}, + wantJustEditMP: &ipn.MaskedPrefs{WantRunningSet: true}, + }, { name: "control_synonym", flags: []string{}, diff --git a/cmd/tailscale/cli/up.go b/cmd/tailscale/cli/up.go index d82fe68e3..77ea399d5 100644 --- a/cmd/tailscale/cli/up.go +++ b/cmd/tailscale/cli/up.go @@ -413,7 +413,6 @@ func updatePrefs(prefs, curPrefs *ipn.Prefs, env upCheckEnv) (simpleUp bool, jus justEdit := env.backendState == ipn.Running.String() && !env.upArgs.forceReauth && - !env.upArgs.reset && env.upArgs.authKeyOrFile == "" && !controlURLChanged && !tagsChanged