mirror of
https://github.com/linux-system-roles/network.git
synced 2026-01-23 02:15:17 +00:00
Fix: support dns_search and dns_options for all address family
`dns_search` and `dns_options` should not be specific to the address family. Previously, `dns_search` and `dns_options` were only supported for IPv4 nameservers, so we also need to support `dns_search` and `dns_options` for IPv6 nameservers. Signed-off-by: Wen Liang <liangwen12year@gmail.com>
This commit is contained in:
parent
2444e27cce
commit
93e509b533
5 changed files with 165 additions and 17 deletions
|
|
@ -1023,14 +1023,14 @@ class NMUtil:
|
|||
s_ip4.set_property(
|
||||
NM.SETTING_IP_CONFIG_ROUTE_METRIC, ip["route_metric4"]
|
||||
)
|
||||
for d in ip["dns"]:
|
||||
if d["family"] == socket.AF_INET:
|
||||
s_ip4.add_dns(d["address"])
|
||||
for s in ip["dns_search"]:
|
||||
s_ip4.add_dns_search(s)
|
||||
for nameserver in ip["dns"]:
|
||||
if nameserver["family"] == socket.AF_INET:
|
||||
s_ip4.add_dns(nameserver["address"])
|
||||
for search_domain in ip["dns_search"]:
|
||||
s_ip4.add_dns_search(search_domain)
|
||||
s_ip4.clear_dns_options(True)
|
||||
for s in ip["dns_options"]:
|
||||
s_ip4.add_dns_option(s)
|
||||
for option in ip["dns_options"]:
|
||||
s_ip4.add_dns_option(option)
|
||||
|
||||
if ip["ipv6_disabled"]:
|
||||
s_ip6.set_property(NM.SETTING_IP_CONFIG_METHOD, "disabled")
|
||||
|
|
@ -1056,9 +1056,14 @@ class NMUtil:
|
|||
s_ip6.set_property(
|
||||
NM.SETTING_IP_CONFIG_ROUTE_METRIC, ip["route_metric6"]
|
||||
)
|
||||
for d in ip["dns"]:
|
||||
if d["family"] == socket.AF_INET6:
|
||||
s_ip6.add_dns(d["address"])
|
||||
for nameserver in ip["dns"]:
|
||||
if nameserver["family"] == socket.AF_INET6:
|
||||
s_ip6.add_dns(nameserver["address"])
|
||||
for search_domain in ip["dns_search"]:
|
||||
s_ip6.add_dns_search(search_domain)
|
||||
s_ip6.clear_dns_options(True)
|
||||
for option in ip["dns_options"]:
|
||||
s_ip6.add_dns_option(option)
|
||||
|
||||
if ip["route_append_only"] and connection_current:
|
||||
for r in self.setting_ip_config_get_routes(
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue