about summary refs log tree commit diff
path: root/src/devices/nm-device-wireguard.c
diff options
context:
space:
mode:
authorMichael Biebl <biebl@debian.org>2020-05-08 21:41:46 +0200
committerMichael Biebl <biebl@debian.org>2020-05-08 21:41:46 +0200
commit14a437f08bfacbdbe3ed3d4e36dcf8a199df8e9e (patch)
tree036108c3f080f94e794f52be66cc2bab2158486e /src/devices/nm-device-wireguard.c
parent9df39b936fcb2f3d27ff7e653e645c16900807e3 (diff)
parentd460892bbfece74fb6d3cd846bf6ef548290be41 (diff)
Update upstream source from tag 'upstream/1.24.0'
Update to upstream version '1.24.0'
with Debian dir 36f1778d11d8b638b63bd623816627ac76cb75ee
Diffstat (limited to 'src/devices/nm-device-wireguard.c')
-rw-r--r--src/devices/nm-device-wireguard.c14
1 files changed, 13 insertions, 1 deletions
diff --git a/src/devices/nm-device-wireguard.c b/src/devices/nm-device-wireguard.c
index bb7a5950..9f01a763 100644
--- a/src/devices/nm-device-wireguard.c
+++ b/src/devices/nm-device-wireguard.c
@@ -1631,8 +1631,20 @@ _get_dev2_ip_config (NMDeviceWireGuard *self,
 			if (prefix < 0)
 				prefix = (addr_family == AF_INET) ? 32 : 128;
 
-			if (!ip_config)
+			if (prefix == 0) {
+				NMSettingIPConfig *s_ip;
+
+				s_ip = nm_connection_get_setting_ip_config (connection, addr_family);
+				if (nm_setting_ip_config_get_never_default (s_ip))
+					continue;
+			}
+
+			if (!ip_config) {
 				ip_config = nm_device_ip_config_new (NM_DEVICE (self), addr_family);
+				nm_ip_config_set_config_flags (ip_config,
+				                               NM_IP_CONFIG_FLAGS_IGNORE_MERGE_NO_DEFAULT_ROUTES,
+				                               0);
+			}
 
 			nm_utils_ipx_address_clear_host_address (addr_family, &addrbin, NULL, prefix);