tailscale/ipn/ipnlocal
Avery Pennarun 6fd4e8d244 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:21:22 -04:00
..
local_test.go ipn: mock controlclient.Client; big ipn.Backend state machine test. 2021-04-30 00:09:35 -04:00
local.go ipnlocal: fix switching users while logged in + Stopped. 2021-05-12 23:21:22 -04:00
loglines_test.go types/logger: add key grinder stats lines to rate-limiting exemption list 2021-05-05 08:25:15 -07:00
peerapi_macios_ext.go ipn/{ipnlocal,localapi}: add localapi handler to dial/proxy file PUTs 2021-04-06 21:31:50 -07:00
peerapi_test.go ipn/ipnlocal: use delete marker files to work around Windows delete problems 2021-04-26 10:59:25 -07:00
peerapi.go ipn/ipnlocal: update peerapi logging of received PUTs 2021-05-04 11:09:02 -07:00
state_test.go ipnlocal: fix switching users while logged in + Stopped. 2021-05-12 23:21:22 -04:00