mirror of
https://gitlab.freedesktop.org/NetworkManager/NetworkManager.git
synced 2025-12-29 18:30:11 +01:00
ip4-config: properly handle gateway in nm_ip4_config_replace()
When @src didn't have a gateway and @dst did, the function left @dst's gateway set to 0.0.0.0; fix this and unset the gateway in such case. Fixes:063677101a(cherry picked from commitd1a776bff9)
This commit is contained in:
parent
b776301662
commit
d1be467d38
1 changed files with 6 additions and 3 deletions
|
|
@ -876,8 +876,8 @@ nm_ip4_config_intersect (NMIP4Config *dst, const NMIP4Config *src)
|
|||
|
||||
/**
|
||||
* nm_ip4_config_replace:
|
||||
* @dst: config from which to remove everything in @src
|
||||
* @src: config to remove from @dst
|
||||
* @dst: config to replace with @src content
|
||||
* @src: source config to copy
|
||||
* @relevant_changes: return whether there are changes to the
|
||||
* destination object that are relevant. This is equal to
|
||||
* nm_ip4_config_equal() showing any difference.
|
||||
|
|
@ -922,7 +922,10 @@ nm_ip4_config_replace (NMIP4Config *dst, const NMIP4Config *src, gboolean *relev
|
|||
/* default gateway */
|
||||
if ( src_priv->gateway != dst_priv->gateway
|
||||
|| src_priv->has_gateway != dst_priv->has_gateway) {
|
||||
nm_ip4_config_set_gateway (dst, src_priv->gateway);
|
||||
if (src_priv->has_gateway)
|
||||
nm_ip4_config_set_gateway (dst, src_priv->gateway);
|
||||
else
|
||||
nm_ip4_config_unset_gateway (dst);
|
||||
has_relevant_changes = TRUE;
|
||||
}
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue