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/ipnlocal
Brad Fitzpatrick 3bc10ea585 ipn/ipnext: remove some interface indirection to add hooks
Now that 25c4dc5fd7 removed unregistering hooks and made them into
slices, just expose the slices and remove the setter funcs.

This removes boilerplate ceremony around adding new hooks.

This does export the hooks and make them mutable at runtime in theory,
but that'd be a data race. If we really wanted to lock it down in the
future we could make the feature.Hooks slice type be an opaque struct
with an All() iterator and a "frozen" bool and we could freeze all the
hooks after init. But that doesn't seem worth it.

This means that hook registration is also now all in one place, rather
than being mixed into ProfilesService vs ipnext.Host vs FooService vs
BarService. I view that as a feature. When we have a ton of hooks and
the list is long, then we can rearrange the fields in the Hooks struct
as needed, or make sub-structs, or big comments.

Updates #12614

Change-Id: I05ce5baa45a61e79c04591c2043c05f3288d8587
Signed-off-by: Brad Fitzpatrick <bradfitz@tailscale.com>
7 months ago
..
testdata ipn/ipnlocal: fix the path for writing cert files (#7203) 3 years ago
autoupdate.go clientupdate: return true for CanAutoUpdate for macsys (#12746) 1 year ago
autoupdate_disabled.go ipn/ipnlocal: periodically run auto-updates when "offline" (#12118) 2 years ago
breaktcp_darwin.go cmd/tailscale: add debug commands to break connections 2 years ago
breaktcp_linux.go cmd/tailscale: add debug commands to break connections 2 years ago
bus.go ipn/ipnlocal: fix build, remove another Notify.BackendLogID reference that crept in 1 year ago
bus_test.go ipn/ipnlocal: add IPN Bus NotifyRateLimit watch bit NotifyRateLimit 1 year ago
c2n.go ipn/ipnlocal: return old hwaddrs if missing 8 months ago
c2n_pprof.go ipn/ipnlocal: add c2n /debug/pprof/allocs endpoint 2 years ago
c2n_test.go util/cmpx: delete now that we're using Go 1.22 2 years ago
cert.go ipn/ipnlocal: include previous cert in new ACME orders (#15595) 8 months ago
cert_js.go ipn/ipnlocal: add c2n method to check on TLS cert fetch status 2 years ago
cert_test.go ipn/ipnlocal, envknob: make it possible to configure the cert client to act in read-only mode (#15250) 9 months ago
dnsconfig_test.go ipn/ipnlocal: don't program system DNS when node key is expired (#13370) 1 year ago
drive.go cmd/viewer,types/views,various: avoid allocations in pointer field getters whenever possible 11 months ago
expiry.go all: add Node.HomeDERP int, phase out "127.3.3.40:$region" hack [capver 111] 11 months ago
expiry_test.go cmd/viewer,types/views,various: avoid allocations in pointer field getters whenever possible 11 months ago
extension_host.go ipn/ipnext: remove some interface indirection to add hooks 7 months ago
extension_host_test.go ipn/ipnext: remove some interface indirection to add hooks 7 months ago
local.go ipn/{ipnext,ipnlocal}: add a SafeBackend interface 7 months ago
local_test.go feature/taildrop: start moving Taildrop out of LocalBackend 8 months ago
loglines_test.go net/netmon: publish events to event bus 8 months ago
network-lock.go ipn: generate LoginProfileView and use it instead of *LoginProfile where appropriate 10 months ago
network-lock_test.go ipn: generate LoginProfileView and use it instead of *LoginProfile where appropriate 10 months ago
peerapi.go feature/taildrop: start moving Taildrop out of LocalBackend 8 months ago
peerapi_h2c.go all: update copyright and license headers 3 years ago
peerapi_macios_ext.go net/netmon, add: add netmon.State type alias of interfaces.State 2 years ago
peerapi_test.go feature/taildrop: start moving Taildrop out of LocalBackend 8 months ago
profiles.go ipn/{auditlog,ipnext,ipnlocal}: convert the profile-change callback to a profile-state-change callback 8 months ago
profiles_notwindows.go ipn/ipnlocal: refactor and cleanup profileManager 1 year ago
profiles_test.go ipn, ipn/ipnlocal: reduce coupling between LocalBackend/profileManager and the Windows-specific "current user" model 8 months ago
profiles_windows.go ipn/ipnlocal: refactor and cleanup profileManager 1 year ago
serve.go ipn/ipnlocal: use MagicDNSName of the current profile instead of generating a full ipnstate.Status 8 months ago
serve_test.go net/netmon: publish events to event bus 8 months ago
ssh.go ssh/tailssh: add Plan 9 support for Tailscale SSH 8 months ago
ssh_stub.go ssh/tailssh: add Plan 9 support for Tailscale SSH 8 months ago
ssh_test.go ipn/ipnlocal: plumb health.Tracker into profileManager constructor 2 years ago
state_test.go ipn/ipnlocal: use tsd.NewSystem instead of &tsd.System in a few more tests 7 months ago
taildrop.go feature/taildrop: start moving Taildrop out of LocalBackend 8 months ago
taildrop_omit.go feature/taildrop: start moving Taildrop out of LocalBackend 8 months ago
taildrop_test.go feature/taildrop: start moving Taildrop out of LocalBackend 8 months ago
web_client.go all: use new LocalAPI client package location 10 months ago
web_client_stub.go all: use new LocalAPI client package location 10 months ago