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.
This commit is contained in:
@@ -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));
|
||||
|
||||
|
@@ -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));
|
||||
|
Reference in New Issue
Block a user