summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLubomir Rintel <lkundrak@v3.sk>2015-06-28 21:15:12 +0200
committerLubomir Rintel <lkundrak@v3.sk>2015-06-28 21:20:46 +0200
commitc942a8c35b8c8aa00dd75d58ffe02db441de040c (patch)
treeef5a90c9260592350932c1cb88632f7ab4495389
parent4843e625a87ffe7d23290ccc8b5024f477352204 (diff)
downloadNetworkManager-c942a8c35b8c8aa00dd75d58ffe02db441de040c.tar.gz
ipx-config: correct nm_ipx_config_merge() setting priorities
ip[46]_config_merge_and_apply() do assume the settings that are merged later in override the previously set ones and not the other way around. Otherwise e.g. a gateway address from DHCP could override what's set in the connection.
-rw-r--r--src/nm-ip4-config.c6
-rw-r--r--src/nm-ip6-config.c4
2 files changed, 5 insertions, 5 deletions
diff --git a/src/nm-ip4-config.c b/src/nm-ip4-config.c
index 1e24b2ec67..a3ef072b90 100644
--- a/src/nm-ip4-config.c
+++ b/src/nm-ip4-config.c
@@ -564,7 +564,7 @@ nm_ip4_config_merge (NMIP4Config *dst, const NMIP4Config *src)
nm_ip4_config_add_nameserver (dst, nm_ip4_config_get_nameserver (src, i));
/* default gateway */
- if (!nm_ip4_config_get_gateway (dst))
+ if (nm_ip4_config_get_gateway (src))
nm_ip4_config_set_gateway (dst, nm_ip4_config_get_gateway (src));
/* routes */
@@ -589,11 +589,11 @@ nm_ip4_config_merge (NMIP4Config *dst, const NMIP4Config *src)
nm_ip4_config_add_dns_option (dst, nm_ip4_config_get_dns_option (src, i));
/* MSS */
- if (!nm_ip4_config_get_mss (dst))
+ if (nm_ip4_config_get_mss (src))
nm_ip4_config_set_mss (dst, nm_ip4_config_get_mss (src));
/* MTU */
- if (!nm_ip4_config_get_mtu (dst))
+ if (nm_ip4_config_get_mtu (src))
nm_ip4_config_set_mtu (dst, nm_ip4_config_get_mtu (src),
nm_ip4_config_get_mtu_source (src));
diff --git a/src/nm-ip6-config.c b/src/nm-ip6-config.c
index 794b51c283..dcb318b7e3 100644
--- a/src/nm-ip6-config.c
+++ b/src/nm-ip6-config.c
@@ -684,7 +684,7 @@ nm_ip6_config_merge (NMIP6Config *dst, const NMIP6Config *src)
nm_ip6_config_add_nameserver (dst, nm_ip6_config_get_nameserver (src, i));
/* default gateway */
- if (!nm_ip6_config_get_gateway (dst))
+ if (nm_ip6_config_get_gateway (src))
nm_ip6_config_set_gateway (dst, nm_ip6_config_get_gateway (src));
/* routes */
@@ -708,7 +708,7 @@ nm_ip6_config_merge (NMIP6Config *dst, const NMIP6Config *src)
for (i = 0; i < nm_ip6_config_get_num_dns_options (src); i++)
nm_ip6_config_add_dns_option (dst, nm_ip6_config_get_dns_option (src, i));
- if (!nm_ip6_config_get_mss (dst))
+ if (nm_ip6_config_get_mss (src))
nm_ip6_config_set_mss (dst, nm_ip6_config_get_mss (src));
g_object_thaw_notify (G_OBJECT (dst));