diff options
| author | Emīls Piņķis <emils@mullvad.net> | 2019-10-10 12:47:34 +0100 |
|---|---|---|
| committer | Emīls Piņķis <emils@mullvad.net> | 2019-10-24 19:38:54 +0100 |
| commit | 9c5d8ae22a1aadaebe1886f8dc58d65d711ea403 (patch) | |
| tree | 39e33c4165f88ec3dd5da43a0120aa0369d451ba | |
| parent | 0e3b43ffa6045803d992d1ffb6848109d483ac99 (diff) | |
| download | mullvadvpn-9c5d8ae22a1aadaebe1886f8dc58d65d711ea403.tar.xz mullvadvpn-9c5d8ae22a1aadaebe1886f8dc58d65d711ea403.zip | |
Add getWwwAuthToken to mullvad-jni
| -rw-r--r-- | mullvad-jni/src/daemon_interface.rs | 11 | ||||
| -rw-r--r-- | mullvad-jni/src/lib.rs | 20 |
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>, |
