resolve: transaction - stop processing packet when found to be invalid
We were stopping the transaction, but we need to stop processing the packet alltogether.
This commit is contained in:
parent
0e03ade57e
commit
6709eb94f9
|
@ -417,8 +417,10 @@ void dns_transaction_process_reply(DnsTransaction *t, DnsPacket *p) {
|
|||
|
||||
/* Only consider responses with equivalent query section to the request */
|
||||
if (!dns_question_is_superset(p->question, t->question) ||
|
||||
!dns_question_is_superset(t->question, p->question))
|
||||
!dns_question_is_superset(t->question, p->question)) {
|
||||
dns_transaction_complete(t, DNS_TRANSACTION_INVALID_REPLY);
|
||||
return;
|
||||
}
|
||||
|
||||
/* According to RFC 4795, section 2.9. only the RRs from the answer section shall be cached */
|
||||
dns_cache_put(&t->scope->cache, p->question, DNS_PACKET_RCODE(p), p->answer, DNS_PACKET_ANCOUNT(p), 0, p->family, &p->sender);
|
||||
|
|
Loading…
Reference in New Issue