mirror of
https://gitlab.freedesktop.org/NetworkManager/NetworkManager.git
synced 2026-06-18 22:28:29 +02:00
vpn: fix overwriting gateway of parent device for non-tunnel based VPNs
For non-tunnel based VPNs (openswan, libreswan), we must clear the gateway setting. The default route is managed by NMDefaultRouteManager, and we must not overwrite the gateway of the parent device. This fixes a bug if the VPN connection specifies a gateway, it would have overwritten the gateway of the underlying device.
This commit is contained in:
parent
5cd1316100
commit
1465c1d326
1 changed files with 9 additions and 2 deletions
|
|
@ -891,10 +891,17 @@ apply_parent_device_config (NMVpnConnection *connection)
|
|||
* be done on the parent interface instead.
|
||||
*/
|
||||
|
||||
if (vpn4_parent_config)
|
||||
/* Also clear the gateway. We don't configure the gateway as part of the
|
||||
* vpn-config. Instead we tell NMDefaultRouteManager directly about the
|
||||
* default route. */
|
||||
if (vpn4_parent_config) {
|
||||
nm_ip4_config_merge (vpn4_parent_config, priv->ip4_config);
|
||||
if (vpn6_parent_config)
|
||||
nm_ip4_config_set_gateway (vpn4_parent_config, 0);
|
||||
}
|
||||
if (vpn6_parent_config) {
|
||||
nm_ip6_config_merge (vpn6_parent_config, priv->ip6_config);
|
||||
nm_ip6_config_set_gateway (vpn6_parent_config, NULL);
|
||||
}
|
||||
}
|
||||
|
||||
if (vpn4_parent_config) {
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue