mirror of
https://github.com/tailscale/tailscale.git
synced 2025-08-11 21:27:31 +00:00
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
This commit is contained in:
@@ -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
|
||||
|
Reference in New Issue
Block a user