From: Ronan Pigott Date: Tue, 20 Aug 2024 17:25:28 +0000 (-0700) Subject: resolved: use the fallback servers when no default dns is configured X-Git-Tag: v257-rc1~651^2~1 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=760fa203c2e335d437948355f1dc66b88b39b9f6;p=thirdparty%2Fsystemd.git resolved: use the fallback servers when no default dns is configured This expands the role of fallback servers so they are applied not only when there are no dns servers configured, but when all the configured dns servers are configured only for non-default-route links. --- diff --git a/src/resolve/resolved-dns-server.c b/src/resolve/resolved-dns-server.c index cfdcc6d9bc7..b48d8e14178 100644 --- a/src/resolve/resolved-dns-server.c +++ b/src/resolve/resolved-dns-server.c @@ -907,7 +907,7 @@ DnsServer *manager_get_dns_server(Manager *m) { * servers */ HASHMAP_FOREACH(l, m->links) - if (l->dns_servers) { + if (l->dns_servers && l->default_route) { found = true; break; } diff --git a/src/resolve/resolved-link-bus.c b/src/resolve/resolved-link-bus.c index f5a3b0e36be..5e9e5bf17a7 100644 --- a/src/resolve/resolved-link-bus.c +++ b/src/resolve/resolved-link-bus.c @@ -463,8 +463,7 @@ int bus_link_method_set_default_route(sd_bus_message *message, void *userdata, s bus_client_log(message, "dns default route change"); if (l->default_route != b) { - l->default_route = b; - + link_set_default_route(l, b); (void) link_save_user(l); (void) manager_write_resolv_conf(l->manager); diff --git a/src/resolve/resolved-link.c b/src/resolve/resolved-link.c index 01fa5878a68..928137b967a 100644 --- a/src/resolve/resolved-link.c +++ b/src/resolve/resolved-link.c @@ -319,7 +319,7 @@ static int link_update_default_route(Link *l) { if (r < 0) goto clear; - l->default_route = r > 0; + link_set_default_route(l, r > 0); return 0; clear: