resolved: stop mdns/llmnr if no interface request it after bus method

This commit is contained in:
Yu Watanabe
2025-01-25 10:07:38 +09:00
parent 962b757d9b
commit 269da24c5a
+9
View File
@@ -14,6 +14,8 @@
#include "resolve-util.h"
#include "resolved-bus.h"
#include "resolved-link-bus.h"
#include "resolved-llmnr.h"
#include "resolved-mdns.h"
#include "resolved-resolv-conf.h"
#include "socket-netlink.h"
#include "stdio-util.h"
@@ -517,6 +519,8 @@ int bus_link_method_set_llmnr(sd_bus_message *message, void *userdata, sd_bus_er
(void) link_save_user(l);
manager_llmnr_maybe_stop(l->manager);
log_link_info(l, "Bus client set LLMNR setting: %s", resolve_support_to_string(mode));
}
@@ -567,6 +571,8 @@ int bus_link_method_set_mdns(sd_bus_message *message, void *userdata, sd_bus_err
(void) link_save_user(l);
manager_mdns_maybe_stop(l->manager);
log_link_info(l, "Bus client set MulticastDNS setting: %s", resolve_support_to_string(mode));
}
@@ -769,6 +775,9 @@ int bus_link_method_revert(sd_bus_message *message, void *userdata, sd_bus_error
(void) manager_write_resolv_conf(l->manager);
(void) manager_send_changed(l->manager, "DNS");
manager_llmnr_maybe_stop(l->manager);
manager_mdns_maybe_stop(l->manager);
return sd_bus_reply_method_return(message, NULL);
}