summaryrefslogtreecommitdiff
path: root/src/resolve/resolved-dns-packet.c
diff options
context:
space:
mode:
authorLennart Poettering <lennart@poettering.net>2015-12-18 19:27:16 +0100
committerLennart Poettering <lennart@poettering.net>2015-12-18 19:27:16 +0100
commit9a9999a7137412cafc4244b915de0e7c25308939 (patch)
tree6b817e92b7a62d0af7a823593af8b7ab6bea5639 /src/resolve/resolved-dns-packet.c
parentef9a3e3c28095e52f8ffe96acf3c70b2babfacb5 (diff)
resolved: don't honour mDNS cache-flush bit for OPT RRs
OPT RRs after all use the class field for other purposes than actually encoding a class, hence the cache flush bit doesn't apply really.
Diffstat (limited to 'src/resolve/resolved-dns-packet.c')
-rw-r--r--src/resolve/resolved-dns-packet.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/src/resolve/resolved-dns-packet.c b/src/resolve/resolved-dns-packet.c
index bb299462a7..2b7d634a51 100644
--- a/src/resolve/resolved-dns-packet.c
+++ b/src/resolve/resolved-dns-packet.c
@@ -1483,7 +1483,7 @@ int dns_packet_read_key(DnsPacket *p, DnsResourceKey **ret, size_t *start) {
if (p->protocol == DNS_PROTOCOL_MDNS) {
/* See RFC6762, Section 10.2 */
- if (class & MDNS_RR_CACHE_FLUSH)
+ if (type != DNS_TYPE_OPT && (class & MDNS_RR_CACHE_FLUSH))
class &= ~MDNS_RR_CACHE_FLUSH;
else
cache_flush = false;