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 f3f2f72f96 ipn/ipnlocal: do not attempt to start the auditlogger with a nil transport
(*LocalBackend).setControlClientLocked() is called to both set and reset b.cc.
We shouldn't attempt to start the audit logger when b.cc is being reset (i.e., cc is nil).

However, it's fine to start the audit logger if b.cc implements auditlog.Transport, even if it's not a controlclient.Auto but a mock control client.

In this PR, we fix both issues and add an assertion that controlclient.Auto is an auditlog.Transport. This ensures a compile-time failure if controlclient.Auto ever stops being a valid transport due to future interface or implementation changes.

Updates tailscale/corp#26435

Signed-off-by: Nick Khyl <nickk@tailscale.com>
9 months ago
..
auditlog control/controlclient, ipn: add client audit logging (#14950) 9 months ago
conffile ipn/conffile: don't depend on hujson on iOS/Android 1 year ago
desktop various: keep tailscale connected when Always On mode is enabled on Windows 10 months ago
ipnauth control/controlclient, ipn: add client audit logging (#14950) 9 months ago
ipnlocal ipn/ipnlocal: do not attempt to start the auditlogger with a nil transport 9 months ago
ipnserver various: keep tailscale connected when Always On mode is enabled on Windows 10 months ago
ipnstate ipn: update AddPeer to include TaildropTarget (#15091) 9 months ago
localapi ipn/{ipnserver,localapi},tsnet: use ipnauth.Self as the actor in tsnet localapi handlers 10 months ago
policy ipn,tailconfig: clean up unreleased and removed app connector service 2 years ago
store cmd/k8s-operator: configure proxies for HA Ingress to run in cert share mode (#15308) 9 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 ipn: generate LoginProfileView and use it instead of *LoginProfile where appropriate 10 months ago
ipn_test.go all: do not depend on the testing package 2 years ago
ipn_view.go ipn: generate LoginProfileView and use it instead of *LoginProfile where appropriate 10 months ago
prefs.go cmd/tailscale,ipn,tailcfg: add `tailscale advertise` subcommand behind envknob (#13734) 1 year ago
prefs_test.go types/persist: remove Persist.LegacyFrontendPrivateMachineKey 11 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