tailscale/ipn
Nick Khyl caa3d7594f ipn/ipnlocal, net/tsdial: plumb routes into tsdial and use them in UserDial
We'd like to use tsdial.Dialer.UserDial instead of SystemDial for DNS over TCP.
This is primarily necessary to properly dial internal DNS servers accessible
over Tailscale and subnet routes. However, to avoid issues when switching
between Wi-Fi and cellular, we need to ensure that we don't retain connections
to any external addresses on the old interface. Therefore, we need to determine
which dialer to use internally based on the configured routes.

This plumbs routes and localRoutes from router.Config to tsdial.Dialer,
and updates UserDial to use either the peer dialer or the system dialer,
depending on the network address and the configured routes.

Updates tailscale/corp#18725
Fixes #4529

Signed-off-by: Nick Khyl <nickk@tailscale.com>
2024-05-06 15:44:44 -05:00
..
conffile ipn/{conffile,ipnlocal}: start booting tailscaled from a config file w/ auth key 2023-10-17 07:12:49 -07:00
ipnauth go.mod, all: move away from inet.af domain seized by Taliban 2024-02-13 19:21:09 -08:00
ipnlocal ipn/ipnlocal, net/tsdial: plumb routes into tsdial and use them in UserDial 2024-05-06 15:44:44 -05:00
ipnserver ipn/{ipnlocal,localapi},wgengine{,/magicsock}: plumb health.Tracker 2024-04-26 09:43:28 -07:00
ipnstate ipn/ipnlocal: populate peers' capabilities (#11365) 2024-04-03 10:55:28 -04:00
localapi appc: setting AdvertiseRoutes explicitly discards app connector routes 2024-04-29 11:40:04 -07:00
policy ipn,tailconfig: clean up unreleased and removed app connector service 2023-11-09 22:36:52 -08:00
store cmd/containerboot,kube,ipn/store/kubestore: allow interactive login on kube, check Secret create perms, allow empty state Secret (#11326) 2024-04-29 17:03:48 +01:00
backend.go ipn: remove unused Options.LegacyMigrationPrefs 2024-04-15 22:13:53 -07:00
conf.go cmd/k8s-operator,ipn/conf.go: fix --accept-routes for proxies (#11453) 2024-03-19 14:54:17 +00:00
doc.go all: update copyright and license headers 2023-01-27 15:36:29 -08:00
ipn_clone.go ipn/{localapi, ipnlocal}: forget the prior exit node when localAPI is used to zero the ExitNodeID (#11681) 2024-04-16 14:53:56 -04:00
ipn_test.go net/packet: split off checksum munging into different pkg 2023-10-11 14:25:58 -07:00
ipn_view.go ipn/{localapi, ipnlocal}: forget the prior exit node when localAPI is used to zero the ExitNodeID (#11681) 2024-04-16 14:53:56 -04:00
prefs_test.go all: use Go 1.22 range-over-int 2024-04-16 15:32:38 -07:00
prefs.go all: use Go 1.22 range-over-int 2024-04-16 15:32:38 -07:00
serve_test.go {ipn/serve,cmd/tailscale/cli}: move some shared funcs to ipn 2024-03-05 14:30:38 -05:00
serve.go all: deprecate Node.Capabilities (more), remove PeerChange.Capabilities [capver 89] 2024-03-24 21:08:46 -07:00
store_test.go ipn: avoid useless no-op WriteState calls 2023-08-07 08:44:24 -07:00
store.go ipn: add comment about thread-safety to StateStore 2024-03-06 12:42:18 -06:00