From 9a9999a7137412cafc4244b915de0e7c25308939 Mon Sep 17 00:00:00 2001
From: Lennart Poettering <lennart@poettering.net>
Date: Fri, 18 Dec 2015 19:27:16 +0100
Subject: 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.
---
 src/resolve/resolved-dns-packet.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

(limited to 'src')

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;
-- 
cgit v1.2.3-54-g00ecf