summaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
-rw-r--r--android/src/main/kotlin/net/mullvad/mullvadvpn/model/DnsOptions.kt6
-rw-r--r--mullvad-jni/src/classes.rs1
-rw-r--r--mullvad-types/src/settings/mod.rs5
3 files changed, 9 insertions, 3 deletions
diff --git a/android/src/main/kotlin/net/mullvad/mullvadvpn/model/DnsOptions.kt b/android/src/main/kotlin/net/mullvad/mullvadvpn/model/DnsOptions.kt
new file mode 100644
index 0000000000..e4d7b75481
--- /dev/null
+++ b/android/src/main/kotlin/net/mullvad/mullvadvpn/model/DnsOptions.kt
@@ -0,0 +1,6 @@
+package net.mullvad.mullvadvpn.model
+
+import java.net.InetAddress
+import java.util.ArrayList
+
+data class DnsOptions(val custom: Boolean, val addresses: ArrayList<InetAddress>)
diff --git a/mullvad-jni/src/classes.rs b/mullvad-jni/src/classes.rs
index 068e75f63c..d402d1a8a3 100644
--- a/mullvad-jni/src/classes.rs
+++ b/mullvad-jni/src/classes.rs
@@ -7,6 +7,7 @@ pub const CLASSES: &[&str] = &[
"net/mullvad/mullvadvpn/model/AppVersionInfo",
"net/mullvad/mullvadvpn/model/Constraint$Any",
"net/mullvad/mullvadvpn/model/Constraint$Only",
+ "net/mullvad/mullvadvpn/model/DnsOptions",
"net/mullvad/mullvadvpn/model/GeoIpLocation",
"net/mullvad/mullvadvpn/model/GetAccountDataResult$Ok",
"net/mullvad/mullvadvpn/model/GetAccountDataResult$InvalidAccount",
diff --git a/mullvad-types/src/settings/mod.rs b/mullvad-types/src/settings/mod.rs
index 4f09fa480b..e16332159a 100644
--- a/mullvad-types/src/settings/mod.rs
+++ b/mullvad-types/src/settings/mod.rs
@@ -7,7 +7,6 @@ use jnix::IntoJava;
use log::{debug, info};
use serde::{Deserialize, Serialize};
use serde_json;
-#[cfg(not(target_os = "android"))]
use std::net::IpAddr;
use talpid_types::net::{openvpn, wireguard, GenericTunnelOptions};
@@ -172,9 +171,10 @@ pub struct TunnelOptions {
}
/// Custom DNS config
-#[cfg(not(target_os = "android"))]
#[serde(default)]
#[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"))]
pub struct DnsOptions {
/// Whether to use the addresses in `custom_dns`.
pub custom: bool,
@@ -194,7 +194,6 @@ impl Default for TunnelOptions {
// Enable IPv6 be default on Android
enable_ipv6: cfg!(target_os = "android"),
},
- #[cfg(not(target_os = "android"))]
dns_options: DnsOptions::default(),
}
}