mirror of
https://github.com/tailscale/tailscale.git
synced 2025-05-08 00:26:52 +00:00
clientupdate: refuse to update in tsnet binaries (#14911)
When running via tsnet, c2n will be hooked up so requests to update can reach the node. But it will then apply whatever OS-specific update function, upgrading the local tailscaled instead. We can't update tsnet automatically, so refuse it. Fixes #14892 Signed-off-by: Andrew Lytvynov <awly@tailscale.com>
This commit is contained in:
parent
9726e1f208
commit
e19c01f5b3
@ -27,6 +27,7 @@ import (
|
|||||||
"strconv"
|
"strconv"
|
||||||
"strings"
|
"strings"
|
||||||
|
|
||||||
|
"tailscale.com/hostinfo"
|
||||||
"tailscale.com/types/logger"
|
"tailscale.com/types/logger"
|
||||||
"tailscale.com/util/cmpver"
|
"tailscale.com/util/cmpver"
|
||||||
"tailscale.com/version"
|
"tailscale.com/version"
|
||||||
@ -169,6 +170,12 @@ func NewUpdater(args Arguments) (*Updater, error) {
|
|||||||
type updateFunction func() error
|
type updateFunction func() error
|
||||||
|
|
||||||
func (up *Updater) getUpdateFunction() (fn updateFunction, canAutoUpdate bool) {
|
func (up *Updater) getUpdateFunction() (fn updateFunction, canAutoUpdate bool) {
|
||||||
|
hi := hostinfo.New()
|
||||||
|
// We don't know how to update custom tsnet binaries, it's up to the user.
|
||||||
|
if hi.Package == "tsnet" {
|
||||||
|
return nil, false
|
||||||
|
}
|
||||||
|
|
||||||
switch runtime.GOOS {
|
switch runtime.GOOS {
|
||||||
case "windows":
|
case "windows":
|
||||||
return up.updateWindows, true
|
return up.updateWindows, true
|
||||||
|
Loading…
x
Reference in New Issue
Block a user