tailscale/ipn
Avery Pennarun 71d8aa64f6 ipnlocal: fix switching users while logged in + Stopped.
This code path is very tricky since it was originally designed for the
"re-authenticate to refresh my keys" use case, which didn't want to
lose the original session even if the refresh cycle failed. This is why
it acts differently from the Logout(); Login(); case.

Maybe that's too fancy, considering that it probably never quite worked
at all, for switching between users without logging out first. But it
works now.

This was more invasive than I hoped, but the necessary fixes actually
removed several other suspicious BUG: lines from state_test.go, so I'm
pretty confident this is a significant net improvement.

Fixes tailscale/corp#1756.

Signed-off-by: Avery Pennarun <apenwarr@tailscale.com>
2021-05-12 23:05:36 -04:00
..
ipnlocal ipnlocal: fix switching users while logged in + Stopped. 2021-05-12 23:05:36 -04:00
ipnserver ipn{,/ipnserver}: delay JSON marshaling of ipn.Notifies 2021-05-10 14:36:27 -07:00
ipnstate ipn/{ipnlocal,ipnstate}: add PeerStatus.ID stable ID to status --json output 2021-05-07 09:31:55 -07:00
localapi ipn/ipnlocal, etc: require file sharing capability to send/recv files 2021-04-16 10:58:19 -07:00
policy ipn/policy: mark peerapi4 and peerapi6 as interesting services 2021-04-01 11:57:24 -07:00
backend.go ipnlocal: accept a new opts.UpdatePrefs field. 2021-05-04 15:19:25 -04:00
doc.go Move Linux client & common packages into a public repo. 2020-02-09 09:32:57 -08:00
fake_test.go ipn{,/ipnlocal}, cmd/tailscale/cli: don't check pref reverts on initial up 2021-04-18 08:12:18 -07:00
handle.go ipn{,/ipnlocal}, cmd/tailscale/cli: don't check pref reverts on initial up 2021-04-18 08:12:18 -07:00
message_test.go ipn{,/ipnserver}: delay JSON marshaling of ipn.Notifies 2021-05-10 14:36:27 -07:00
message.go ipn{,/ipnserver}: delay JSON marshaling of ipn.Notifies 2021-05-10 14:36:27 -07:00
prefs_clone.go Add prefs.LoggedOut to fix several state machine bugs. 2021-04-30 09:18:13 -04:00
prefs_test.go Add prefs.LoggedOut to fix several state machine bugs. 2021-04-30 09:18:13 -04:00
prefs.go ipnlocal: accept a new opts.UpdatePrefs field. 2021-05-04 15:19:25 -04:00
store_test.go Add tstest.PanicOnLog(), and fix various problems detected by this. 2020-05-13 23:12:35 -04:00
store.go wgkey: new package 2020-12-30 17:33:02 -08:00