diff options
author | Thomas Haller <thaller@redhat.com> | 2015-01-26 17:29:25 +0100 |
---|---|---|
committer | Thomas Haller <thaller@redhat.com> | 2015-01-26 17:56:03 +0100 |
commit | 11ccf949a331c77e14a0d4115c7242e8732878c8 (patch) | |
tree | fa23ecc41604767e25de36b4ea58ca9cbc3d7c5c | |
parent | ddac52a61e838b6f2b7e103e2f94276c6dc41037 (diff) | |
download | NetworkManager-11ccf949a331c77e14a0d4115c7242e8732878c8.tar.gz |
core: fix nm_ip_config_intersect() only to remove addresses, routes and gateway
Otherwise we remove the DNS configuration during platform events.
Fixes: 557667df12fc05b76326d6406553985effeeb2ac
-rw-r--r-- | src/nm-ip4-config.c | 48 | ||||
-rw-r--r-- | src/nm-ip6-config.c | 28 |
2 files changed, 8 insertions, 68 deletions
diff --git a/src/nm-ip4-config.c b/src/nm-ip4-config.c index 97ca718a5e..111f6cc361 100644 --- a/src/nm-ip4-config.c +++ b/src/nm-ip4-config.c @@ -760,14 +760,7 @@ nm_ip4_config_intersect (NMIP4Config *dst, const NMIP4Config *src) i++; } - /* nameservers */ - for (i = 0; i < nm_ip4_config_get_num_nameservers (dst); ) { - idx = _nameservers_get_index (src, nm_ip4_config_get_nameserver (dst, i)); - if (idx < 0) - nm_ip4_config_del_nameserver (dst, i); - else - i++; - } + /* ignore nameservers */ /* default gateway */ if ( !nm_ip4_config_get_num_addresses (dst) @@ -783,41 +776,10 @@ nm_ip4_config_intersect (NMIP4Config *dst, const NMIP4Config *src) i++; } - /* domains */ - for (i = 0; i < nm_ip4_config_get_num_domains (dst); ) { - idx = _domains_get_index (src, nm_ip4_config_get_domain (dst, i)); - if (idx < 0) - nm_ip4_config_del_domain (dst, i); - else - i++; - } - - /* dns searches */ - for (i = 0; i < nm_ip4_config_get_num_searches (dst); ) { - idx = _searches_get_index (src, nm_ip4_config_get_search (dst, i)); - if (idx < 0) - nm_ip4_config_del_search (dst, i); - else - i++; - } - - /* NIS */ - for (i = 0; i < nm_ip4_config_get_num_nis_servers (dst); ) { - idx = _nis_servers_get_index (src, nm_ip4_config_get_nis_server (dst, i)); - if (idx < 0) - nm_ip4_config_del_nis_server (dst, i); - else - i++; - } - - /* WINS */ - for (i = 0; i < nm_ip4_config_get_num_wins (dst); ) { - idx = _wins_get_index (src, nm_ip4_config_get_wins (dst, i)); - if (idx < 0) - nm_ip4_config_del_wins (dst, i); - else - i++; - } + /* ignore domains */ + /* ignore dns searches */ + /* ignore NIS */ + /* ignore WINS */ g_object_thaw_notify (G_OBJECT (dst)); } diff --git a/src/nm-ip6-config.c b/src/nm-ip6-config.c index a148d826e6..abb35367ab 100644 --- a/src/nm-ip6-config.c +++ b/src/nm-ip6-config.c @@ -822,14 +822,7 @@ nm_ip6_config_intersect (NMIP6Config *dst, const NMIP6Config *src) i++; } - /* nameservers */ - for (i = 0; i < nm_ip6_config_get_num_nameservers (dst); ) { - idx = _nameservers_get_index (src, nm_ip6_config_get_nameserver (dst, i)); - if (idx < 0) - nm_ip6_config_del_nameserver (dst, i); - else - i++; - } + /* ignore nameservers */ /* default gateway */ dst_tmp = nm_ip6_config_get_gateway (dst); @@ -850,23 +843,8 @@ nm_ip6_config_intersect (NMIP6Config *dst, const NMIP6Config *src) i++; } - /* domains */ - for (i = 0; i < nm_ip6_config_get_num_domains (src); ) { - idx = _domains_get_index (src, nm_ip6_config_get_domain (dst, i)); - if (idx < 0) - nm_ip6_config_del_domain (dst, i); - else - i++; - } - - /* dns searches */ - for (i = 0; i < nm_ip6_config_get_num_searches (src); i++) { - idx = _searches_get_index (src, nm_ip6_config_get_search (dst, i)); - if (idx < 0) - nm_ip6_config_del_search (dst, i); - else - i++; - } + /* ignore domains */ + /* ignore dns searches */ g_object_thaw_notify (G_OBJECT (dst)); } |