[client] Fix DNS forwarder returning broken records on 4 to 6 mapped IP addresses (#4887)

This commit is contained in:
Viktor Liu
2025-12-05 17:42:49 +01:00
committed by GitHub
parent f538e6e9ae
commit 3f4f825ec1

View File

@@ -234,6 +234,11 @@ func (f *DNSForwarder) handleDNSQuery(w dns.ResponseWriter, query *dns.Msg) *dns
return nil
}
// Unmap IPv4-mapped IPv6 addresses that some resolvers may return
for i, ip := range ips {
ips[i] = ip.Unmap()
}
f.updateInternalState(ips, mostSpecificResId, matchingEntries)
f.addIPsToResponse(resp, domain, ips)
f.cache.set(domain, question.Qtype, ips)