diff options
| author | Markus Pettersson <markus.pettersson@mullvad.net> | 2023-07-11 16:39:08 +0200 |
|---|---|---|
| committer | David Lönnhager <david.l@mullvad.net> | 2023-07-14 12:12:49 +0200 |
| commit | 57ead9b13630f7d565b0a1c7906ea37dc4a36204 (patch) | |
| tree | bdc48ea8c745229e07c9eeb1beeb5506bf6e95ac | |
| parent | 73f42b117e3d1a67815fe1608ef1b712f8e75880 (diff) | |
| download | mullvadvpn-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.rs | 10 | ||||
| -rw-r--r-- | mullvad-daemon/src/custom_lists.rs | 22 | ||||
| -rw-r--r-- | mullvad-daemon/src/lib.rs | 36 | ||||
| -rw-r--r-- | mullvad-daemon/src/version_check.rs | 14 | ||||
| -rw-r--r-- | mullvad-management-interface/src/types/conversions/version.rs | 2 | ||||
| -rw-r--r-- | mullvad-types/src/version.rs | 5 |
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; |
