mirror of
https://github.com/tailscale/tailscale.git
synced 2025-05-20 01:08:31 +00:00
cmd/tailscale: fix default for tailscale set --accept-dns
The default values for `tailscale up` and `tailscale set` are supposed to agree on all common flags. But they don’t for `--accept-dns`: user@host:~$ tailscale up --help 2>&1 | grep -A1 accept-dns --accept-dns, --accept-dns=false accept DNS configuration from the admin panel (default true) user@host:~$ tailscale set --help 2>&1 | grep -A1 accept-dns --accept-dns, --accept-dns=false accept DNS configuration from the admin panel Luckily, `tailscale set` uses `ipn.MaskedPrefs`, so the default values don’t logically matter. But someone will get the wrong idea if they trust the `tailscale set --help` documentation. This patch makes `--accept-dns` default to true in both commands and also introduces `TestSetDefaultsMatchUpDefaults` to prevent any future drift. Fixes: #15319 Signed-off-by: Simon Law <sfllaw@sfllaw.ca>
This commit is contained in:
parent
a3bc0bcb0a
commit
7fc9099cf8
@ -69,7 +69,7 @@ func newSetFlagSet(goos string, setArgs *setArgsT) *flag.FlagSet {
|
||||
|
||||
setf.StringVar(&setArgs.profileName, "nickname", "", "nickname for the current account")
|
||||
setf.BoolVar(&setArgs.acceptRoutes, "accept-routes", false, "accept routes advertised by other Tailscale nodes")
|
||||
setf.BoolVar(&setArgs.acceptDNS, "accept-dns", false, "accept DNS configuration from the admin panel")
|
||||
setf.BoolVar(&setArgs.acceptDNS, "accept-dns", true, "accept DNS configuration from the admin panel")
|
||||
setf.StringVar(&setArgs.exitNodeIP, "exit-node", "", "Tailscale exit node (IP or base name) for internet traffic, or empty string to not use an exit node")
|
||||
setf.BoolVar(&setArgs.exitNodeAllowLANAccess, "exit-node-allow-lan-access", false, "Allow direct access to the local network when routing traffic via an exit node")
|
||||
setf.BoolVar(&setArgs.shieldsUp, "shields-up", false, "don't allow incoming connections")
|
||||
|
@ -4,6 +4,7 @@
|
||||
package cli
|
||||
|
||||
import (
|
||||
"flag"
|
||||
"net/netip"
|
||||
"reflect"
|
||||
"testing"
|
||||
@ -129,3 +130,24 @@ func TestCalcAdvertiseRoutesForSet(t *testing.T) {
|
||||
})
|
||||
}
|
||||
}
|
||||
|
||||
// TestSetDefaultsMatchUpDefaults is meant to ensure that the default values
|
||||
// for `tailscale set` and `tailscale up` are the same.
|
||||
// Since `tailscale set` only sets preferences that are explicitly mentioned,
|
||||
// the default values for its flags are only used for `--help` documentation.
|
||||
func TestSetDefaultsMatchUpDefaults(t *testing.T) {
|
||||
upFlagSet.VisitAll(func(up *flag.Flag) {
|
||||
if preflessFlag(up.Name) {
|
||||
return
|
||||
}
|
||||
|
||||
set := setFlagSet.Lookup(up.Name)
|
||||
if set == nil {
|
||||
return
|
||||
}
|
||||
|
||||
if set.DefValue != up.DefValue {
|
||||
t.Errorf("--%s: set defaults to %q, but up defaults to %q", up.Name, set.DefValue, up.DefValue)
|
||||
}
|
||||
})
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user