]> git.ipfire.org Git - thirdparty/systemd.git/commitdiff
resolved: stop mdns/lnrr when config changes to disabled on reload
authorLuca Boccassi <luca.boccassi@gmail.com>
Thu, 2 Jan 2025 17:30:21 +0000 (17:30 +0000)
committerDaan De Meyer <daan.j.demeyer@gmail.com>
Fri, 3 Jan 2025 08:22:45 +0000 (09:22 +0100)
Currently on reload mdns/lnrr are enabled if they were disabled,
but not viceversa. Fix it.

Follow-up for 14a52176798bc2d013297b503ac6fa49a64e2725

mkosi.conf
src/resolve/resolved-link.c
test/units/TEST-75-RESOLVED.sh

index ab8a6a137244a9df892e4ecde9c1681422644c5d..c5d7286b2fcd21fbc9e0af342206d86c9e2f5c2c 100644 (file)
@@ -103,6 +103,7 @@ Packages=
         kmod
         less
         llvm
+        lsof
         lvm2
         man
         mdadm
index 928137b967a70b26c2ea82da662fd88366946dad..067a0813ec157cad06d35da68aefcb7b78255b56 100644 (file)
@@ -651,13 +651,16 @@ int link_update(Link *l) {
                 r = manager_llmnr_start(l->manager);
                 if (r < 0)
                         return r;
-        }
+        } else
+                manager_llmnr_stop(l->manager);
+
 
         if (link_get_mdns_support(l) != RESOLVE_SUPPORT_NO) {
                 r = manager_mdns_start(l->manager);
                 if (r < 0)
                         return r;
-        }
+        } else
+                manager_mdns_stop(l->manager);
 
         link_allocate_scopes(l);
         link_add_rrs(l, false);
index 576c04f87ac09059e243d19f0da480f5149d978a..fd07fd898a226851717a45487ad744bef2f67699 100755 (executable)
@@ -339,6 +339,7 @@ manual_testcase_02_mdns_llmnr() {
     # defaults to yes (both the global and per-link settings are yes)
     assert_in 'yes' "$(resolvectl mdns hoge)"
     assert_in 'yes' "$(resolvectl llmnr hoge)"
+    lsof -p "$(systemctl show --property MainPID --value systemd-resolved.service)" | grep -q ":mdns\|:5353"
     # set per-link setting
     resolvectl mdns hoge yes
     resolvectl llmnr hoge yes
@@ -379,6 +380,7 @@ manual_testcase_02_mdns_llmnr() {
         echo "LLMNR=no"
     } >/run/systemd/resolved.conf.d/mdns-llmnr.conf
     systemctl reload systemd-resolved.service
+    (! lsof -p "$(systemctl show --property MainPID --value systemd-resolved.service)" | grep -q ":mdns\|:5353")
     # set per-link setting
     resolvectl mdns hoge yes
     resolvectl llmnr hoge yes