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/ipnlocal
Nick Khyl ff1803158a ipn/ipnlocal: change order of exit node refresh and netmap update so that clients receive the new netmap first
If the GUI receives a new exit node ID before the new netmap, it may treat the node as offline or invalid
if the previous netmap didn't include the peer at all, or if the peer was offline or not advertised as an exit node.
This may result in briefly issuing and dismissing a warning, or a similar issue, which isn't ideal.

In this PR, we change the operation order to send the new netmap to clients first before selecting the new exit node
and notifying them of the Exit Node change.

Updates tailscale/corp#30252 (an old issue discovered during testing this)

Signed-off-by: Nick Khyl <nickk@tailscale.com>
5 months ago
..
testdata ipn/ipnlocal: fix the path for writing cert files (#7203) 3 years ago
autoupdate.go clientupdate: return true for CanAutoUpdate for macsys (#12746) 1 year ago
autoupdate_disabled.go ipn/ipnlocal: periodically run auto-updates when "offline" (#12118) 2 years ago
breaktcp_darwin.go cmd/tailscale: add debug commands to break connections 2 years ago
breaktcp_linux.go cmd/tailscale: add debug commands to break connections 2 years ago
bus.go ipn/ipnlocal: fix build, remove another Notify.BackendLogID reference that crept in 1 year ago
bus_test.go ipn/ipnlocal: add IPN Bus NotifyRateLimit watch bit NotifyRateLimit 1 year ago
c2n.go ipn: add missing entries for OpenBSD 6 months ago
c2n_pprof.go ipn/ipnlocal: add c2n /debug/pprof/allocs endpoint 2 years ago
c2n_test.go util/cmpx: delete now that we're using Go 1.22 2 years ago
cert.go ipn/ipnlocal: include previous cert in new ACME orders (#15595) 8 months ago
cert_js.go ipn/ipnlocal: add c2n method to check on TLS cert fetch status 2 years ago
cert_test.go ipn/ipnlocal, envknob: make it possible to configure the cert client to act in read-only mode (#15250) 9 months ago
dnsconfig_test.go ipn/ipnlocal: add localNodeContext with netmap-related fields and methods 7 months ago
drive.go drive,ipn/ipnlocal: calculate peer taildrive URLs on-demand 5 months ago
expiry.go all: add Node.HomeDERP int, phase out "127.3.3.40:$region" hack [capver 111] 11 months ago
expiry_test.go cmd/viewer,types/views,various: avoid allocations in pointer field getters whenever possible 11 months ago
extension_host.go ipn/ipnlocal: make GetExt work earlier, before extension init 7 months ago
extension_host_test.go ipn/ipnlocal: fix missing defer in testExtension.Shutdown 5 months ago
local.go ipn/ipnlocal: change order of exit node refresh and netmap update so that clients receive the new netmap first 5 months ago
local_test.go ipn/ipnlocal: change order of exit node refresh and netmap update so that clients receive the new netmap first 5 months ago
loglines_test.go net/netmon: publish events to event bus 8 months ago
network-lock.go ipn/ipnlocal: make pricing restriction message for Tailnet Lock clearer 6 months ago
network-lock_test.go ipn: generate LoginProfileView and use it instead of *LoginProfile where appropriate 10 months ago
node_backend.go ipn/ipnlocal: update PeerByID to return SelfNode and rename it to NodeByID (#16096) 5 months ago
node_backend_test.go ipn/ipnlocal,wgengine/magicsock: use eventbus for node & filter updates (#16271) 6 months ago
peerapi.go ipn/ipnlocal: add some verbose logging to taildrive peerapi handler 6 months ago
peerapi_h2c.go all: update copyright and license headers 3 years ago
peerapi_macios_ext.go net/netmon, add: add netmon.State type alias of interfaces.State 2 years ago
peerapi_test.go feature/taildrop, ipn/ipnlocal: remove leftover dup calls to osshare 7 months ago
prefs_metrics.go health, ipn/ipnlocal: add metrics for various client events (#15828) 7 months ago
profiles.go health, ipn/ipnlocal: add metrics for various client events (#15828) 7 months ago
profiles_notwindows.go ipn/ipnlocal: refactor and cleanup profileManager 1 year ago
profiles_test.go feature,ipn/ipnlocal: add profileManager.StateChangeHook 7 months ago
profiles_windows.go ipn/ipnlocal: refactor and cleanup profileManager 1 year ago
serve.go ipn/ipnlocal: add localNodeContext with netmap-related fields and methods 7 months ago
serve_test.go ipn/ipnlocal,wgengine{/magicsock}: replace SetNetworkMap with eventbus (#16299) 6 months ago
ssh.go all: remove non-applicable "linux" deps on Android 7 months ago
ssh_stub.go all: remove non-applicable "linux" deps on Android 7 months ago
ssh_test.go ipn/ipnlocal: plumb health.Tracker into profileManager constructor 2 years ago
state_test.go cmd/tailscale/cli,ipn/ipnlocal: restrict logout when AlwaysOn mode is enabled 5 months ago
web_client.go ipn/ipnlocal: add localNodeContext with netmap-related fields and methods 7 months ago
web_client_stub.go all: use new LocalAPI client package location 10 months ago