You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
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>
2 years ago
..
conffile ipn/{conffile,ipnlocal}: start booting tailscaled from a config file w/ auth key 2 years ago
ipnauth go.mod, all: move away from inet.af domain seized by Taliban 2 years ago
ipnlocal ipn/ipnlocal: name the unlockOnce type, plumb more, add Unlock method 2 years ago
ipnserver ipn/ipnserver: always allow Windows SYSTEM user to connect 2 years ago
ipnstate ipn/ipnlocal: populate peers' capabilities (#11365) 2 years ago
localapi ipn/localapi: sort localapi handler map keys 2 years ago
policy ipn,tailconfig: clean up unreleased and removed app connector service 2 years ago
store cmd/k8s-operator,ipn/store/kubestore: patch secrets instead of updating 2 years ago
backend.go tailscale: update tailfs functions and vars to use drive naming (#11597) 2 years ago
conf.go cmd/k8s-operator,ipn/conf.go: fix --accept-routes for proxies (#11453) 2 years ago
doc.go all: update copyright and license headers 3 years ago
fake_test.go all: update copyright and license headers 3 years ago
ipn_clone.go tailscale: update tailfs functions and vars to use drive naming (#11597) 2 years ago
ipn_test.go net/packet: split off checksum munging into different pkg 2 years ago
ipn_view.go tailscale: update tailfs functions and vars to use drive naming (#11597) 2 years ago
prefs.go tailscale: update tailfs functions and vars to use drive naming (#11597) 2 years ago
prefs_test.go tailscale: update tailfs functions and vars to use drive naming (#11597) 2 years ago
serve.go all: deprecate Node.Capabilities (more), remove PeerChange.Capabilities [capver 89] 2 years ago
serve_test.go {ipn/serve,cmd/tailscale/cli}: move some shared funcs to ipn 2 years ago
store.go ipn: add comment about thread-safety to StateStore 2 years ago
store_test.go ipn: avoid useless no-op WriteState calls 2 years ago