diff options
| -rw-r--r-- | mullvad-types/src/settings/migrations/v1.rs | 26 |
1 files changed, 24 insertions, 2 deletions
diff --git a/mullvad-types/src/settings/migrations/v1.rs b/mullvad-types/src/settings/migrations/v1.rs index a5b4e7c618..10a2f7bec9 100644 --- a/mullvad-types/src/settings/migrations/v1.rs +++ b/mullvad-types/src/settings/migrations/v1.rs @@ -2,8 +2,9 @@ use super::{Error, Result, VersionedSettings}; use crate::{ custom_tunnel::CustomTunnelEndpoint, relay_constraints::{ - BridgeSettings, BridgeState, Constraint, LocationConstraint, OpenVpnConstraints, - RelaySettings as NewRelaySettings, TunnelProtocol, WireguardConstraints, + BridgeConstraints, BridgeSettings, BridgeState, Constraint, LocationConstraint, + OpenVpnConstraints, RelaySettings as NewRelaySettings, TunnelProtocol, + WireguardConstraints, }, settings::TunnelOptions, }; @@ -13,6 +14,7 @@ use std::io::Read; /// Mullvad daemon settings. #[derive(Debug, Clone, Deserialize, Serialize)] +#[serde(default)] pub struct Settings { account_token: Option<String>, relay_settings: RelaySettings, @@ -30,6 +32,26 @@ pub struct Settings { tunnel_options: TunnelOptions, } +impl Default for Settings { + fn default() -> Self { + Settings { + account_token: None, + relay_settings: RelaySettings::Normal(RelayConstraints { + location: Constraint::Only(LocationConstraint::Country("se".to_owned())), + tunnel: Constraint::Any, + }), + bridge_settings: BridgeSettings::Normal(BridgeConstraints { + location: Constraint::Any, + }), + bridge_state: BridgeState::Auto, + allow_lan: false, + block_when_disconnected: false, + auto_connect: false, + tunnel_options: TunnelOptions::default(), + } + } +} + pub(super) struct Migration; impl super::SettingsMigration for Migration { fn read(&self, mut reader: &mut dyn Read) -> Result<VersionedSettings> { |
