From f66dc8dc0ae1fd9db4ab977519fc98bb179d561e Mon Sep 17 00:00:00 2001 From: Chris Palmer Date: Fri, 27 Oct 2023 10:43:50 -0700 Subject: [PATCH] clientupdate: check for privileges earlier (#9964) Fixes #9963 Signed-off-by: Chris Palmer --- clientupdate/clientupdate.go | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/clientupdate/clientupdate.go b/clientupdate/clientupdate.go index b9d052618..2c49d9350 100644 --- a/clientupdate/clientupdate.go +++ b/clientupdate/clientupdate.go @@ -272,12 +272,12 @@ func (up *Updater) updateSynology() error { return fmt.Errorf("cannot find Synology package for os=%s arch=%s, please report a bug with your device model", osName, arch) } - if !up.confirm(latest.SPKsVersion) { - return nil - } if err := requireRoot(); err != nil { return err } + if !up.confirm(latest.SPKsVersion) { + return nil + } // Download the SPK into a temporary directory. spkDir, err := os.MkdirTemp("", "tailscale-update") @@ -716,12 +716,12 @@ func (up *Updater) updateWindows() error { arch = "x86" } - if !up.confirm(ver) { - return nil - } if !winutil.IsCurrentProcessElevated() { return errors.New("must be run as Administrator") } + if !up.confirm(ver) { + return nil + } tsDir := filepath.Join(os.Getenv("ProgramData"), "Tailscale") msiDir := filepath.Join(tsDir, "MSICache") @@ -914,13 +914,13 @@ func (up *Updater) updateLinuxBinary() error { if err != nil { return err } - if !up.confirm(ver) { - return nil - } // Root is needed to overwrite binaries and restart systemd unit. if err := requireRoot(); err != nil { return err } + if !up.confirm(ver) { + return nil + } dlPath, err := up.downloadLinuxTarball(ver) if err != nil {