diff options
author | Lubomir Rintel <lkundrak@v3.sk> | 2015-06-28 21:15:12 +0200 |
---|---|---|
committer | Lubomir Rintel <lkundrak@v3.sk> | 2015-06-28 21:20:46 +0200 |
commit | c942a8c35b8c8aa00dd75d58ffe02db441de040c (patch) | |
tree | ef5a90c9260592350932c1cb88632f7ab4495389 | |
parent | 4843e625a87ffe7d23290ccc8b5024f477352204 (diff) | |
download | NetworkManager-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.c | 6 | ||||
-rw-r--r-- | src/nm-ip6-config.c | 4 |
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)); |