diff options
| author | David Lönnhager <david.l@mullvad.net> | 2022-02-21 13:34:28 +0100 |
|---|---|---|
| committer | David Lönnhager <david.l@mullvad.net> | 2022-02-21 13:34:28 +0100 |
| commit | ea6ec13680c2e6ccb5eb1d623c2ec5e1e36674bf (patch) | |
| tree | b31d93b3f512b23b44eb7cec8e3b8ef0690573f8 | |
| parent | 6f39dbf8c19ab93afddb042953f903e69d7707ad (diff) | |
| parent | b6c1a611904ed15ce384814354050e4883c78f38 (diff) | |
| download | mullvadvpn-ea6ec13680c2e6ccb5eb1d623c2ec5e1e36674bf.tar.xz mullvadvpn-ea6ec13680c2e6ccb5eb1d623c2ec5e1e36674bf.zip | |
Merge branch 'settings-fail-default-always-require-vpn'
| -rw-r--r-- | CHANGELOG.md | 4 | ||||
| -rw-r--r-- | mullvad-daemon/src/lib.rs | 6 | ||||
| -rw-r--r-- | mullvad-daemon/src/settings.rs | 11 |
3 files changed, 15 insertions, 6 deletions
diff --git a/CHANGELOG.md b/CHANGELOG.md index d98b47a018..c4a31afc81 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -44,6 +44,10 @@ Line wrap the file at 100 chars. Th - Fix settings file being truncated before being read. - Improve performance for automatically scrolling text in desktop app. +### Security +- Enable "Always require VPN" by default if the settings cannot be parsed. This reduces the number + of errors that lead to the daemon unexpectedly starting into non-blocking mode. + ## [2022.1-beta1] - 2022-02-14 ### Added diff --git a/mullvad-daemon/src/lib.rs b/mullvad-daemon/src/lib.rs index 35fe554615..e5eabbbd29 100644 --- a/mullvad-daemon/src/lib.rs +++ b/mullvad-daemon/src/lib.rs @@ -584,11 +584,7 @@ where error.display_chain_with_msg("Failed to migrate settings or cache") ); } - let mut settings = SettingsPersister::load(&settings_dir).await; - - if version::is_beta_version() { - let _ = settings.set_show_beta_releases(true).await; - } + let settings = SettingsPersister::load(&settings_dir).await; let target_state = if settings.get_account_token().is_none() { PersistentTargetState::force(&cache_dir, TargetState::Unsecured).await diff --git a/mullvad-daemon/src/settings.rs b/mullvad-daemon/src/settings.rs index 32a06020e2..ec610f63d4 100644 --- a/mullvad-daemon/src/settings.rs +++ b/mullvad-daemon/src/settings.rs @@ -59,7 +59,13 @@ impl SettingsPersister { "{}", error.display_chain_with_msg("Failed to load settings. Using defaults.") ); - (Self::default_settings(), true) + let mut settings = Self::default_settings(); + + // Protect the user by blocking the internet by default. Previous settings may + // not have caused the daemon to enter the non-blocking disconnected state. + settings.block_when_disconnected = true; + + (settings, true) } }; @@ -68,6 +74,9 @@ impl SettingsPersister { should_save |= Self::update_field(&mut settings.tunnel_options.generic.enable_ipv6, true); } + if crate::version::is_beta_version() { + should_save |= Self::update_field(&mut settings.show_beta_releases, true); + } let mut persister = SettingsPersister { settings, path }; |
