summaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
-rw-r--r--mullvad-types/src/settings/migrations/v1.rs26
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> {