mirror of
https://gitlab.freedesktop.org/NetworkManager/NetworkManager.git
synced 2026-05-11 11:38:27 +02:00
dns: Introduce nm_l3_config_data_get_dns_domains function
nm_l3_config_data_get_dns_domains function gets both domains and searches of NML3ConfigData structure
This commit is contained in:
parent
bef448a93e
commit
ca389ce017
3 changed files with 48 additions and 1 deletions
|
|
@ -2799,7 +2799,11 @@ _get_config_variant(NMDnsManager *self)
|
|||
else
|
||||
g_ptr_array_set_size(array_domains, 0);
|
||||
|
||||
add_dns_domains(array_domains, ip_data->addr_family, ip_data->l3cd, TRUE, FALSE);
|
||||
nm_l3_config_data_get_dns_domains(array_domains,
|
||||
ip_data->addr_family,
|
||||
ip_data->l3cd,
|
||||
TRUE,
|
||||
FALSE);
|
||||
if (array_domains->len) {
|
||||
g_variant_builder_add(&entry_builder,
|
||||
"{sv}",
|
||||
|
|
|
|||
|
|
@ -219,6 +219,43 @@ _garray_inaddr_clone(const GArray *src, int addr_family)
|
|||
return dst;
|
||||
}
|
||||
|
||||
void
|
||||
nm_l3_config_data_get_dns_domains(GPtrArray *array,
|
||||
int addr_family,
|
||||
const NML3ConfigData *l3cd,
|
||||
gboolean include_routing,
|
||||
gboolean dup)
|
||||
{
|
||||
const char *const *domains;
|
||||
const char *const *searches;
|
||||
guint num_domains;
|
||||
guint num_searches;
|
||||
guint i;
|
||||
const char *str;
|
||||
|
||||
domains = nm_l3_config_data_get_domains(l3cd, addr_family, &num_domains);
|
||||
searches = nm_l3_config_data_get_searches(l3cd, addr_family, &num_searches);
|
||||
|
||||
for (i = 0; i < num_searches; i++) {
|
||||
str = searches[i];
|
||||
if (!include_routing && nm_domain_is_routing(str))
|
||||
continue;
|
||||
if (!nm_domain_is_valid(nm_utils_parse_dns_domain(str, NULL), FALSE, TRUE))
|
||||
continue;
|
||||
nm_utils_g_ptr_array_add_string_item(array, str, dup);
|
||||
}
|
||||
if (num_domains > 1 || num_searches == 0) {
|
||||
for (i = 0; i < num_domains; i++) {
|
||||
str = domains[i];
|
||||
if (!include_routing && nm_domain_is_routing(str))
|
||||
continue;
|
||||
if (!nm_domain_is_valid(nm_utils_parse_dns_domain(str, NULL), FALSE, TRUE))
|
||||
continue;
|
||||
nm_utils_g_ptr_array_add_string_item(array, str, dup);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
static void
|
||||
_garray_inaddr_merge(GArray **p_dst, const GArray *src, int addr_family)
|
||||
{
|
||||
|
|
|
|||
|
|
@ -608,6 +608,12 @@ void nm_l3_config_data_set_allow_routes_without_address(NML3ConfigData *self,
|
|||
gboolean nm_l3_config_data_get_routed_dns(const NML3ConfigData *self, int addr_family);
|
||||
void nm_l3_config_data_set_routed_dns(NML3ConfigData *self, int addr_family, gboolean value);
|
||||
|
||||
void nm_l3_config_data_get_dns_domains(GPtrArray *array,
|
||||
int addr_family,
|
||||
const NML3ConfigData *l3cd,
|
||||
gboolean include_routing,
|
||||
gboolean dup);
|
||||
|
||||
NMProxyConfigMethod nm_l3_config_data_get_proxy_method(const NML3ConfigData *self);
|
||||
|
||||
gboolean nm_l3_config_data_set_proxy_method(NML3ConfigData *self, NMProxyConfigMethod value);
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue