chiark / gitweb /
resolved: don't do llmnr on interfaces lacking multicasting
authorLennart Poettering <lennart@poettering.net>
Tue, 29 Jul 2014 23:48:22 +0000 (01:48 +0200)
committerLennart Poettering <lennart@poettering.net>
Tue, 29 Jul 2014 23:48:22 +0000 (01:48 +0200)
src/resolve/resolved-link.c

index 341cb5aea299d85fcc9b8d5974ec9f4d35a38a10..cd6e4ba8e6f695e31095c19edfd4100f2fca8b61 100644 (file)
@@ -96,7 +96,7 @@ static void link_allocate_scopes(Link *l) {
         } else
                 l->unicast_scope = dns_scope_free(l->unicast_scope);
 
-        if (link_relevant(l, AF_INET) && l->manager->use_llmnr) {
+        if (link_relevant(l, AF_INET) && (l->flags & IFF_MULTICAST) && l->manager->use_llmnr) {
                 if (!l->llmnr_ipv4_scope) {
                         r = dns_scope_new(l->manager, &l->llmnr_ipv4_scope, l, DNS_PROTOCOL_LLMNR, AF_INET);
                         if (r < 0)
@@ -105,7 +105,7 @@ static void link_allocate_scopes(Link *l) {
         } else
                 l->llmnr_ipv4_scope = dns_scope_free(l->llmnr_ipv4_scope);
 
-        if (link_relevant(l, AF_INET6) && l->manager->use_llmnr) {
+        if (link_relevant(l, AF_INET6) && (l->flags & IFF_MULTICAST) && l->manager->use_llmnr) {
                 if (!l->llmnr_ipv6_scope) {
                         r = dns_scope_new(l->manager, &l->llmnr_ipv6_scope, l, DNS_PROTOCOL_LLMNR, AF_INET6);
                         if (r < 0)