tailscale/feature
Michael Ben-Ami 1dc08f4d41 appc,feature/conn25: prevent clients from forwarding DNS requests and
modifying DNS responses for domains they are also connectors for

For Connectors 2025, determine if a client is configured as a
connector and what domains it is a connector for. When acting as a
client, don't install Split DNS routes to other connectors for those
domains, and don't alter DNS responses for those domains. The responses
are forwarded back to the original client, which in turn does the alteration,
swapping the real IP for a Magic IP.

A client is also a connector for a domain if it has tags that overlap
with tags in the configured policy, and --advertise-connector=true
in the prefs (not in the self-node Hostinfo from the netmap). We use the prefs
as the source of truth because control only gets a copy from the prefs, and
may drift. And the AppConnector field is currently zeroed out in the
self-node Hostinfo from control.

The extension adds a ProfileStateChange hook to process prefs changes,
and the config type is split into prefs and nodeview sub-configs.

Fixes tailscale/corp#39317

Signed-off-by: Michael Ben-Ami <mzb@tailscale.com>
2026-04-16 09:41:54 -04:00
..
ace all: remove AUTHORS file and references to it 2026-01-23 15:49:45 -08:00
appconnectors all: remove AUTHORS file and references to it 2026-01-23 15:49:45 -08:00
awsparamstore cmd/tailscale/cli: allow fetching keys from AWS Parameter Store 2026-01-29 18:09:56 -05:00
buildfeatures ipn/localapi, cli, clientmetric: add ipnbus feature tag; fix omit.go stub 2026-04-07 10:22:37 -07:00
c2n all: remove AUTHORS file and references to it 2026-01-23 15:49:45 -08:00
capture all: remove AUTHORS file and references to it 2026-01-23 15:49:45 -08:00
clientupdate all: remove AUTHORS file and references to it 2026-01-23 15:49:45 -08:00
condlite/expvar all: remove AUTHORS file and references to it 2026-01-23 15:49:45 -08:00
condregister ipn/desktop: move behind feature/condregister 2026-04-07 11:37:47 -07:00
conn25 appc,feature/conn25: prevent clients from forwarding DNS requests and 2026-04-16 09:41:54 -04:00
debugportmapper all: remove AUTHORS file and references to it 2026-01-23 15:49:45 -08:00
doctor all: remove AUTHORS file and references to it 2026-01-23 15:49:45 -08:00
drive all: remove AUTHORS file and references to it 2026-01-23 15:49:45 -08:00
featuretags ipn/localapi, cli, clientmetric: add ipnbus feature tag; fix omit.go stub 2026-04-07 10:22:37 -07:00
identityfederation cmd/vet: add subtestnames analyzer; fix all existing violations 2026-04-05 15:52:51 -07:00
linkspeed all: remove AUTHORS file and references to it 2026-01-23 15:49:45 -08:00
linuxdnsfight all: use Go 1.26 things, run most gofix modernizers 2026-03-06 13:32:03 -08:00
oauthkey cmd/vet: add subtestnames analyzer; fix all existing violations 2026-04-05 15:52:51 -07:00
portlist feature/portlist: address case where poller misses CollectServices updates 2026-03-04 13:07:23 -08:00
portmapper all: remove AUTHORS file and references to it 2026-01-23 15:49:45 -08:00
posture all: remove AUTHORS file and references to it 2026-01-23 15:49:45 -08:00
relayserver cmd/vet: add subtestnames analyzer; fix all existing violations 2026-04-05 15:52:51 -07:00
sdnotify all: remove AUTHORS file and references to it 2026-01-23 15:49:45 -08:00
ssh ipn/ipnlocal, feature/ssh: move SSH code out of LocalBackend to feature 2026-03-10 17:27:17 -07:00
syspolicy all: remove AUTHORS file and references to it 2026-01-23 15:49:45 -08:00
taildrop tailcfg: reintroduce UserProfile.Groups 2026-03-09 11:08:45 +00:00
tap all: remove AUTHORS file and references to it 2026-01-23 15:49:45 -08:00
tpm all: remove AUTHORS file and references to it 2026-01-23 15:49:45 -08:00
tundevstats feature/*,net/tstun: add tundev_txq_drops clientmetric on Linux 2026-03-24 09:44:58 -07:00
useproxy all: remove AUTHORS file and references to it 2026-01-23 15:49:45 -08:00
wakeonlan all: remove AUTHORS file and references to it 2026-01-23 15:49:45 -08:00
feature.go all: remove AUTHORS file and references to it 2026-01-23 15:49:45 -08:00
hooks.go ipn/ipnlocal, feature/ssh: move SSH code out of LocalBackend to feature 2026-03-10 17:27:17 -07:00
sdnotify.go all: remove AUTHORS file and references to it 2026-01-23 15:49:45 -08:00