tailscale/ipn/ipnlocal
Avery Pennarun f308995edf ipnlocal: in Start() fast path, don't forget to send Prefs.
The resulting empty Prefs had AllowSingleHosts=false and
Routeall=false, so that on iOS if you did these steps:
- Login and leave running
- Terminate the frontend
- Restart the frontend (fast path restart, missing prefs)
- Set WantRunning=false
- Set WantRunning=true
...then you would have Tailscale running, but with no routes. You would
also accidentally disable the ExitNodeID/IP prefs (symptom: the current
exit node setting didn't appear in the UI), but since nothing
else worked either, you probably didn't notice.

The fix was easy enough. It turns out we already knew about the
problem, so this also fixes one of the BUG entries in state_test.

Fixes: #1918 (BUG-1) and some as-yet-unreported bugs with exit nodes.
Signed-off-by: Avery Pennarun <apenwarr@tailscale.com>
2021-05-20 03:35:14 -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: in Start() fast path, don't forget to send Prefs. 2021-05-20 03:35:14 -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: in Start() fast path, don't forget to send Prefs. 2021-05-20 03:35:14 -04:00