diff options
| author | Andrew Dunham <andrew@du.nham.ca> | 2023-09-07 16:27:50 -0400 |
|---|---|---|
| committer | Andrew Dunham <andrew@du.nham.ca> | 2023-09-25 16:42:07 -0400 |
| commit | 530aaa52f1ff8942467768a67711e222e7911680 (patch) | |
| tree | 2c10c664510f3adb0f1b4efbe8b85b01323914f8 /wgengine/netstack | |
| parent | 098d1107462f04d1047d590a82a4c0c00e9b5526 (diff) | |
| download | tailscale-530aaa52f1ff8942467768a67711e222e7911680.tar.xz tailscale-530aaa52f1ff8942467768a67711e222e7911680.zip | |
net/dns: retry forwarder requests over TCP
We weren't correctly retrying truncated requests to an upstream DNS
server with TCP. Instead, we'd return a truncated request to the user,
even if the user was querying us over TCP and thus able to handle a
large response.
Also, add an envknob and controlknob to allow users/us to disable this
behaviour if it turns out to be buggy (✨ DNS ✨).
Updates #9264
Signed-off-by: Andrew Dunham <andrew@du.nham.ca>
Change-Id: Ifb04b563839a9614c0ba03e9c564e8924c1a2bfd
Diffstat (limited to 'wgengine/netstack')
| -rw-r--r-- | wgengine/netstack/netstack.go | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/wgengine/netstack/netstack.go b/wgengine/netstack/netstack.go index e2f930b4c..acff80fbc 100644 --- a/wgengine/netstack/netstack.go +++ b/wgengine/netstack/netstack.go @@ -1086,7 +1086,7 @@ func (ns *Impl) handleMagicDNSUDP(srcAddr netip.AddrPort, c *gonet.UDPConn) { } return } - resp, err := ns.dns.Query(context.Background(), q[:n], srcAddr) + resp, err := ns.dns.Query(context.Background(), q[:n], "udp", srcAddr) if err != nil { ns.logf("dns udp query: %v", err) return |
