mirror of
https://github.com/tailscale/tailscale.git
synced 2025-04-21 06:01:42 +00:00
clientupdate: check whether running as root early (#10161)
Check for root early, before we fetch the pkgs index. This avoids several seconds delay for the command to tell you to sudo. Updates #cleanup Signed-off-by: Andrew Lytvynov <awly@tailscale.com>
This commit is contained in:
parent
9b158db2c6
commit
63062abadc
@ -260,6 +260,9 @@ func (up *Updater) updateSynology() error {
|
|||||||
if up.Version != "" {
|
if up.Version != "" {
|
||||||
return errors.New("installing a specific version on Synology is not supported")
|
return errors.New("installing a specific version on Synology is not supported")
|
||||||
}
|
}
|
||||||
|
if err := requireRoot(); err != nil {
|
||||||
|
return err
|
||||||
|
}
|
||||||
|
|
||||||
// Get the latest version and list of SPKs from pkgs.tailscale.com.
|
// Get the latest version and list of SPKs from pkgs.tailscale.com.
|
||||||
dsmVersion := distro.DSMVersion()
|
dsmVersion := distro.DSMVersion()
|
||||||
@ -277,9 +280,6 @@ 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)
|
return fmt.Errorf("cannot find Synology package for os=%s arch=%s, please report a bug with your device model", osName, arch)
|
||||||
}
|
}
|
||||||
|
|
||||||
if err := requireRoot(); err != nil {
|
|
||||||
return err
|
|
||||||
}
|
|
||||||
if !up.confirm(latest.SPKsVersion) {
|
if !up.confirm(latest.SPKsVersion) {
|
||||||
return nil
|
return nil
|
||||||
}
|
}
|
||||||
@ -713,14 +713,6 @@ func (up *Updater) updateWindows() error {
|
|||||||
up.Logf("success.")
|
up.Logf("success.")
|
||||||
return nil
|
return nil
|
||||||
}
|
}
|
||||||
ver, err := requestedTailscaleVersion(up.Version, up.track)
|
|
||||||
if err != nil {
|
|
||||||
return err
|
|
||||||
}
|
|
||||||
arch := runtime.GOARCH
|
|
||||||
if arch == "386" {
|
|
||||||
arch = "x86"
|
|
||||||
}
|
|
||||||
|
|
||||||
if !winutil.IsCurrentProcessElevated() {
|
if !winutil.IsCurrentProcessElevated() {
|
||||||
return errors.New(`update must be run as Administrator
|
return errors.New(`update must be run as Administrator
|
||||||
@ -730,6 +722,14 @@ you can run the command prompt as Administrator one of these ways:
|
|||||||
* press Windows+x, then press a
|
* press Windows+x, then press a
|
||||||
* press Windows+r, type in "cmd", then press Ctrl+Shift+Enter`)
|
* press Windows+r, type in "cmd", then press Ctrl+Shift+Enter`)
|
||||||
}
|
}
|
||||||
|
ver, err := requestedTailscaleVersion(up.Version, up.track)
|
||||||
|
if err != nil {
|
||||||
|
return err
|
||||||
|
}
|
||||||
|
arch := runtime.GOARCH
|
||||||
|
if arch == "386" {
|
||||||
|
arch = "x86"
|
||||||
|
}
|
||||||
if !up.confirm(ver) {
|
if !up.confirm(ver) {
|
||||||
return nil
|
return nil
|
||||||
}
|
}
|
||||||
@ -946,14 +946,14 @@ func (up *Updater) updateFreeBSD() (err error) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
func (up *Updater) updateLinuxBinary() error {
|
func (up *Updater) updateLinuxBinary() error {
|
||||||
ver, err := requestedTailscaleVersion(up.Version, up.track)
|
|
||||||
if err != nil {
|
|
||||||
return err
|
|
||||||
}
|
|
||||||
// Root is needed to overwrite binaries and restart systemd unit.
|
// Root is needed to overwrite binaries and restart systemd unit.
|
||||||
if err := requireRoot(); err != nil {
|
if err := requireRoot(); err != nil {
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
|
ver, err := requestedTailscaleVersion(up.Version, up.track)
|
||||||
|
if err != nil {
|
||||||
|
return err
|
||||||
|
}
|
||||||
if !up.confirm(ver) {
|
if !up.confirm(ver) {
|
||||||
return nil
|
return nil
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user