summaryrefslogtreecommitdiffhomepage
path: root/talpid-core
diff options
context:
space:
mode:
authorJanito Vaqueiro Ferreira Filho <janito@mullvad.net>2020-11-21 22:55:05 +0000
committerJanito Vaqueiro Ferreira Filho <janito@mullvad.net>2020-11-23 13:05:40 +0000
commit66631ae9cfdaa8e6faba3abb3f3a40a18310fe04 (patch)
tree9371d4e6948e8aa8ca5a442f6e0147163056c961 /talpid-core
parent1e514b22e961f8f29941fdd8188e0874cc9b8e11 (diff)
downloadmullvadvpn-66631ae9cfdaa8e6faba3abb3f3a40a18310fe04.tar.xz
mullvadvpn-66631ae9cfdaa8e6faba3abb3f3a40a18310fe04.zip
Return boolean to indicate if tunnel is up
Allows the tunnel state machine to determine if it is blocking connections when entering the error state.
Diffstat (limited to 'talpid-core')
-rw-r--r--talpid-core/src/tunnel/tun_provider/android/mod.rs8
1 files changed, 5 insertions, 3 deletions
diff --git a/talpid-core/src/tunnel/tun_provider/android/mod.rs b/talpid-core/src/tunnel/tun_provider/android/mod.rs
index e4e8f4fbac..c744ca96fa 100644
--- a/talpid-core/src/tunnel/tun_provider/android/mod.rs
+++ b/talpid-core/src/tunnel/tun_provider/android/mod.rs
@@ -7,6 +7,7 @@ use jnix::{
jni::{
objects::{GlobalRef, JValue},
signature::{JavaType, Primitive},
+ sys::JNI_FALSE,
JavaVM,
},
IntoJava, JnixEnv,
@@ -133,13 +134,14 @@ impl AndroidTunProvider {
pub fn create_tun_if_closed(&mut self) -> Result<(), Error> {
let result = self.call_method(
"createTunIfClosed",
- "()V",
- JavaType::Primitive(Primitive::Void),
+ "()Z",
+ JavaType::Primitive(Primitive::Boolean),
&[],
)?;
match result {
- JValue::Void => Ok(()),
+ JValue::Bool(JNI_FALSE) => Err(Error::TunnelDeviceError),
+ JValue::Bool(_) => Ok(()),
value => Err(Error::InvalidMethodResult(
"createTunIfClosed",
format!("{:?}", value),