summaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
authorEmīls <emils@mullvad.net>2020-09-03 10:39:16 +0100
committerEmīls <emils@mullvad.net>2020-09-03 10:39:16 +0100
commit8edecd78260795bd9eeaf620b8b02d35bd2c7130 (patch)
tree09a39403a15a236a4143f9fe5bb432679c587627
parent69a7b252995b14e164ecfdc3def8c39a7695f8bb (diff)
parent066887d1711d6367f73e9d76cbcf548dd66a8e5f (diff)
downloadmullvadvpn-8edecd78260795bd9eeaf620b8b02d35bd2c7130.tar.xz
mullvadvpn-8edecd78260795bd9eeaf620b8b02d35bd2c7130.zip
Merge branch 'linux-fix-nm-openvpn-dns'
-rw-r--r--talpid-core/src/dns/linux/network_manager.rs9
1 files changed, 8 insertions, 1 deletions
diff --git a/talpid-core/src/dns/linux/network_manager.rs b/talpid-core/src/dns/linux/network_manager.rs
index a8c4efccd3..db58ed6994 100644
--- a/talpid-core/src/dns/linux/network_manager.rs
+++ b/talpid-core/src/dns/linux/network_manager.rs
@@ -215,7 +215,14 @@ impl NetworkManager {
ipv6_settings.insert("route-metric", Variant(Box::new(0u32)));
ipv6_settings.insert("routes", Variant(Box::new(device_routes6)));
ipv6_settings.insert("route-data", Variant(Box::new(device_route6_data)));
- ipv6_settings.insert("addresses", Variant(Box::new(device_addresses6)));
+ // if the link contains link local addresses, addresses shouldn't be reset
+ if ipv6_settings
+ .get("method")
+ .map(|method| method.as_str() != Some("link-local"))
+ .unwrap_or(true)
+ {
+ ipv6_settings.insert("addresses", Variant(Box::new(device_addresses6)));
+ }
}
let mut settings_backup =