From b5efcf29d2427895ea69f42a3d6a3b74e6f51df7 Mon Sep 17 00:00:00 2001 From: Lennart Poettering Date: Wed, 9 Dec 2015 18:00:58 +0100 Subject: [PATCH] resolved: reenable caching for LLMNR This got borked in 547493c5ad5c82032e247609970f96be76c2d661. --- src/resolve/resolved-dns-transaction.c | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/src/resolve/resolved-dns-transaction.c b/src/resolve/resolved-dns-transaction.c index b83aef5f35..a0b8e1e223 100644 --- a/src/resolve/resolved-dns-transaction.c +++ b/src/resolve/resolved-dns-transaction.c @@ -362,7 +362,10 @@ void dns_transaction_process_reply(DnsTransaction *t, DnsPacket *p) { * should hence not attempt to access the query or transaction * after calling this function. */ + log_debug("Processing incoming packet on transaction %" PRIu16".", t->id); + switch (t->scope->protocol) { + case DNS_PROTOCOL_LLMNR: assert(t->scope->link); @@ -503,7 +506,8 @@ void dns_transaction_process_reply(DnsTransaction *t, DnsPacket *p) { return; } - if (t->scope->protocol == DNS_PROTOCOL_DNS) { + if (IN_SET(t->scope->protocol, DNS_PROTOCOL_DNS, DNS_PROTOCOL_LLMNR)) { + /* Only consider responses with equivalent query section to the request */ r = dns_packet_is_reply_for(p, t->key); if (r < 0) {