summaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
authorMarkus Pettersson <markus.pettersson@mullvad.net>2023-07-11 16:39:08 +0200
committerDavid Lönnhager <david.l@mullvad.net>2023-07-14 12:12:49 +0200
commit57ead9b13630f7d565b0a1c7906ea37dc4a36204 (patch)
treebdc48ea8c745229e07c9eeb1beeb5506bf6e95ac
parent73f42b117e3d1a67815fe1608ef1b712f8e75880 (diff)
downloadmullvadvpn-57ead9b13630f7d565b0a1c7906ea37dc4a36204.tar.xz
mullvadvpn-57ead9b13630f7d565b0a1c7906ea37dc4a36204.zip
Remove `x_threshold_wg_default` code
Since we migrated to using Wireguard as the definitive default VPN, we can stop reading the `x_threshold_wg_default` field from the API and remove all daemon code related to using it
-rw-r--r--mullvad-api/src/lib.rs10
-rw-r--r--mullvad-daemon/src/custom_lists.rs22
-rw-r--r--mullvad-daemon/src/lib.rs36
-rw-r--r--mullvad-daemon/src/version_check.rs14
-rw-r--r--mullvad-management-interface/src/types/conversions/version.rs2
-rw-r--r--mullvad-types/src/version.rs5
6 files changed, 16 insertions, 73 deletions
diff --git a/mullvad-api/src/lib.rs b/mullvad-api/src/lib.rs
index 5c9b4b726d..e304df1dec 100644
--- a/mullvad-api/src/lib.rs
+++ b/mullvad-api/src/lib.rs
@@ -547,16 +547,6 @@ pub struct AppVersionResponse {
pub latest: AppVersion,
pub latest_stable: Option<AppVersion>,
pub latest_beta: AppVersion,
- #[serde(default = "default_wg_threshold")]
- pub x_threshold_wg_default: f32,
-}
-
-/// Temporary function that will be removed later. Used to generate default wg_threshold.
-/// In case there is no `x_threshold_wg_default` returned by the API result we interpret that to
-/// mean that the migration is done and WireGuard should be the default. In that case the threshold
-/// value should be 1.0
-fn default_wg_threshold() -> f32 {
- 1.0
}
impl AppVersionProxy {
diff --git a/mullvad-daemon/src/custom_lists.rs b/mullvad-daemon/src/custom_lists.rs
index ce75e19bc5..4627df58ae 100644
--- a/mullvad-daemon/src/custom_lists.rs
+++ b/mullvad-daemon/src/custom_lists.rs
@@ -62,7 +62,7 @@ where
self.event_listener
.notify_settings(self.settings.to_settings());
self.relay_selector
- .set_config(new_selector_config(&self.settings, &self.app_version_info));
+ .set_config(new_selector_config(&self.settings));
if need_to_reconnect {
log::info!(
@@ -100,7 +100,7 @@ where
self.event_listener
.notify_settings(self.settings.to_settings());
self.relay_selector
- .set_config(new_selector_config(&self.settings, &self.app_version_info));
+ .set_config(new_selector_config(&self.settings));
}
settings_changed.map(|_| ())
@@ -148,10 +148,8 @@ where
self.event_listener
.notify_settings(self.settings.to_settings());
- self.relay_selector.set_config(new_selector_config(
- &self.settings,
- &self.app_version_info,
- ));
+ self.relay_selector
+ .set_config(new_selector_config(&self.settings));
if should_reconnect {
log::info!(
@@ -207,10 +205,8 @@ where
self.event_listener
.notify_settings(self.settings.to_settings());
- self.relay_selector.set_config(new_selector_config(
- &self.settings,
- &self.app_version_info,
- ));
+ self.relay_selector
+ .set_config(new_selector_config(&self.settings));
if should_reconnect {
log::info!(
@@ -263,10 +259,8 @@ where
if let Ok(true) = settings_changed {
self.event_listener
.notify_settings(self.settings.to_settings());
- self.relay_selector.set_config(new_selector_config(
- &self.settings,
- &self.app_version_info,
- ));
+ self.relay_selector
+ .set_config(new_selector_config(&self.settings));
}
Ok(())
diff --git a/mullvad-daemon/src/lib.rs b/mullvad-daemon/src/lib.rs
index 46ee8b25df..fcb07bba7a 100644
--- a/mullvad-daemon/src/lib.rs
+++ b/mullvad-daemon/src/lib.rs
@@ -620,7 +620,7 @@ where
let settings = SettingsPersister::load(&settings_dir).await;
let app_version_info = version_check::load_cache(&cache_dir).await;
- let initial_selector_config = new_selector_config(&settings, &app_version_info);
+ let initial_selector_config = new_selector_config(&settings);
let relay_selector = RelaySelector::new(initial_selector_config, &resource_dir, &cache_dir);
let proxy_provider =
@@ -1082,7 +1082,7 @@ where
fn handle_new_app_version_info(&mut self, app_version_info: AppVersionInfo) {
self.app_version_info = Some(app_version_info.clone());
self.relay_selector
- .set_config(new_selector_config(&self.settings, &self.app_version_info));
+ .set_config(new_selector_config(&self.settings));
self.event_listener.notify_app_version(app_version_info);
}
@@ -1821,7 +1821,7 @@ where
self.event_listener
.notify_settings(self.settings.to_settings());
self.relay_selector
- .set_config(new_selector_config(&self.settings, &self.app_version_info));
+ .set_config(new_selector_config(&self.settings));
log::info!("Initiating tunnel restart because the relay settings changed");
self.reconnect_tunnel();
}
@@ -1979,7 +1979,7 @@ where
self.event_listener
.notify_settings(self.settings.to_settings());
self.relay_selector
- .set_config(new_selector_config(&self.settings, &self.app_version_info));
+ .set_config(new_selector_config(&self.settings));
if let Err(error) = self.api_handle.service().next_api_endpoint() {
log::error!("Failed to rotate API endpoint: {}", error);
}
@@ -2013,7 +2013,7 @@ where
self.event_listener
.notify_settings(self.settings.to_settings());
self.relay_selector
- .set_config(new_selector_config(&self.settings, &self.app_version_info));
+ .set_config(new_selector_config(&self.settings));
self.reconnect_tunnel();
}
Self::oneshot_send(tx, Ok(()), "set_obfuscation_settings");
@@ -2043,7 +2043,7 @@ where
self.event_listener
.notify_settings(self.settings.to_settings());
self.relay_selector
- .set_config(new_selector_config(&self.settings, &self.app_version_info));
+ .set_config(new_selector_config(&self.settings));
log::info!("Initiating tunnel restart because bridge state changed");
self.reconnect_tunnel();
}
@@ -2431,28 +2431,8 @@ impl DaemonShutdownHandle {
}
}
-fn new_selector_config(
- settings: &Settings,
- app_version_info: &Option<AppVersionInfo>,
-) -> SelectorConfig {
- // In case of the app not having a version we safety default to OpenVPN to guard against the
- // case where some error causes users to not receive a version and in that case all going to
- // wireguard. Magic number 0.0 implies that 0% of users should use Wireguard.
- // This will be removed in the future when we the migration is done.
- let wg_migration_threshold = app_version_info
- .as_ref()
- .map(|f| f.wg_migration_threshold)
- .unwrap_or(0.0);
-
- let default_tunnel_type = if cfg!(target_os = "windows") {
- if wg_migration_threshold >= settings.wg_migration_rand_num {
- TunnelType::Wireguard
- } else {
- TunnelType::OpenVpn
- }
- } else {
- TunnelType::Wireguard
- };
+fn new_selector_config(settings: &Settings) -> SelectorConfig {
+ let default_tunnel_type = TunnelType::Wireguard;
SelectorConfig {
relay_settings: settings.relay_settings.clone(),
diff --git a/mullvad-daemon/src/version_check.rs b/mullvad-daemon/src/version_check.rs
index 6f3a8f6a9a..1160ac3d7e 100644
--- a/mullvad-daemon/src/version_check.rs
+++ b/mullvad-daemon/src/version_check.rs
@@ -278,20 +278,11 @@ impl VersionUpdater {
self.show_beta_releases || is_beta_version(),
);
- let wg_migration_threshold = if response.x_threshold_wg_default.is_nan() {
- // If the value should for some strange reason be NaN then safe default to 0.0
- 0.0
- } else {
- // Make sure that the returned value is between 0% and 100%
- response.x_threshold_wg_default.clamp(0.0, 1.0)
- };
-
AppVersionInfo {
supported: response.supported,
latest_stable: response.latest_stable.unwrap_or_else(|| "".to_owned()),
latest_beta: response.latest_beta,
suggested_upgrade,
- wg_migration_threshold,
}
}
@@ -377,7 +368,6 @@ impl VersionUpdater {
latest_stable: last_app_version_info.latest_stable,
latest_beta: last_app_version_info.latest_beta,
suggested_upgrade,
- wg_migration_threshold: last_app_version_info.wg_migration_threshold,
}).await;
}
}
@@ -471,10 +461,6 @@ fn dev_version_cache() -> AppVersionInfo {
latest_stable: mullvad_version::VERSION.to_owned(),
latest_beta: mullvad_version::VERSION.to_owned(),
suggested_upgrade: None,
- // Use WireGuard on 75% of dev builds. So we can manually modify
- // wg_migration_rand_num in the settings and verify that the migration
- // works as expected.
- wg_migration_threshold: 0.75,
}
}
diff --git a/mullvad-management-interface/src/types/conversions/version.rs b/mullvad-management-interface/src/types/conversions/version.rs
index 7bb80465fa..5ded9e9f0f 100644
--- a/mullvad-management-interface/src/types/conversions/version.rs
+++ b/mullvad-management-interface/src/types/conversions/version.rs
@@ -22,8 +22,6 @@ impl From<proto::AppVersionInfo> for mullvad_types::version::AppVersionInfo {
} else {
Some(version_info.suggested_upgrade)
},
- // NOTE: This field is meaningless when derived from the gRPC type
- wg_migration_threshold: f32::NAN,
}
}
}
diff --git a/mullvad-types/src/version.rs b/mullvad-types/src/version.rs
index db021b24fc..97123725a6 100644
--- a/mullvad-types/src/version.rs
+++ b/mullvad-types/src/version.rs
@@ -35,11 +35,6 @@ pub struct AppVersionInfo {
pub latest_beta: AppVersion,
/// Whether should update to newer version
pub suggested_upgrade: Option<AppVersion>,
- /// Temporary field provided by the API used to decide if a user should default to Wireguard or
- /// OpenVpn. Represents the percentage of users which should use Wireguard.
- /// NOTE: This field will be removed completely in future versions.
- #[cfg_attr(target_os = "android", jnix(skip))]
- pub wg_migration_threshold: f32,
}
pub type AppVersion = String;