diff options
| author | David Lönnhager <david.l@mullvad.net> | 2021-08-17 13:53:37 +0200 |
|---|---|---|
| committer | David Lönnhager <david.l@mullvad.net> | 2021-09-28 12:41:48 +0200 |
| commit | 00973733707c669bc51c48c9eebc481c4e3f7b82 (patch) | |
| tree | fe7e2d93124e63bf8aebc7956c238c81390840cb /talpid-core/src | |
| parent | ce84bcf44cd923f5d178c8a39eaec6eee8165e5f (diff) | |
| download | mullvadvpn-00973733707c669bc51c48c9eebc481c4e3f7b82.tar.xz mullvadvpn-00973733707c669bc51c48c9eebc481c4e3f7b82.zip | |
Enable wireguard-nt with temporary CLI switch
Diffstat (limited to 'talpid-core/src')
| -rw-r--r-- | talpid-core/src/tunnel/wireguard/config.rs | 5 | ||||
| -rw-r--r-- | talpid-core/src/tunnel/wireguard/mod.rs | 22 | ||||
| -rw-r--r-- | talpid-core/src/tunnel/wireguard/wireguard_nt.rs | 1 |
3 files changed, 18 insertions, 10 deletions
diff --git a/talpid-core/src/tunnel/wireguard/config.rs b/talpid-core/src/tunnel/wireguard/config.rs index ae82483c66..252bf8418f 100644 --- a/talpid-core/src/tunnel/wireguard/config.rs +++ b/talpid-core/src/tunnel/wireguard/config.rs @@ -23,6 +23,9 @@ pub struct Config { /// Enable IPv6 routing rules #[cfg(target_os = "linux")] pub enable_ipv6: bool, + /// Temporary switch for wireguard-nt + #[cfg(target_os = "windows")] + pub use_wireguard_nt: bool, } const DEFAULT_MTU: u16 = 1380; @@ -109,6 +112,8 @@ impl Config { fwmark: crate::linux::TUNNEL_FW_MARK, #[cfg(target_os = "linux")] enable_ipv6: generic_options.enable_ipv6, + #[cfg(target_os = "windows")] + use_wireguard_nt: wg_options.use_wireguard_nt, }) } diff --git a/talpid-core/src/tunnel/wireguard/mod.rs b/talpid-core/src/tunnel/wireguard/mod.rs index 8ecec51f4d..a3fa426ca2 100644 --- a/talpid-core/src/tunnel/wireguard/mod.rs +++ b/talpid-core/src/tunnel/wireguard/mod.rs @@ -355,16 +355,18 @@ impl WireguardMonitor { } #[cfg(target_os = "windows")] - match wireguard_nt::WgNtTunnel::start_tunnel(config, log_path, resource_dir) { - Ok(tunnel) => { - log::debug!("Using WireGuardNT"); - return Ok(Box::new(tunnel)); - } - Err(error) => { - log::error!( - "{}", - error.display_chain_with_msg("Failed to setup WireGuardNT tunnel") - ); + if config.use_wireguard_nt { + match wireguard_nt::WgNtTunnel::start_tunnel(config, log_path, resource_dir) { + Ok(tunnel) => { + log::debug!("Using WireGuardNT"); + return Ok(Box::new(tunnel)); + } + Err(error) => { + log::error!( + "{}", + error.display_chain_with_msg("Failed to setup WireGuardNT tunnel") + ); + } } } diff --git a/talpid-core/src/tunnel/wireguard/wireguard_nt.rs b/talpid-core/src/tunnel/wireguard/wireguard_nt.rs index 97207eb933..2314ee283f 100644 --- a/talpid-core/src/tunnel/wireguard/wireguard_nt.rs +++ b/talpid-core/src/tunnel/wireguard/wireguard_nt.rs @@ -1058,6 +1058,7 @@ mod tests { ipv4_gateway: "0.0.0.0".parse().unwrap(), ipv6_gateway: None, mtu: 0, + use_wireguard_nt: true, } }; static ref WG_STRUCT_CONFIG: Interface = Interface { |
