net: don't keep reading from UDP resolver after truncated packet #23873
Labels
NeedsInvestigation
Someone must examine and confirm this is a valid issue and not a duplicate of an existing one.
Milestone
When the
host
ordig
programs see a malformed packet from a resolver when using UDP, they fall back to using TCP. The net package resolver does not do this; it simply ignores the malformed packet (in(*dnsPacketConn).dnsRoundTrip
in net/dnsclient_unix.go). This was done for #13281. I suggest that we do the same.This is showing up right now for me when I run
go test -test.run=TestLookupLongTXT net
. I see this:If I run
dig -t txt golang.rsc.io
the output starts withI suggest that we keep the current behavior for the
!resp.IsResponseTo(query)
case but change the behavior for anUnpack
failure to drop right back to TCP.CC @mdempsky
The text was updated successfully, but these errors were encountered: