summaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
authorLinus Färnstrand <linus@mullvad.net>2022-01-11 16:36:46 +0100
committerLinus Färnstrand <linus@mullvad.net>2022-01-11 16:36:46 +0100
commit027c43afd62c07bb71b712a8dd23c4bfda0a1a07 (patch)
tree0bf3335e843d3ab6a70520b07998905a7043ff67
parent6ce47447cbfe5bbffebf79568f6cb9600271b380 (diff)
parenta2e767ddab887efb9efec7d573ebe61cf54de40f (diff)
downloadmullvadvpn-027c43afd62c07bb71b712a8dd23c4bfda0a1a07.tar.xz
mullvadvpn-027c43afd62c07bb71b712a8dd23c4bfda0a1a07.zip
Merge branch 'correctly-initialize-settings-values-when-missing'
-rw-r--r--Cargo.lock1
-rw-r--r--mullvad-daemon/Cargo.toml1
-rw-r--r--mullvad-daemon/src/migrations/v3.rs9
-rw-r--r--mullvad-daemon/src/migrations/v4.rs4
-rw-r--r--mullvad-daemon/src/migrations/v5.rs6
-rw-r--r--mullvad-types/src/settings/mod.rs2
6 files changed, 10 insertions, 13 deletions
diff --git a/Cargo.lock b/Cargo.lock
index 0203e5b11c..a3fdecbf56 100644
--- a/Cargo.lock
+++ b/Cargo.lock
@@ -1333,7 +1333,6 @@ dependencies = [
"fern",
"futures",
"ipnetwork",
- "jnix",
"lazy_static",
"libc",
"log",
diff --git a/mullvad-daemon/Cargo.toml b/mullvad-daemon/Cargo.toml
index b2df8ce051..e9c3d75839 100644
--- a/mullvad-daemon/Cargo.toml
+++ b/mullvad-daemon/Cargo.toml
@@ -41,7 +41,6 @@ mullvad-management-interface = { path = "../mullvad-management-interface" }
[target.'cfg(target_os="android")'.dependencies]
android_logger = "0.8"
-jnix = { version = "0.4", features = ["derive"] }
[target.'cfg(unix)'.dependencies]
nix = "0.22.2"
diff --git a/mullvad-daemon/src/migrations/v3.rs b/mullvad-daemon/src/migrations/v3.rs
index d4c94443ff..dd44505103 100644
--- a/mullvad-daemon/src/migrations/v3.rs
+++ b/mullvad-daemon/src/migrations/v3.rs
@@ -1,6 +1,4 @@
use super::{Error, Result};
-#[cfg(target_os = "android")]
-use jnix::IntoJava;
use mullvad_types::settings::SettingsVersion;
use std::net::IpAddr;
@@ -23,19 +21,16 @@ impl Default for DnsState {
/// DNS config
#[derive(Debug, Default, Clone, PartialEq, Eq, Serialize, Deserialize, Hash)]
-#[cfg_attr(target_os = "android", derive(IntoJava))]
-#[cfg_attr(target_os = "android", jnix(package = "net.mullvad.mullvadvpn.model"))]
+#[serde(default)]
pub struct DnsOptions {
- #[cfg_attr(target_os = "android", jnix(map = "|state| state == DnsState::Custom"))]
pub state: DnsState,
- #[cfg_attr(target_os = "android", jnix(skip))]
pub default_options: DefaultDnsOptions,
- #[cfg_attr(target_os = "android", jnix(map = "|opts| opts.addresses"))]
pub custom_options: CustomDnsOptions,
}
/// Default DNS config
#[derive(Debug, Default, Clone, PartialEq, Eq, Serialize, Deserialize, Hash)]
+#[serde(default)]
pub struct DefaultDnsOptions {
pub block_ads: bool,
pub block_trackers: bool,
diff --git a/mullvad-daemon/src/migrations/v4.rs b/mullvad-daemon/src/migrations/v4.rs
index 4a27b352fb..5bdfa7e5be 100644
--- a/mullvad-daemon/src/migrations/v4.rs
+++ b/mullvad-daemon/src/migrations/v4.rs
@@ -1,6 +1,4 @@
use super::{Error, Result};
-#[cfg(target_os = "android")]
-use jnix::IntoJava;
use mullvad_types::{relay_constraints::Constraint, settings::SettingsVersion};
// ======================================================
@@ -13,8 +11,6 @@ const OPENVPN_TCP_PORTS: [u16; 2] = [80, 443];
/// Representation of a transport protocol, either UDP or TCP.
#[derive(Debug, Copy, Clone, PartialEq, Eq, Hash, Serialize, Deserialize)]
#[serde(rename_all = "snake_case")]
-#[cfg_attr(target_os = "android", derive(IntoJava))]
-#[cfg_attr(target_os = "android", jnix(package = "net.mullvad.talpid.net"))]
pub enum TransportProtocol {
/// Represents the UDP transport protocol.
Udp,
diff --git a/mullvad-daemon/src/migrations/v5.rs b/mullvad-daemon/src/migrations/v5.rs
index 70a0fb0f11..ad788ab834 100644
--- a/mullvad-daemon/src/migrations/v5.rs
+++ b/mullvad-daemon/src/migrations/v5.rs
@@ -1,6 +1,12 @@
use super::{Error, Result};
use mullvad_types::settings::SettingsVersion;
+// ======================================================
+// Section for vendoring types and values that
+// this settings version depend on. See `mod.rs`.
+
+// ======================================================
+
pub fn migrate(settings: &mut serde_json::Value) -> Result<()> {
if !version_matches(settings) {
return Ok(());
diff --git a/mullvad-types/src/settings/mod.rs b/mullvad-types/src/settings/mod.rs
index 6044c3ecd7..c5dc7ddda4 100644
--- a/mullvad-types/src/settings/mod.rs
+++ b/mullvad-types/src/settings/mod.rs
@@ -238,6 +238,7 @@ impl Default for DnsState {
/// DNS config
#[derive(Debug, Default, Clone, PartialEq, Eq, Serialize, Deserialize, Hash)]
+#[serde(default)]
#[cfg_attr(target_os = "android", derive(IntoJava))]
#[cfg_attr(target_os = "android", jnix(package = "net.mullvad.mullvadvpn.model"))]
pub struct DnsOptions {
@@ -292,6 +293,7 @@ where
/// Default DNS config
#[derive(Debug, Default, Clone, PartialEq, Eq, Serialize, Deserialize, Hash)]
+#[serde(default)]
pub struct DefaultDnsOptions {
pub block_ads: bool,
pub block_trackers: bool,