[client] Fallback to TCP if a truncated UDP response is received from upstream DNS (#3632)

This commit is contained in:
Viktor Liu
2025-04-08 13:41:13 +02:00
committed by GitHub
parent 192c97aa63
commit 03f600b576
5 changed files with 53 additions and 9 deletions

View File

@ -27,7 +27,7 @@ func (r *Route) getIPsFromResolver(domain domain.Domain) ([]net.IP, error) {
startTime := time.Now()
response, _, err := privateClient.Exchange(msg, r.resolverAddr)
response, _, err := nbdns.ExchangeWithFallback(nil, privateClient, msg, r.resolverAddr)
if err != nil {
return nil, fmt.Errorf("DNS query for %s failed after %s: %s ", domain.SafeString(), time.Since(startTime), err)
}