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
Nick Khyl 824985afe1 feature/taildrop,ipn/ipn{ext,local}: initialize taildrop for initial profile
Currently, LocalBackend/ExtensionHost doesn't invoke the profile change callback for the initial profile.
Since the initial profile may vary depending on loaded extensions and applied policy settings,
it can't be reliably determined until all extensions are initialized. Additionally, some extensions
may asynchronously trigger a switch to the "best" profile (based on system state and policy settings) during
initialization.

We intended to address these issues as part of the ongoing profileManager/LocalBackend refactoring,
but the changes didn't land in time for the v1.84 release and the Taildrop refactoring.

In this PR, we update the Taildrop extension to retrieve the current profile at initialization time
and handle it as a profile change.

We also defer extension initialization until LocalBackend has started, since the Taildrop extension
already relies on this behavior (e.g., it requires clients to call SetDirectFileRoot before Init).

Fixes #15970
Updates #15812
Updates tailscale/corp#28449

Signed-off-by: Nick Khyl <nickk@tailscale.com>
7 months ago
..
auditlog ipn/ipnext: remove some interface indirection to add hooks 7 months ago
conffile ipn/conffile: don't depend on hujson on iOS/Android 1 year ago
desktop ipn/ipnext: remove some interface indirection to add hooks 7 months ago
ipnauth control/controlclient, ipn: add client audit logging (#14950) 9 months ago
ipnext feature/taildrop,ipn/ipn{ext,local}: initialize taildrop for initial profile 7 months ago
ipnlocal feature/taildrop,ipn/ipn{ext,local}: initialize taildrop for initial profile 7 months ago
ipnserver ipn/ipn{server,test}: extract the LocalAPI test client and server into ipntest 7 months ago
ipnstate Revert "ipn/ipnstate: add home DERP to tailscale status JSON" 8 months ago
lapitest ipn/ipn{server,test}: extract the LocalAPI test client and server into ipntest 7 months ago
localapi ipn/ipnlocal: attach Tailnet Lock status to bugreports 7 months ago
policy ipn,tailconfig: clean up unreleased and removed app connector service 2 years ago
store ipn/store: don't link in AWS & Kubernetes stuff on Android 7 months ago
backend.go ipn: declare NotifyWatchOpt consts without using iota 11 months ago
conf.go ipn: ensure that conffile is source of truth for advertised services. (#15361) 9 months ago
doc.go ipn: generate LoginProfileView and use it instead of *LoginProfile where appropriate 10 months ago
ipn_clone.go cmd/tailscale,ipn: add relay-server-port "tailscale set" flag and Prefs field (#15594) 8 months ago
ipn_test.go all: do not depend on the testing package 2 years ago
ipn_view.go cmd/tailscale,ipn: add relay-server-port "tailscale set" flag and Prefs field (#15594) 8 months ago
prefs.go cmd/tailscale/cli: rename "--posture-checking" to "--report-posture" 7 months ago
prefs_test.go cmd/tailscale,ipn: add relay-server-port "tailscale set" flag and Prefs field (#15594) 8 months ago
serve.go tailcfg: add ServiceName 11 months ago
serve_test.go ipn: [serve] warn that foreground funnel won't work if shields are up (#14685) 11 months 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