about summary refs log tree commit diff
path: root/src/NetworkManagerUtils.c
diff options
context:
space:
mode:
authorMichael Biebl <biebl@debian.org>2016-08-26 02:19:30 +0200
committerMichael Biebl <biebl@debian.org>2016-08-26 02:19:30 +0200
commit229bfa11c4d56b4c1017c81c7dbafbedd15e3153 (patch)
treeedfc7357b6494a5c0cb016bb88d61b623daa9876 /src/NetworkManagerUtils.c
parent6318db9c78b4fe207dfe700cfac11a675fc63dc9 (diff)
parent7514efc2f38c9ace4557d4e69d68e7d380389030 (diff)
Merge tag 'upstream/1.4.0'
Upstream version 1.4.0
Diffstat (limited to 'src/NetworkManagerUtils.c')
-rw-r--r--src/NetworkManagerUtils.c10
1 files changed, 8 insertions, 2 deletions
diff --git a/src/NetworkManagerUtils.c b/src/NetworkManagerUtils.c
index 9894872b..7eb6cf16 100644
--- a/src/NetworkManagerUtils.c
+++ b/src/NetworkManagerUtils.c
@@ -529,8 +529,8 @@ check_connection_mac_address (NMConnection *orig,
 
 static gboolean
 check_connection_cloned_mac_address (NMConnection *orig,
-                              NMConnection *candidate,
-                              GHashTable *settings)
+                                     NMConnection *candidate,
+                                     GHashTable *settings)
 {
 	GHashTable *props;
 	const char *orig_mac = NULL, *cand_mac = NULL;
@@ -551,6 +551,12 @@ check_connection_cloned_mac_address (NMConnection *orig,
 	if (s_wired_cand)
 		cand_mac = nm_setting_wired_get_cloned_mac_address (s_wired_cand);
 
+	/* special cloned mac address entires are accepted. */
+	if (NM_CLONED_MAC_IS_SPECIAL (orig_mac))
+		orig_mac = NULL;
+	if (NM_CLONED_MAC_IS_SPECIAL (cand_mac))
+		cand_mac = NULL;
+
 	if (!orig_mac || !cand_mac) {
 		remove_from_hash (settings, props,
 		                  NM_SETTING_WIRED_SETTING_NAME,