mirror of
https://github.com/tailscale/tailscale.git
synced 2024-12-04 15:35:38 +00:00
cmd/tailscale/cli: don't complain about --accept-routes true->false on Synology
Fixes #3176
Change-Id: I844883e741dccfa5e7771c853180e9f65fb7f7a4
Signed-off-by: Brad Fitzpatrick <bradfitz@tailscale.com>
(cherry picked from commit 105c545366
)
This commit is contained in:
parent
d79aad2b89
commit
7dd677043d
@ -20,6 +20,7 @@
|
|||||||
"tailscale.com/tstest"
|
"tailscale.com/tstest"
|
||||||
"tailscale.com/types/persist"
|
"tailscale.com/types/persist"
|
||||||
"tailscale.com/types/preftype"
|
"tailscale.com/types/preftype"
|
||||||
|
"tailscale.com/version/distro"
|
||||||
)
|
)
|
||||||
|
|
||||||
// geese is a collection of gooses. It need not be complete.
|
// geese is a collection of gooses. It need not be complete.
|
||||||
@ -57,6 +58,7 @@ func TestCheckForAccidentalSettingReverts(t *testing.T) {
|
|||||||
curExitNodeIP netaddr.IP
|
curExitNodeIP netaddr.IP
|
||||||
curUser string // os.Getenv("USER") on the client side
|
curUser string // os.Getenv("USER") on the client side
|
||||||
goos string // empty means "linux"
|
goos string // empty means "linux"
|
||||||
|
distro distro.Distro
|
||||||
|
|
||||||
want string
|
want string
|
||||||
}{
|
}{
|
||||||
@ -427,6 +429,38 @@ func TestCheckForAccidentalSettingReverts(t *testing.T) {
|
|||||||
},
|
},
|
||||||
want: accidentalUpPrefix + " --netfilter-mode=off --accept-dns=false",
|
want: accidentalUpPrefix + " --netfilter-mode=off --accept-dns=false",
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
// Issue 3176: on Synology, don't require --accept-routes=false because user
|
||||||
|
// migth've had old an install, and we don't support --accept-routes anyway.
|
||||||
|
name: "synology_permit_omit_accept_routes",
|
||||||
|
flags: []string{"--hostname=foo"},
|
||||||
|
curPrefs: &ipn.Prefs{
|
||||||
|
ControlURL: "https://login.tailscale.com",
|
||||||
|
CorpDNS: true,
|
||||||
|
AllowSingleHosts: true,
|
||||||
|
RouteAll: true,
|
||||||
|
NetfilterMode: preftype.NetfilterOn,
|
||||||
|
},
|
||||||
|
goos: "linux",
|
||||||
|
distro: distro.Synology,
|
||||||
|
want: "",
|
||||||
|
},
|
||||||
|
{
|
||||||
|
// Same test case as "synology_permit_omit_accept_routes" above, but
|
||||||
|
// on non-Synology distro.
|
||||||
|
name: "not_synology_dont_permit_omit_accept_routes",
|
||||||
|
flags: []string{"--hostname=foo"},
|
||||||
|
curPrefs: &ipn.Prefs{
|
||||||
|
ControlURL: "https://login.tailscale.com",
|
||||||
|
CorpDNS: true,
|
||||||
|
AllowSingleHosts: true,
|
||||||
|
RouteAll: true,
|
||||||
|
NetfilterMode: preftype.NetfilterOn,
|
||||||
|
},
|
||||||
|
goos: "linux",
|
||||||
|
distro: "", // not Synology
|
||||||
|
want: accidentalUpPrefix + " --hostname=foo --accept-routes",
|
||||||
|
},
|
||||||
}
|
}
|
||||||
for _, tt := range tests {
|
for _, tt := range tests {
|
||||||
t.Run(tt.name, func(t *testing.T) {
|
t.Run(tt.name, func(t *testing.T) {
|
||||||
@ -447,6 +481,7 @@ func TestCheckForAccidentalSettingReverts(t *testing.T) {
|
|||||||
goos: goos,
|
goos: goos,
|
||||||
flagSet: flagSet,
|
flagSet: flagSet,
|
||||||
curExitNodeIP: tt.curExitNodeIP,
|
curExitNodeIP: tt.curExitNodeIP,
|
||||||
|
distro: tt.distro,
|
||||||
}); err != nil {
|
}); err != nil {
|
||||||
got = err.Error()
|
got = err.Error()
|
||||||
}
|
}
|
||||||
|
@ -380,6 +380,7 @@ func runUp(ctx context.Context, args []string) error {
|
|||||||
|
|
||||||
env := upCheckEnv{
|
env := upCheckEnv{
|
||||||
goos: effectiveGOOS(),
|
goos: effectiveGOOS(),
|
||||||
|
distro: distro.Get(),
|
||||||
user: os.Getenv("USER"),
|
user: os.Getenv("USER"),
|
||||||
flagSet: upFlagSet,
|
flagSet: upFlagSet,
|
||||||
upArgs: upArgs,
|
upArgs: upArgs,
|
||||||
@ -622,6 +623,7 @@ type upCheckEnv struct {
|
|||||||
upArgs upArgsT
|
upArgs upArgsT
|
||||||
backendState string
|
backendState string
|
||||||
curExitNodeIP netaddr.IP
|
curExitNodeIP netaddr.IP
|
||||||
|
distro distro.Distro
|
||||||
}
|
}
|
||||||
|
|
||||||
// checkForAccidentalSettingReverts (the "up checker") checks for
|
// checkForAccidentalSettingReverts (the "up checker") checks for
|
||||||
@ -672,6 +674,10 @@ func checkForAccidentalSettingReverts(newPrefs, curPrefs *ipn.Prefs, env upCheck
|
|||||||
if flagName == "login-server" && ipn.IsLoginServerSynonym(valCur) && ipn.IsLoginServerSynonym(valNew) {
|
if flagName == "login-server" && ipn.IsLoginServerSynonym(valCur) && ipn.IsLoginServerSynonym(valNew) {
|
||||||
continue
|
continue
|
||||||
}
|
}
|
||||||
|
if flagName == "accept-routes" && valNew == false && env.goos == "linux" && env.distro == distro.Synology {
|
||||||
|
// Issue 3176. Old prefs had 'RouteAll: true' on disk, so ignore that.
|
||||||
|
continue
|
||||||
|
}
|
||||||
missing = append(missing, fmtFlagValueArg(flagName, valCur))
|
missing = append(missing, fmtFlagValueArg(flagName, valCur))
|
||||||
}
|
}
|
||||||
if len(missing) == 0 {
|
if len(missing) == 0 {
|
||||||
|
Loading…
Reference in New Issue
Block a user