network: introduce network- and protocol-independent default for UseDomains=
Follow-up for fb57300743.
Prompted by #32273.
This commit is contained in:
@@ -31,7 +31,7 @@ UseDomains link_get_use_domains(Link *link, NetworkConfigSource proto) {
|
||||
case NETWORK_CONFIG_SOURCE_NDISC:
|
||||
n = link->network->ndisc_use_domains;
|
||||
c = _USE_DOMAINS_INVALID;
|
||||
m = _USE_DOMAINS_INVALID;
|
||||
m = link->manager->ndisc_use_domains;
|
||||
break;
|
||||
default:
|
||||
assert_not_reached();
|
||||
@@ -45,12 +45,16 @@ UseDomains link_get_use_domains(Link *link, NetworkConfigSource proto) {
|
||||
if (c >= 0)
|
||||
return c;
|
||||
|
||||
/* If per-network but protocol-independent setting is specified, use it. */
|
||||
if (link->network->use_domains >= 0)
|
||||
return link->network->use_domains;
|
||||
|
||||
/* If global per-protocol setting is specified, use it. */
|
||||
if (m >= 0)
|
||||
return m;
|
||||
|
||||
/* Otherwise, defaults to no. */
|
||||
return USE_DOMAINS_NO;
|
||||
/* If none of them are specified, use the global protocol-independent value. */
|
||||
return link->manager->use_domains;
|
||||
}
|
||||
|
||||
bool link_get_use_dns(Link *link, NetworkConfigSource proto) {
|
||||
|
||||
@@ -31,6 +31,8 @@ Network.RouteTable, config_parse_route_table_names,
|
||||
Network.IPv4Forwarding, config_parse_tristate, 0, offsetof(Manager, ip_forwarding[0])
|
||||
Network.IPv6Forwarding, config_parse_tristate, 0, offsetof(Manager, ip_forwarding[1])
|
||||
Network.IPv6PrivacyExtensions, config_parse_ipv6_privacy_extensions, 0, offsetof(Manager, ipv6_privacy_extensions)
|
||||
Network.UseDomains, config_parse_use_domains, 0, offsetof(Manager, use_domains)
|
||||
IPv6AcceptRA.UseDomains, config_parse_use_domains, 0, offsetof(Manager, ndisc_use_domains)
|
||||
DHCPv4.UseDomains, config_parse_use_domains, 0, offsetof(Manager, dhcp_use_domains)
|
||||
DHCPv4.DUIDType, config_parse_duid_type, 0, offsetof(Manager, dhcp_duid)
|
||||
DHCPv4.DUIDRawData, config_parse_duid_rawdata, 0, offsetof(Manager, dhcp_duid)
|
||||
|
||||
@@ -601,6 +601,7 @@ int manager_new(Manager **ret, bool test_mode) {
|
||||
.persistent_storage_fd = persistent_storage_open(),
|
||||
.dhcp_use_domains = _USE_DOMAINS_INVALID,
|
||||
.dhcp6_use_domains = _USE_DOMAINS_INVALID,
|
||||
.ndisc_use_domains = _USE_DOMAINS_INVALID,
|
||||
.dhcp_duid.type = DUID_TYPE_EN,
|
||||
.dhcp6_duid.type = DUID_TYPE_EN,
|
||||
.duid_product_uuid.type = DUID_TYPE_UUID,
|
||||
|
||||
@@ -64,8 +64,10 @@ struct Manager {
|
||||
OrderedSet *address_pools;
|
||||
Set *dhcp_pd_subnet_ids;
|
||||
|
||||
UseDomains use_domains; /* default for all protocols */
|
||||
UseDomains dhcp_use_domains;
|
||||
UseDomains dhcp6_use_domains;
|
||||
UseDomains ndisc_use_domains;
|
||||
|
||||
DUID dhcp_duid;
|
||||
DUID dhcp6_duid;
|
||||
|
||||
@@ -118,6 +118,7 @@ Network.EmitLLDP, config_parse_lldp_multicast_mode,
|
||||
Network.Address, config_parse_address, 0, 0
|
||||
Network.Gateway, config_parse_gateway, 0, 0
|
||||
Network.Domains, config_parse_domains, 0, 0
|
||||
Network.UseDomains, config_parse_use_domains, 0, offsetof(Network, use_domains)
|
||||
Network.DNS, config_parse_dns, 0, 0
|
||||
Network.DNSDefaultRoute, config_parse_tristate, 0, offsetof(Network, dns_default_route)
|
||||
Network.LLMNR, config_parse_resolve_support, 0, offsetof(Network, llmnr)
|
||||
|
||||
@@ -377,6 +377,8 @@ int network_load_one(Manager *manager, OrderedHashmap **networks, const char *fi
|
||||
|
||||
.keep_configuration = manager->keep_configuration,
|
||||
|
||||
.use_domains = _USE_DOMAINS_INVALID,
|
||||
|
||||
.compat_dhcp_use_domains = _USE_DOMAINS_INVALID,
|
||||
.compat_dhcp_use_dns = -1,
|
||||
.compat_dhcp_use_ntp = -1,
|
||||
@@ -489,6 +491,7 @@ int network_load_one(Manager *manager, OrderedHashmap **networks, const char *fi
|
||||
.ndisc_use_hop_limit = true,
|
||||
.ndisc_use_reachable_time = true,
|
||||
.ndisc_use_retransmission_time = true,
|
||||
.ndisc_use_domains = _USE_DOMAINS_INVALID,
|
||||
.ndisc_route_table = RT_TABLE_MAIN,
|
||||
.ndisc_route_metric_high = IPV6RA_ROUTE_METRIC_HIGH,
|
||||
.ndisc_route_metric_medium = IPV6RA_ROUTE_METRIC_MEDIUM,
|
||||
|
||||
@@ -113,6 +113,9 @@ struct Network {
|
||||
bool default_route_on_device;
|
||||
AddressFamily ip_masquerade;
|
||||
|
||||
/* Protocol independent settings */
|
||||
UseDomains use_domains;
|
||||
|
||||
/* For backward compatibility, only applied to DHCPv4 and DHCPv6. */
|
||||
UseDomains compat_dhcp_use_domains;
|
||||
int compat_dhcp_use_dns;
|
||||
|
||||
@@ -24,16 +24,20 @@
|
||||
#ManageForeignNextHops=yes
|
||||
#RouteTable=
|
||||
#IPv6PrivacyExtensions=no
|
||||
#UseDomains=no
|
||||
|
||||
[IPv6AcceptRA]
|
||||
#UseDomains=
|
||||
|
||||
[DHCPv4]
|
||||
#DUIDType=vendor
|
||||
#DUIDRawData=
|
||||
#UseDomains=no
|
||||
#UseDomains=
|
||||
|
||||
[DHCPv6]
|
||||
#DUIDType=vendor
|
||||
#DUIDRawData=
|
||||
#UseDomains=no
|
||||
#UseDomains=
|
||||
|
||||
[DHCPServer]
|
||||
#PersistLeases=yes
|
||||
|
||||
Reference in New Issue
Block a user