chiark / gitweb /
resolved: properly set TTL in SOA records
[elogind.git] / src / resolve / resolved-link.c
index 341cb5aea299d85fcc9b8d5974ec9f4d35a38a10..a4c23bab06a69b2b7d4b9ac14a84ad38ebb33b6d 100644 (file)
@@ -25,9 +25,6 @@
 #include "strv.h"
 #include "resolved-link.h"
 
-/* RFC 4795 Section 2.8. suggests a TTL of 30s by default */
-#define LLMNR_DEFAULT_TTL (30)
-
 static void link_address_add_rrs(LinkAddress *a);
 
 int link_new(Manager *m, Link **ret, int ifindex) {
@@ -96,7 +93,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 +102,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)