From f1b1a5c4cacc36ae69ae46b6a9426fbb10d1f930 Mon Sep 17 00:00:00 2001 From: Lennart Poettering Date: Wed, 6 Dec 2017 12:44:05 +0100 Subject: [PATCH 1/2] resolved: downgrade log messages about incoming LLMNR/mDNS packets on unexpected scopes This might very well happen due to races between joining multicast groups and network configuration and such, let's not complain, but just drop the messages at debug level. Fixes: #7527 --- src/resolve/resolved-llmnr.c | 11 +++++++---- src/resolve/resolved-mdns.c | 2 +- 2 files changed, 8 insertions(+), 5 deletions(-) diff --git a/src/resolve/resolved-llmnr.c b/src/resolve/resolved-llmnr.c index d05d669db2..3e6e8b93b0 100644 --- a/src/resolve/resolved-llmnr.c +++ b/src/resolve/resolved-llmnr.c @@ -101,9 +101,12 @@ static int on_llmnr_packet(sd_event_source *s, int fd, uint32_t revents, void *u return r; scope = manager_find_scope(m, p); - if (!scope) - log_warning("Got LLMNR UDP packet on unknown scope. Ignoring."); - else if (dns_packet_validate_reply(p) > 0) { + if (!scope) { + log_debug("Got LLMNR UDP packet on unknown scope. Ignoring."); + return 0; + } + + if (dns_packet_validate_reply(p) > 0) { log_debug("Got LLMNR UDP reply packet for id %u", DNS_PACKET_ID(p)); dns_scope_check_conflicts(scope, p); @@ -327,7 +330,7 @@ static int on_llmnr_stream_packet(DnsStream *s) { scope = manager_find_scope(s->manager, s->read_packet); if (!scope) - log_warning("Got LLMNR TCP packet on unknown scope. Ignoring."); + log_debug("Got LLMNR TCP packet on unknown scope. Ignoring."); else if (dns_packet_validate_query(s->read_packet) > 0) { log_debug("Got LLMNR TCP query packet for id %u", DNS_PACKET_ID(s->read_packet)); diff --git a/src/resolve/resolved-mdns.c b/src/resolve/resolved-mdns.c index 37cc1e9704..a492937176 100644 --- a/src/resolve/resolved-mdns.c +++ b/src/resolve/resolved-mdns.c @@ -121,7 +121,7 @@ static int on_mdns_packet(sd_event_source *s, int fd, uint32_t revents, void *us scope = manager_find_scope(m, p); if (!scope) { - log_warning("Got mDNS UDP packet on unknown scope. Ignoring."); + log_debug("Got mDNS UDP packet on unknown scope. Ignoring."); return 0; } From 6cae1ebe196f0969c902702385e2016727785ed5 Mon Sep 17 00:00:00 2001 From: Lennart Poettering Date: Wed, 6 Dec 2017 12:45:39 +0100 Subject: [PATCH 2/2] resolved: ignore our own LLMNR packets, the same way we ignore mDNS packets already Let's minimize our traffic a bit. And for local names we bypass the packet generation anyway. --- src/resolve/resolved-llmnr.c | 3 +++ 1 file changed, 3 insertions(+) diff --git a/src/resolve/resolved-llmnr.c b/src/resolve/resolved-llmnr.c index 3e6e8b93b0..59499c9c0b 100644 --- a/src/resolve/resolved-llmnr.c +++ b/src/resolve/resolved-llmnr.c @@ -100,6 +100,9 @@ static int on_llmnr_packet(sd_event_source *s, int fd, uint32_t revents, void *u if (r <= 0) return r; + if (manager_our_packet(m, p)) + return 0; + scope = manager_find_scope(m, p); if (!scope) { log_debug("Got LLMNR UDP packet on unknown scope. Ignoring.");