diff options
| author | Brad Fitzpatrick <bradfitz@tailscale.com> | 2026-04-06 23:45:17 +0000 |
|---|---|---|
| committer | Brad Fitzpatrick <bradfitz@tailscale.com> | 2026-04-06 23:45:17 +0000 |
| commit | 07869784472492e9420632a8c10a86bbdf888b5f (patch) | |
| tree | 9ce1dc200c51781c44446906b1c1cbc957533a9f /ssh/tailssh | |
| parent | d0cd0906d5d40567d10aebfab1b8ebe14ca48f64 (diff) | |
| download | tailscale-bradfitz/dial_local.tar.xz tailscale-bradfitz/dial_local.zip | |
net/tsdial, ipn/localapi, client/local: let clients dial non-Tailscale addresses directlybradfitz/dial_local
Add a tsdial.Dialer.UserDialPlan method that resolves an address and
reports whether the dialer would route it via Tailscale. The LocalAPI
/dial handler now uses this to skip proxying for addresses that aren't
Tailscale routes (e.g. localhost), returning a Dial-Self response with
the resolved address so the client can dial it directly. This avoids
an unnecessary round-trip through the daemon for local connections.
The client's UserDial handles the new response by dialing the resolved
address itself, and the server passes the pre-resolved IP:port for
Tailscale dials to avoid redundant DNS lookups.
Updates tailscale/corp#39702
Change-Id: I78d640f11ccd92f43ddd505cbb0db8fee19f43a6
Signed-off-by: Brad Fitzpatrick <bradfitz@tailscale.com>
Diffstat (limited to 'ssh/tailssh')
0 files changed, 0 insertions, 0 deletions
