summaryrefslogtreecommitdiffhomepage
path: root/wgengine/netstack
diff options
context:
space:
mode:
authorAndrew Dunham <andrew@du.nham.ca>2023-09-07 16:27:50 -0400
committerAndrew Dunham <andrew@du.nham.ca>2023-09-25 16:42:07 -0400
commit530aaa52f1ff8942467768a67711e222e7911680 (patch)
tree2c10c664510f3adb0f1b4efbe8b85b01323914f8 /wgengine/netstack
parent098d1107462f04d1047d590a82a4c0c00e9b5526 (diff)
downloadtailscale-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.go2
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