mirror of
https://github.com/tailscale/tailscale.git
synced 2026-07-20 21:23:07 +08:00
authRoutine snapshots c.loginGoal, runs TryLogin without the lock, then writes back loggedIn/loginGoal under the lock. If a concurrent Login() or Logout() changes the goal during the in-flight request, the write-back overwrites the new intent: the more recent login goal is silently dropped, or a logout is reverted to logged-in. Gate both the URL-followup and success commits on c.loginGoal still matching the goal we were processing. Stale results are ignored and the next iteration runs with the current goal. Updates #19326 Signed-off-by: Gesa Stupperich <gesa@tailscale.com> |
||
|---|---|---|
| .. | ||
| auto_test.go | ||
| auto.go | ||
| client.go | ||
| controlclient_test.go | ||
| direct_test.go | ||
| direct.go | ||
| errors.go | ||
| key_expiry_test.go | ||
| map_debug.go | ||
| map_test.go | ||
| map.go | ||
| sign_supported_test.go | ||
| sign_supported.go | ||
| sign_unsupported.go | ||
| sign.go | ||
| status.go | ||