mirror of
https://github.com/systemd/systemd.git
synced 2024-12-22 17:35:35 +03:00
resolved: update condition for caching full packets
Previously a full packet was cached only if the CD bit was set, but this no longer corresponds to the cases where bypass is enabled. Update the cache to retain a full packet in the cases where it might actually be useful.
This commit is contained in:
parent
36074e0149
commit
fa02d04ee9
@ -840,10 +840,8 @@ static void dns_transaction_cache_answer(DnsTransaction *t) {
|
||||
dns_transaction_key(t),
|
||||
t->answer_rcode,
|
||||
t->answer,
|
||||
DNS_PACKET_CD(t->received) ? t->received : NULL, /* only cache full packets with CD on,
|
||||
* since our use case for caching them
|
||||
* is "bypass" mode which is only
|
||||
* enabled for CD packets. */
|
||||
/* If neither DO nor EDE is set, the full packet isn't useful to cache */
|
||||
DNS_PACKET_DO(t->received) || t->answer_ede_rcode > 0 || t->answer_ede_msg ? t->received : NULL,
|
||||
t->answer_query_flags,
|
||||
t->answer_dnssec_result,
|
||||
t->answer_nsec_ttl,
|
||||
|
Loading…
Reference in New Issue
Block a user