diff options
| author | David Lönnhager <david.l@mullvad.net> | 2021-03-18 11:12:48 +0100 |
|---|---|---|
| committer | David Lönnhager <david.l@mullvad.net> | 2021-03-18 11:12:48 +0100 |
| commit | 35c5e29341c15f70e358b54c0e536255edaa654e (patch) | |
| tree | 8b7171adbceb1e08d43ac84d62f7a45763927a8c | |
| parent | d3502c1f820f2fe5093b06405ac3a1309e304187 (diff) | |
| parent | f9c8da56193b11b4034f7cdf77507661a16c95b2 (diff) | |
| download | mullvadvpn-35c5e29341c15f70e358b54c0e536255edaa654e.tar.xz mullvadvpn-35c5e29341c15f70e358b54c0e536255edaa654e.zip | |
Merge branch 'refactor-rotation-interval'
| -rw-r--r-- | android/src/main/kotlin/net/mullvad/mullvadvpn/model/TunnelOptions.kt | 2 | ||||
| -rw-r--r-- | android/src/main/kotlin/net/mullvad/mullvadvpn/model/WireguardTunnelOptions.kt | 5 | ||||
| -rw-r--r-- | android/src/main/kotlin/net/mullvad/mullvadvpn/ui/AdvancedFragment.kt | 2 | ||||
| -rw-r--r-- | mullvad-daemon/src/lib.rs | 2 | ||||
| -rw-r--r-- | mullvad-daemon/src/management_interface.rs | 2 | ||||
| -rw-r--r-- | mullvad-daemon/src/settings.rs | 3 | ||||
| -rw-r--r-- | mullvad-types/src/custom_tunnel.rs | 2 | ||||
| -rw-r--r-- | mullvad-types/src/settings/mod.rs | 13 | ||||
| -rw-r--r-- | mullvad-types/src/wireguard.rs | 14 | ||||
| -rw-r--r-- | talpid-types/src/net/wireguard.rs | 5 |
10 files changed, 34 insertions, 16 deletions
diff --git a/android/src/main/kotlin/net/mullvad/mullvadvpn/model/TunnelOptions.kt b/android/src/main/kotlin/net/mullvad/mullvadvpn/model/TunnelOptions.kt index 7e3bdef2b3..1a960e1396 100644 --- a/android/src/main/kotlin/net/mullvad/mullvadvpn/model/TunnelOptions.kt +++ b/android/src/main/kotlin/net/mullvad/mullvadvpn/model/TunnelOptions.kt @@ -1,5 +1,3 @@ package net.mullvad.mullvadvpn.model -import net.mullvad.talpid.net.wireguard.TunnelOptions as WireguardTunnelOptions - data class TunnelOptions(val wireguard: WireguardTunnelOptions, val dnsOptions: DnsOptions) diff --git a/android/src/main/kotlin/net/mullvad/mullvadvpn/model/WireguardTunnelOptions.kt b/android/src/main/kotlin/net/mullvad/mullvadvpn/model/WireguardTunnelOptions.kt new file mode 100644 index 0000000000..f9b7b314d5 --- /dev/null +++ b/android/src/main/kotlin/net/mullvad/mullvadvpn/model/WireguardTunnelOptions.kt @@ -0,0 +1,5 @@ +package net.mullvad.mullvadvpn.model + +import net.mullvad.talpid.net.wireguard.TunnelOptions as TalpidWireguardTunnelOptions + +data class WireguardTunnelOptions(val options: TalpidWireguardTunnelOptions) diff --git a/android/src/main/kotlin/net/mullvad/mullvadvpn/ui/AdvancedFragment.kt b/android/src/main/kotlin/net/mullvad/mullvadvpn/ui/AdvancedFragment.kt index 4f4210be70..8e241ace49 100644 --- a/android/src/main/kotlin/net/mullvad/mullvadvpn/ui/AdvancedFragment.kt +++ b/android/src/main/kotlin/net/mullvad/mullvadvpn/ui/AdvancedFragment.kt @@ -118,7 +118,7 @@ class AdvancedFragment : ServiceDependentFragment(OnNoService.GoBack) { private fun updateUi(settings: Settings) { jobTracker.newUiJob("updateUi") { if (!wireguardMtuInput.hasFocus) { - wireguardMtuInput.value = settings.tunnelOptions.wireguard.mtu + wireguardMtuInput.value = settings.tunnelOptions.wireguard.options.mtu } } } diff --git a/mullvad-daemon/src/lib.rs b/mullvad-daemon/src/lib.rs index 7f2358b048..dd297e9802 100644 --- a/mullvad-daemon/src/lib.rs +++ b/mullvad-daemon/src/lib.rs @@ -1063,7 +1063,7 @@ where ipv4_gateway, ipv6_gateway: Some(ipv6_gateway), }, - options: tunnel_options.wireguard, + options: tunnel_options.wireguard.options, generic_options: tunnel_options.generic, } .into()) diff --git a/mullvad-daemon/src/management_interface.rs b/mullvad-daemon/src/management_interface.rs index 732e648199..0cd1ddd1cf 100644 --- a/mullvad-daemon/src/management_interface.rs +++ b/mullvad-daemon/src/management_interface.rs @@ -1225,7 +1225,7 @@ fn convert_tunnel_options(options: &TunnelOptions) -> types::TunnelOptions { mssfix: u32::from(options.openvpn.mssfix.unwrap_or_default()), }), wireguard: Some(types::tunnel_options::WireguardOptions { - mtu: u32::from(options.wireguard.mtu.unwrap_or_default()), + mtu: u32::from(options.wireguard.options.mtu.unwrap_or_default()), automatic_rotation: options .wireguard .automatic_rotation diff --git a/mullvad-daemon/src/settings.rs b/mullvad-daemon/src/settings.rs index 1be6c1fc69..0888121363 100644 --- a/mullvad-daemon/src/settings.rs +++ b/mullvad-daemon/src/settings.rs @@ -217,7 +217,8 @@ impl SettingsPersister { } pub fn set_wireguard_mtu(&mut self, mtu: Option<u16>) -> Result<bool, Error> { - let should_save = Self::update_field(&mut self.settings.tunnel_options.wireguard.mtu, mtu); + let should_save = + Self::update_field(&mut self.settings.tunnel_options.wireguard.options.mtu, mtu); self.update(should_save) } diff --git a/mullvad-types/src/custom_tunnel.rs b/mullvad-types/src/custom_tunnel.rs index b3cae97347..5e7d7d4672 100644 --- a/mullvad-types/src/custom_tunnel.rs +++ b/mullvad-types/src/custom_tunnel.rs @@ -60,7 +60,7 @@ impl CustomTunnelEndpoint { .into(), ConnectionConfig::Wireguard(connection) => wireguard::TunnelParameters { connection, - options: tunnel_options.wireguard.clone(), + options: tunnel_options.wireguard.options.clone(), generic_options: tunnel_options.generic.clone(), } .into(), diff --git a/mullvad-types/src/settings/mod.rs b/mullvad-types/src/settings/mod.rs index dfb2459e77..c589d1660a 100644 --- a/mullvad-types/src/settings/mod.rs +++ b/mullvad-types/src/settings/mod.rs @@ -1,6 +1,9 @@ -use crate::relay_constraints::{ - BridgeConstraints, BridgeSettings, BridgeState, Constraint, LocationConstraint, - RelayConstraints, RelaySettings, RelaySettingsUpdate, +use crate::{ + relay_constraints::{ + BridgeConstraints, BridgeSettings, BridgeState, Constraint, LocationConstraint, + RelayConstraints, RelaySettings, RelaySettingsUpdate, + }, + wireguard, }; #[cfg(target_os = "android")] use jnix::{FromJava, IntoJava}; @@ -8,7 +11,7 @@ use log::{debug, info}; use serde::{Deserialize, Serialize}; use serde_json; use std::net::IpAddr; -use talpid_types::net::{openvpn, wireguard, GenericTunnelOptions}; +use talpid_types::net::{self, openvpn, GenericTunnelOptions}; mod migrations; @@ -186,7 +189,7 @@ impl Default for TunnelOptions { TunnelOptions { openvpn: openvpn::TunnelOptions::default(), wireguard: wireguard::TunnelOptions { - mtu: None, + options: net::wireguard::TunnelOptions::default(), automatic_rotation: None, }, generic: GenericTunnelOptions { diff --git a/mullvad-types/src/wireguard.rs b/mullvad-types/src/wireguard.rs index aabe7808ef..32d152ec4d 100644 --- a/mullvad-types/src/wireguard.rs +++ b/mullvad-types/src/wireguard.rs @@ -24,6 +24,20 @@ impl WireguardData { } } +#[derive(Debug, Clone, PartialEq, Eq, Serialize, Deserialize)] +#[cfg_attr(target_os = "android", derive(IntoJava))] +#[cfg_attr( + target_os = "android", + jnix(class_name = "net.mullvad.mullvadvpn.model.WireguardTunnelOptions") +)] +pub struct TunnelOptions { + #[serde(flatten)] + pub options: wireguard::TunnelOptions, + /// Interval used for automatic key rotation, in hours + #[cfg_attr(target_os = "android", jnix(skip))] + pub automatic_rotation: Option<u32>, +} + /// Represents a published public key #[derive(Serialize, Deserialize, Clone, Debug)] #[cfg_attr(target_os = "android", derive(IntoJava))] diff --git a/talpid-types/src/net/wireguard.rs b/talpid-types/src/net/wireguard.rs index 62441a369c..731d93c79e 100644 --- a/talpid-types/src/net/wireguard.rs +++ b/talpid-types/src/net/wireguard.rs @@ -57,7 +57,7 @@ pub struct TunnelConfig { } /// Options in [`TunnelParameters`] that apply to any WireGuard connection. -#[derive(Debug, Clone, PartialEq, Eq, Serialize, Deserialize)] +#[derive(Debug, Default, Clone, PartialEq, Eq, Serialize, Deserialize)] #[cfg_attr(target_os = "android", derive(IntoJava))] #[cfg_attr( target_os = "android", @@ -70,9 +70,6 @@ pub struct TunnelOptions { jnix(map = "|maybe_mtu| maybe_mtu.map(|mtu| mtu as i32)") )] pub mtu: Option<u16>, - /// Interval used for automatic key rotation, in hours - #[cfg_attr(target_os = "android", jnix(skip))] - pub automatic_rotation: Option<u32>, } /// Wireguard x25519 private key |
