resolved: don't accept responses to query unless they completely answer our questions
When we checking if the responses we collected for a DnsQuery are sufficient to complete it we previously only check if one of the collected response RRs matches at least one of the question RR keys. This changes the logic to require that there must be at least one response RR matched *each* of the question RR keys before considering the answer complete. Otherwise we might end up accepting an A reply as complete answer for an A/AAAA query and vice versa, but we want to make sure we wait until we get a reply on both types before returning this to the user in all cases. This has been broken for basically forever, but didn't surface until b1eea703 since until then we'd basically ignore the auxiliary RRs included in CNAME/DNAME replies. Once that commit was made we'd start using the auxiliary RRs included in CNAME/DNAME replies but those typically included only A or only AAAA which we then took for complete. Fixe: #19049
Loading
Please register or sign in to comment