diff options
| author | David Lönnhager <david.l@mullvad.net> | 2020-07-21 17:37:50 +0200 |
|---|---|---|
| committer | David Lönnhager <david.l@mullvad.net> | 2020-07-22 13:55:31 +0200 |
| commit | c32d19c2450b1e914586df58a77c4a940be244ae (patch) | |
| tree | cb16c52a5de8b64f07f202856a11f9a5b4368744 | |
| parent | c7d943071e4575e8bd1c05fb2f674271c139c306 (diff) | |
| download | mullvadvpn-c32d19c2450b1e914586df58a77c4a940be244ae.tar.xz mullvadvpn-c32d19c2450b1e914586df58a77c4a940be244ae.zip | |
Only attempt to enable IPv6 on adapter if it's enabled in the app (WireGuard on Windows)
| -rw-r--r-- | talpid-core/src/tunnel/mod.rs | 22 | ||||
| -rw-r--r-- | talpid-core/src/tunnel/wireguard/wireguard_go.rs | 9 |
2 files changed, 10 insertions, 21 deletions
diff --git a/talpid-core/src/tunnel/mod.rs b/talpid-core/src/tunnel/mod.rs index 9926116a48..37d64c85f2 100644 --- a/talpid-core/src/tunnel/mod.rs +++ b/talpid-core/src/tunnel/mod.rs @@ -10,8 +10,6 @@ use std::{ #[cfg(not(target_os = "android"))] use talpid_types::net::openvpn as openvpn_types; use talpid_types::net::{wireguard as wireguard_types, TunnelParameters}; -#[cfg(target_os = "windows")] -use talpid_types::ErrorExt; #[cfg(target_os = "android")] pub use self::tun_provider::TunConfig; @@ -241,22 +239,10 @@ impl TunnelMonitor { let options = tunnel_parameters.get_generic_options(); #[cfg(target_os = "windows")] - match tunnel_parameters { - TunnelParameters::OpenVpn(..) => { - if options.enable_ipv6 { - try_enabling_ipv6(tunnel_parameters) - } else { - Ok(()) - } - } - TunnelParameters::Wireguard(..) => { - // WireGuard always waits on an IPv6 interface, - // even if it's not in use - if let Err(e) = try_enabling_ipv6(tunnel_parameters) { - log::error!("{}", e.display_chain_with_msg("Failed to enable IPv6")); - } - Ok(()) - } + if options.enable_ipv6 { + try_enabling_ipv6(tunnel_parameters) + } else { + Ok(()) } #[cfg(not(target_os = "windows"))] diff --git a/talpid-core/src/tunnel/wireguard/wireguard_go.rs b/talpid-core/src/tunnel/wireguard/wireguard_go.rs index 61e722d442..761276dcdf 100644 --- a/talpid-core/src/tunnel/wireguard/wireguard_go.rs +++ b/talpid-core/src/tunnel/wireguard/wireguard_go.rs @@ -126,9 +126,12 @@ impl WgGoTunnel { .map(LoggingContext) .map_err(TunnelError::LoggingError)?; - let wait_on_ipv6 = config.ipv6_gateway.is_some() || - config.tunnel.addresses.iter().any(|ip| ip.is_ipv6()) || - config.peers.iter().any(|config| config.allowed_ips.iter().any(|ip| ip.is_ipv6())); + let wait_on_ipv6 = config.ipv6_gateway.is_some() + || config.tunnel.addresses.iter().any(|ip| ip.is_ipv6()) + || config + .peers + .iter() + .any(|config| config.allowed_ips.iter().any(|ip| ip.is_ipv6())); let handle = unsafe { wgTurnOn( |
