You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
tailscale/ipn
Simon Law e9324236e8 cmd/tailscale: fix default for `tailscale set --accept-routes`
The default values for `tailscale up` and `tailscale set` are supposed
to agree for all common flags. But they don’t for `--accept-routes`
on Windows and from the Mac OS App Store, because `tailscale up`
computes this value based on the operating system:

    user@host:~$ tailscale up --help 2>&1 | grep -A1 accept-routes
      --accept-dns, --accept-dns=false
            accept DNS configuration from the admin panel (default true)
    user@host:~$ tailscale set --help 2>&1 | grep -A1 accept-routes
      --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.

In addition, `ipn.Prefs.RouteAll` defaults to true so it disagrees
with both of the flags above.

This patch makes `--accept-routes` use the same logic for in both
commands by hoisting the logic that was buried in `cmd/tailscale/cli`
to `ipn.Prefs.DefaultRouteAll`. Then, all three of defaults can agree.

Fixes: #15319

Signed-off-by: Simon Law <sfllaw@sfllaw.ca>
9 months ago
..
auditlog control/controlclient, ipn: add client audit logging (#14950) 9 months ago
conffile ipn/conffile: don't depend on hujson on iOS/Android 1 year ago
desktop various: keep tailscale connected when Always On mode is enabled on Windows 10 months ago
ipnauth control/controlclient, ipn: add client audit logging (#14950) 9 months ago
ipnlocal ipn/ipnlocal: remove misleading [unexpected] log for auditlog (#15421) 9 months ago
ipnserver various: keep tailscale connected when Always On mode is enabled on Windows 10 months ago
ipnstate ipn: update AddPeer to include TaildropTarget (#15091) 9 months ago
localapi ipn/{ipnserver,localapi},tsnet: use ipnauth.Self as the actor in tsnet localapi handlers 10 months ago
policy ipn,tailconfig: clean up unreleased and removed app connector service 2 years ago
store ipn/store/kubestore: skip cache for the write replica in cert share mode (#15417) 9 months ago
backend.go ipn: declare NotifyWatchOpt consts without using iota 11 months ago
conf.go ipn: ensure that conffile is source of truth for advertised services. (#15361) 9 months ago
doc.go ipn: generate LoginProfileView and use it instead of *LoginProfile where appropriate 10 months ago
ipn_clone.go ipn: generate LoginProfileView and use it instead of *LoginProfile where appropriate 10 months ago
ipn_test.go all: do not depend on the testing package 2 years ago
ipn_view.go ipn: generate LoginProfileView and use it instead of *LoginProfile where appropriate 10 months ago
prefs.go cmd/tailscale: fix default for `tailscale set --accept-routes` 9 months ago
prefs_test.go types/persist: remove Persist.LegacyFrontendPrivateMachineKey 11 months ago
serve.go tailcfg: add ServiceName 11 months ago
serve_test.go ipn: [serve] warn that foreground funnel won't work if shields are up (#14685) 11 months ago
store.go ipn: add comment about thread-safety to StateStore 2 years ago
store_test.go ipn: avoid useless no-op WriteState calls 2 years ago