diff options
| author | Michael Biebl <biebl@debian.org> | 2020-10-20 22:08:23 +0200 |
|---|---|---|
| committer | Michael Biebl <biebl@debian.org> | 2020-10-20 22:08:23 +0200 |
| commit | 769cfe6fb306e976faea4070948c07f4e61bf849 (patch) | |
| tree | 0c2235a59a607a2443c195c741c60c9a59598e51 /src/nm-ip4-config.c | |
| parent | b4dab9a9dd24d8d70e1bb288078570e85ad43b96 (diff) | |
| parent | f2ddac4cbc895837ddcc55015fae112f9859cd0a (diff) | |
Update upstream source from tag 'upstream/1.27.91'
Update to upstream version '1.27.91' with Debian dir 00b16bc3e33f8058a60e79863d76fe240a94309d
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) { |