summaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
authorJanito Vaqueiro Ferreira Filho <janito@mullvad.net>2020-03-20 21:08:30 +0000
committerJanito Vaqueiro Ferreira Filho <janito@mullvad.net>2020-03-30 16:46:26 +0000
commit3f197676f863ec3d6cba09297179a92571e40ce9 (patch)
treeb0622131e6f15eb79cf5a84a3b758c3d23155a06
parente8c327f3fa7643939b3956b8fc20a331d51be7dd (diff)
downloadmullvadvpn-3f197676f863ec3d6cba09297179a92571e40ce9.tar.xz
mullvadvpn-3f197676f863ec3d6cba09297179a92571e40ce9.zip
Derive `IntoJava` for `wireguard::TunnelOptions`
-rw-r--r--android/src/main/kotlin/net/mullvad/talpid/net/wireguard/TunnelOptions.kt3
-rw-r--r--talpid-types/src/net/wireguard.rs12
2 files changed, 15 insertions, 0 deletions
diff --git a/android/src/main/kotlin/net/mullvad/talpid/net/wireguard/TunnelOptions.kt b/android/src/main/kotlin/net/mullvad/talpid/net/wireguard/TunnelOptions.kt
new file mode 100644
index 0000000000..bbba95fa6d
--- /dev/null
+++ b/android/src/main/kotlin/net/mullvad/talpid/net/wireguard/TunnelOptions.kt
@@ -0,0 +1,3 @@
+package net.mullvad.talpid.net.wireguard
+
+data class TunnelOptions(val mtu: Int?)
diff --git a/talpid-types/src/net/wireguard.rs b/talpid-types/src/net/wireguard.rs
index 767687dd6b..33f06af911 100644
--- a/talpid-types/src/net/wireguard.rs
+++ b/talpid-types/src/net/wireguard.rs
@@ -1,5 +1,7 @@
use crate::net::{Endpoint, GenericTunnelOptions, TransportProtocol};
use ipnetwork::IpNetwork;
+#[cfg(target_os = "android")]
+use jnix::IntoJava;
use rand::rngs::OsRng;
use serde::{Deserialize, Deserializer, Serialize, Serializer};
use std::{
@@ -49,10 +51,20 @@ pub struct TunnelConfig {
/// Wireguard tunnel options
#[derive(Debug, Clone, PartialEq, Eq, Serialize, Deserialize)]
+#[cfg_attr(target_os = "android", derive(IntoJava))]
+#[cfg_attr(
+ target_os = "android",
+ jnix(package = "net.mullvad.talpid.net.wireguard")
+)]
pub struct TunnelOptions {
/// MTU for the wireguard tunnel
+ #[cfg_attr(
+ target_os = "android",
+ jnix(map = "|maybe_mtu| maybe_mtu.map(|mtu| mtu as i32)")
+ )]
pub mtu: Option<u16>,
/// Interval used for automatic key rotation, in hours
+ #[cfg_attr(target_os = "android", jnix(skip))]
pub automatic_rotation: Option<u32>,
}