summaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
authorEmīls Piņķis <emils@mullvad.net>2019-08-12 13:28:25 +0100
committerEmīls Piņķis <emils@mullvad.net>2019-08-12 13:29:01 +0100
commit3b4b71a1f06d68443f644bf2ca1ea4417118c4db (patch)
tree27b24fffd0ae20c253e74e65dbb1d8419b7bc041
parent4fab4287b687482083d411ee9b2652274dda72c0 (diff)
downloadmullvadvpn-3b4b71a1f06d68443f644bf2ca1ea4417118c4db.tar.xz
mullvadvpn-3b4b71a1f06d68443f644bf2ca1ea4417118c4db.zip
Fix V1 migration code
-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> {