diff options
| author | Michael Biebl <biebl@debian.org> | 2020-10-20 22:07:24 +0200 |
|---|---|---|
| committer | Michael Biebl <biebl@debian.org> | 2020-10-20 22:07:24 +0200 |
| commit | f2ddac4cbc895837ddcc55015fae112f9859cd0a (patch) | |
| tree | 774424baed3e65adb78c34e25874cf4e781ac005 /src/nm-ip4-config.c | |
| parent | aafc1dbe4712c86189bbc1d4d54ad8cb4c69be7e (diff) | |
New upstream version 1.27.91 upstream/1.27.91
Diffstat (limited to 'src/nm-ip4-config.c')
| -rw-r--r-- | src/nm-ip4-config.c | 32 |
1 files changed, 32 insertions, 0 deletions
diff --git a/src/nm-ip4-config.c b/src/nm-ip4-config.c index ea08450d..9d2b459d 100644 --- a/src/nm-ip4-config.c +++ b/src/nm-ip4-config.c @@ -283,6 +283,7 @@ NM_GOBJECT_PROPERTIES_DEFINE(NMIP4Config, typedef struct { bool metered : 1; + bool never_default : 1; guint32 mtu; int ifindex; NMIPConfigSource mtu_source; @@ -895,6 +896,8 @@ nm_ip4_config_merge_setting(NMIP4Config * self, nm_ip4_config_mdns_set(self, mdns); nm_ip4_config_llmnr_set(self, llmnr); + nm_ip4_config_set_never_default(self, nm_setting_ip_config_get_never_default(setting)); + g_object_thaw_notify(G_OBJECT(self)); } @@ -1122,6 +1125,11 @@ nm_ip4_config_merge(NMIP4Config * dst, nm_ip4_config_set_metered(dst, nm_ip4_config_get_metered(dst) || nm_ip4_config_get_metered(src)); + /* never default */ + nm_ip4_config_set_never_default(dst, + nm_ip4_config_get_never_default(dst) + || nm_ip4_config_get_never_default(src)); + /* DNS priority */ if (nm_ip4_config_get_dns_priority(src)) nm_ip4_config_set_dns_priority(dst, nm_ip4_config_get_dns_priority(src)); @@ -1856,6 +1864,12 @@ nm_ip4_config_replace(NMIP4Config *dst, const NMIP4Config *src, gboolean *releva has_minor_changes = TRUE; } + /* never default */ + if (src_priv->never_default != dst_priv->never_default) { + dst_priv->never_default = src_priv->never_default; + has_minor_changes = TRUE; + } + #if NM_MORE_ASSERTS /* config_equal does not compare *all* the fields, therefore, we might have has_minor_changes * regardless of config_equal. But config_equal must correspond to has_relevant_changes. */ @@ -2729,6 +2743,24 @@ nm_ip4_config_get_metered(const NMIP4Config *self) /*****************************************************************************/ +void +nm_ip4_config_set_never_default(NMIP4Config *self, gboolean never_default) +{ + NMIP4ConfigPrivate *priv = NM_IP4_CONFIG_GET_PRIVATE(self); + + priv->never_default = never_default; +} + +gboolean +nm_ip4_config_get_never_default(const NMIP4Config *self) +{ + const NMIP4ConfigPrivate *priv = NM_IP4_CONFIG_GET_PRIVATE(self); + + return priv->never_default; +} + +/*****************************************************************************/ + const NMPObject * nm_ip4_config_nmpobj_lookup(const NMIP4Config *self, const NMPObject *needle) { |