diff options
author | Beniamino Galvani <bgalvani@redhat.com> | 2018-08-31 15:14:39 +0200 |
---|---|---|
committer | Beniamino Galvani <bgalvani@redhat.com> | 2018-09-06 09:07:41 +0200 |
commit | bc7efc750ab4ba0d67d61d17ad2d45e087cb80bb (patch) | |
tree | 0600fffe2186a9630393043476f2f050467b1780 /src/nm-ip4-config.c | |
parent | e83c31bbe0afff018dad0fa09184d0d63c2ee1a0 (diff) |
core: add support for connection.llmnr
Diffstat (limited to 'src/nm-ip4-config.c')
-rw-r--r-- | src/nm-ip4-config.c | 27 |
1 files changed, 27 insertions, 0 deletions
diff --git a/src/nm-ip4-config.c b/src/nm-ip4-config.c index 1edd3257af..5f1004130c 100644 --- a/src/nm-ip4-config.c +++ b/src/nm-ip4-config.c @@ -295,6 +295,7 @@ typedef struct { NMIPConfigSource mtu_source; int dns_priority; NMSettingConnectionMdns mdns; + NMSettingConnectionLlmnr llmnr; GArray *nameservers; GPtrArray *domains; GPtrArray *searches; @@ -916,6 +917,7 @@ void nm_ip4_config_merge_setting (NMIP4Config *self, NMSettingIPConfig *setting, NMSettingConnectionMdns mdns, + NMSettingConnectionLlmnr llmnr, guint32 route_table, guint32 route_metric) { @@ -1033,6 +1035,7 @@ nm_ip4_config_merge_setting (NMIP4Config *self, nm_ip4_config_set_dns_priority (self, priority); nm_ip4_config_mdns_set (self, mdns); + nm_ip4_config_llmnr_set (self, llmnr); g_object_thaw_notify (G_OBJECT (self)); } @@ -1253,6 +1256,10 @@ nm_ip4_config_merge (NMIP4Config *dst, nm_ip4_config_mdns_set (dst, NM_MAX (nm_ip4_config_mdns_get (src), nm_ip4_config_mdns_get (dst))); + /* LLMNR */ + nm_ip4_config_llmnr_set (dst, + NM_MAX (nm_ip4_config_llmnr_get (src), + nm_ip4_config_llmnr_get (dst))); g_object_thaw_notify (G_OBJECT (dst)); } @@ -1494,6 +1501,10 @@ nm_ip4_config_subtract (NMIP4Config *dst, if (nm_ip4_config_mdns_get (src) == nm_ip4_config_mdns_get (dst)) nm_ip4_config_mdns_set (dst, NM_SETTING_CONNECTION_MDNS_DEFAULT); + /* LLMNR */ + if (nm_ip4_config_llmnr_get (src) == nm_ip4_config_llmnr_get (dst)) + nm_ip4_config_llmnr_set (dst, NM_SETTING_CONNECTION_LLMNR_DEFAULT); + g_object_thaw_notify (G_OBJECT (dst)); } @@ -1595,6 +1606,7 @@ _nm_ip4_config_intersect_helper (NMIP4Config *dst, /* ignore NIS */ /* ignore WINS */ /* ignore mdns */ + /* ignore LLMNR */ if (update_dst) g_object_thaw_notify (G_OBJECT (dst)); @@ -1874,6 +1886,7 @@ nm_ip4_config_replace (NMIP4Config *dst, const NMIP4Config *src, gboolean *relev } dst_priv->mdns = src_priv->mdns; + dst_priv->llmnr = src_priv->llmnr; /* DNS priority */ if (src_priv->dns_priority != dst_priv->dns_priority) { @@ -2562,6 +2575,19 @@ nm_ip4_config_mdns_set (NMIP4Config *self, NM_IP4_CONFIG_GET_PRIVATE (self)->mdns = mdns; } +NMSettingConnectionLlmnr +nm_ip4_config_llmnr_get (const NMIP4Config *self) +{ + return NM_IP4_CONFIG_GET_PRIVATE (self)->llmnr; +} + +void +nm_ip4_config_llmnr_set (NMIP4Config *self, + NMSettingConnectionLlmnr llmnr) +{ + NM_IP4_CONFIG_GET_PRIVATE (self)->llmnr = llmnr; +} + /*****************************************************************************/ void @@ -3212,6 +3238,7 @@ nm_ip4_config_init (NMIP4Config *self) NMP_OBJECT_TYPE_IP4_ROUTE); priv->mdns = NM_SETTING_CONNECTION_MDNS_DEFAULT; + priv->llmnr = NM_SETTING_CONNECTION_LLMNR_DEFAULT; priv->nameservers = g_array_new (FALSE, FALSE, sizeof (guint32)); priv->domains = g_ptr_array_new_with_free_func (g_free); priv->searches = g_ptr_array_new_with_free_func (g_free); |