This softens the behavior originally introduced in
eded61e410df to apply
only to the fallback dns servers.
The intent is that the global FallbackDNS (instead of DNS) can now be
used in conjunction with the per-link dns, providing a fallback behavior
without introducing a scope overlap.
References:
eded61e410df (resolved: demote the global unicast scope, 2024-08-19)
is sent to all DNS servers that are configured on links with the <varname>DefaultRoute=</varname>
option set, as well as the globally configured DNS server.</para></listitem>
- <listitem><para>If there is no link configured as <varname>DefaultRoute=</varname> and no global DNS
- server configured, one of the compiled-in fallback DNS servers is used.</para></listitem>
+ <listitem><para>If there are no DNS servers configured on any link also configured as
+ <varname>DefaultRoute=</varname> and no global DNS server configured, one of the compiled-in fallback
+ DNS servers is used.</para></listitem>
<listitem><para>Otherwise the unicast DNS query fails, as no suitable DNS servers can be determined.
</para></listitem>
if (!dns_scope_is_default_route(s))
return DNS_SCOPE_NO;
+ /* Prefer suitable per-link scopes where possible */
+ if (dns_server_is_fallback(dns_scope_get_dns_server(s)))
+ return DNS_SCOPE_LAST_RESORT;
+
return DNS_SCOPE_MAYBE;
}