tailscale/tailcfg
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
..
c2ntypes.go ipn/ipnlocal: add c2n method to check on TLS cert fetch status 2023-11-16 14:08:38 -08:00
derpmap.go all: make more tests pass/skip in airplane mode 2024-05-06 09:19:53 -07:00
proto_port_range_test.go tailcfg: implement text encoding for ProtoPortRange 2023-10-11 23:59:42 -07:00
proto_port_range.go tailcfg: implement text encoding for ProtoPortRange 2023-10-11 23:59:42 -07:00
tailcfg_clone.go tailcfg: remove some unused fields from RegisterResponseAuth 2024-04-21 10:29:19 -07:00
tailcfg_test.go all: use Go 1.22 range-over-int 2024-04-16 15:32:38 -07:00
tailcfg_view.go tailcfg: remove some unused fields from RegisterResponseAuth 2024-04-21 10:29:19 -07:00
tailcfg.go ipn/ipnlocal, net/tsdial: plumb routes into tsdial and use them in UserDial 2024-05-06 15:44:44 -05:00
tka.go tailcfg: add RPC structs for /tka/affected-sigs 2023-02-21 21:58:38 +00:00