diff options
| author | Michael Biebl <biebl@debian.org> | 2017-02-16 00:00:34 +0100 |
|---|---|---|
| committer | Michael Biebl <biebl@debian.org> | 2017-02-16 00:00:34 +0100 |
| commit | a222e56e103f949b148a6942e385ccca2c26d9f3 (patch) | |
| tree | 7978165f4d291224c854adb4c96c863a924b4882 /libnm-core/nm-setting-wireless.c | |
| parent | 7f4dff3943c64e1d0e5d13b2ac915088dde165e6 (diff) | |
New upstream version 1.6.2 upstream/1.6.2
Diffstat (limited to 'libnm-core/nm-setting-wireless.c')
| -rw-r--r-- | libnm-core/nm-setting-wireless.c | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/libnm-core/nm-setting-wireless.c b/libnm-core/nm-setting-wireless.c index 1d129f66..8ae84d4c 100644 --- a/libnm-core/nm-setting-wireless.c +++ b/libnm-core/nm-setting-wireless.c @@ -982,6 +982,7 @@ set_property (GObject *object, guint prop_id, NMSettingWirelessPrivate *priv = NM_SETTING_WIRELESS_GET_PRIVATE (object); const char * const *blacklist; const char *mac; + gboolean bool_val; int i; switch (prop_id) { @@ -1017,9 +1018,18 @@ set_property (GObject *object, guint prop_id, ETH_ALEN); break; case PROP_CLONED_MAC_ADDRESS: + bool_val = !!priv->cloned_mac_address; g_free (priv->cloned_mac_address); priv->cloned_mac_address = _nm_utils_hwaddr_canonical_or_invalid (g_value_get_string (value), ETH_ALEN); + if (bool_val && !priv->cloned_mac_address) { + /* cloned-mac-address was set before but was now explicitly cleared. + * In this case, we also clear mac-address-randomization flag */ + if (priv->mac_address_randomization != NM_SETTING_MAC_RANDOMIZATION_DEFAULT) { + priv->mac_address_randomization = NM_SETTING_MAC_RANDOMIZATION_DEFAULT; + g_object_notify (object, NM_SETTING_WIRELESS_MAC_ADDRESS); + } + } break; case PROP_GENERATE_MAC_ADDRESS_MASK: g_free (priv->generate_mac_address_mask); |