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
James 'zofrex' Sanderson 7407f404d9
ipn/ipnlocal: fix setAuthURL / setWgengineStatus race condition (#17408)
If we received a wg engine status while processing an auth URL, there was a
race condition where the authURL could be reset to "" immediately after we
set it.

To fix this we need to check that we are moving from a non-Running state to
a Running state rather than always resetting the URL when we "move" into a
Running state even if that is the current state.

We also need to make sure that we do not return from stopEngineAndWait until
the engine is stopped: before, we would return as soon as we received any
engine status update, but that might have been an update already in-flight
before we asked the engine to stop. Now we wait until we see an update that
is indicative of a stopped engine, or we see that the engine is unblocked
again, which indicates that the engine stopped and then started again while
we were waiting before we checked the state.

Updates #17388

Signed-off-by: James Sanderson <jsanderson@tailscale.com>
Co-authored-by: Nick Khyl <nickk@tailscale.com>
3 months ago
..
auditlog ipn/ipnext: remove some interface indirection to add hooks 9 months ago
conffile feature/featuretags, ipn/conffile: make HuJSON support in config files optional 4 months ago
desktop util/syspolicy: finish plumbing policyclient, add feature/syspolicy, move global impl 4 months ago
ipnauth all: use buildfeature constants in a few more places 3 months ago
ipnext feature/portlist: pull portlist service porting into extension, use eventbus 4 months ago
ipnlocal ipn/ipnlocal: fix setAuthURL / setWgengineStatus race condition (#17408) 3 months ago
ipnserver feature/featuretags, all: add build features, use existing ones in more places 3 months ago
ipnstate cmd/tailscale, ipn/ipnstate, wgengine/magicsock: update ping output for peer relay (#16515) 6 months ago
lapitest various: allow tailscaled shutdown via LocalAPI 4 months ago
localapi feature/featuretags: make usermetrics modular 3 months ago
policy ipn,tailconfig: clean up unreleased and removed app connector service 2 years ago
store ipn/store, feature/condregister: permit callers to empty import optonal ipn stores 4 months ago
backend.go ipn: fix the string representation of an empty ipn.Notify 4 months ago
backend_test.go ipn: fix the string representation of an empty ipn.Notify 4 months ago
conf.go ipn: ensure that conffile is source of truth for advertised services. (#15361) 10 months ago
doc.go ipn: generate LoginProfileView and use it instead of *LoginProfile where appropriate 12 months ago
ipn_clone.go cmd/tailscale/cli,ipn,ipn/ipnlocal: add AutoExitNode preference for automatic exit node selection 6 months ago
ipn_test.go all: do not depend on the testing package 2 years ago
ipn_view.go util/linuxfw, feature/buildfeatures: add ts_omit_iptables to make IPTables optional 4 months ago
prefs.go all: use buildfeatures consts in a few more places 3 months ago
prefs_test.go ipn: warn about self as the exit node if backend is running (#17018) 4 months ago
serve.go cmd/tailscale/cli: revert key for web config for services to FQDN (#16627) 6 months ago
serve_test.go cmd/tailscale/cli: Add service flag to serve command (#16191) 6 months ago
store.go tailcfg: report StateEncrypted in Hostinfo (#16434) 7 months ago
store_test.go ipn/store: automatically migrate between plaintext and encrypted state (#16318) 7 months ago