tailscale/ipn
Brad Fitzpatrick aa084a29c6 ipn/ipnlocal: name the unlockOnce type, plumb more, add Unlock method
This names the func() that Once-unlocked LocalBackend.mu. It does so
both for docs and because it can then have a method: Unlock, for the
few points that need to explicitly unlock early (the cause of all this
mess). This makes those ugly points easy to find, and also can then
make them stricter, panicking if the mutex is already unlocked. So a
normal call to the func just once-releases the mutex, returning false
if it's already done, but the Unlock method is the strict one.

Then this uses it more, so most the b.mu.Unlock calls remaining are
simple cases and usually defers.

Updates #11649

Change-Id: Ia070db66c54a55e59d2f76fdc26316abf0dd4627
Signed-off-by: Brad Fitzpatrick <bradfitz@tailscale.com>
2024-04-06 21:49:23 -07:00
..
conffile ipn/{conffile,ipnlocal}: start booting tailscaled from a config file w/ auth key 2023-10-17 07:12:49 -07:00
ipnauth go.mod, all: move away from inet.af domain seized by Taliban 2024-02-13 19:21:09 -08:00
ipnlocal ipn/ipnlocal: name the unlockOnce type, plumb more, add Unlock method 2024-04-06 21:49:23 -07:00
ipnserver ipn/ipnserver: always allow Windows SYSTEM user to connect 2024-01-12 14:37:53 -08:00
ipnstate ipn/ipnlocal: populate peers' capabilities (#11365) 2024-04-03 10:55:28 -04:00
localapi ipn/localapi: sort localapi handler map keys 2024-04-05 20:44:11 -07:00
policy ipn,tailconfig: clean up unreleased and removed app connector service 2023-11-09 22:36:52 -08:00
store cmd/k8s-operator,ipn/store/kubestore: patch secrets instead of updating 2023-08-29 13:24:05 -07:00
backend.go tailscale: update tailfs functions and vars to use drive naming (#11597) 2024-04-03 10:09:58 -07:00
conf.go cmd/k8s-operator,ipn/conf.go: fix --accept-routes for proxies (#11453) 2024-03-19 14:54:17 +00:00
doc.go all: update copyright and license headers 2023-01-27 15:36:29 -08:00
fake_test.go all: update copyright and license headers 2023-01-27 15:36:29 -08:00
ipn_clone.go tailscale: update tailfs functions and vars to use drive naming (#11597) 2024-04-03 10:09:58 -07:00
ipn_test.go net/packet: split off checksum munging into different pkg 2023-10-11 14:25:58 -07:00
ipn_view.go tailscale: update tailfs functions and vars to use drive naming (#11597) 2024-04-03 10:09:58 -07:00
prefs.go tailscale: update tailfs functions and vars to use drive naming (#11597) 2024-04-03 10:09:58 -07:00
prefs_test.go tailscale: update tailfs functions and vars to use drive naming (#11597) 2024-04-03 10:09:58 -07:00
serve.go all: deprecate Node.Capabilities (more), remove PeerChange.Capabilities [capver 89] 2024-03-24 21:08:46 -07:00
serve_test.go {ipn/serve,cmd/tailscale/cli}: move some shared funcs to ipn 2024-03-05 14:30:38 -05:00
store.go ipn: add comment about thread-safety to StateStore 2024-03-06 12:42:18 -06:00
store_test.go ipn: avoid useless no-op WriteState calls 2023-08-07 08:44:24 -07:00