summaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
authorEmīls Piņķis <emils@mullvad.net>2019-10-10 12:47:34 +0100
committerEmīls Piņķis <emils@mullvad.net>2019-10-24 19:38:54 +0100
commit9c5d8ae22a1aadaebe1886f8dc58d65d711ea403 (patch)
tree39e33c4165f88ec3dd5da43a0120aa0369d451ba
parent0e3b43ffa6045803d992d1ffb6848109d483ac99 (diff)
downloadmullvadvpn-9c5d8ae22a1aadaebe1886f8dc58d65d711ea403.tar.xz
mullvadvpn-9c5d8ae22a1aadaebe1886f8dc58d65d711ea403.zip
Add getWwwAuthToken to mullvad-jni
-rw-r--r--mullvad-jni/src/daemon_interface.rs11
-rw-r--r--mullvad-jni/src/lib.rs20
2 files changed, 31 insertions, 0 deletions
diff --git a/mullvad-jni/src/daemon_interface.rs b/mullvad-jni/src/daemon_interface.rs
index 2da8ffecb7..97580c22d4 100644
--- a/mullvad-jni/src/daemon_interface.rs
+++ b/mullvad-jni/src/daemon_interface.rs
@@ -88,6 +88,17 @@ impl DaemonInterface {
.map_err(Error::RpcError)
}
+ pub fn get_www_auth_token(&self) -> Result<String> {
+ let (tx, rx) = oneshot::channel();
+
+ self.send_command(ManagementCommand::GetWwwAuthToken(tx))?;
+
+ rx.wait()
+ .map_err(|_| Error::NoResponse)?
+ .wait()
+ .map_err(Error::RpcError)
+ }
+
pub fn get_current_location(&self) -> Result<Option<GeoIpLocation>> {
let (tx, rx) = oneshot::channel();
diff --git a/mullvad-jni/src/lib.rs b/mullvad-jni/src/lib.rs
index 7c9d3ba50a..bcce35d6b3 100644
--- a/mullvad-jni/src/lib.rs
+++ b/mullvad-jni/src/lib.rs
@@ -328,6 +328,26 @@ pub extern "system" fn Java_net_mullvad_mullvadvpn_MullvadDaemon_getAccountData<
#[no_mangle]
#[allow(non_snake_case)]
+pub extern "system" fn Java_net_mullvad_mullvadvpn_MullvadDaemon_getWwwAuthToken<'env, 'this>(
+ env: JNIEnv<'env>,
+ _: JObject<'this>,
+) -> JString<'env> {
+ match DAEMON_INTERFACE.get_www_auth_token() {
+ Ok(token) => {
+ token.into_java(&env)
+ },
+ Err(err) => {
+ log::error!(
+ "{}",
+ err.display_chain_with_msg("Failed to get WWW auth token")
+ );
+ String::new().into_java(&env)
+ }
+ }
+}
+
+#[no_mangle]
+#[allow(non_snake_case)]
pub extern "system" fn Java_net_mullvad_mullvadvpn_MullvadDaemon_getCurrentLocation<'env, 'this>(
env: JNIEnv<'env>,
_: JObject<'this>,