diff options
| author | Emīls Piņķis <emils@mullvad.net> | 2019-09-06 17:32:41 +0100 |
|---|---|---|
| committer | Emīls Piņķis <emils@mullvad.net> | 2019-09-07 15:26:26 +0100 |
| commit | c4b490be6a23a8e1c6b6045d6cb563e2a5ebadec (patch) | |
| tree | 97f60be0271a5afdb65084329e173b366744fb96 | |
| parent | 70de9106fb2be220e47458d7843acf64747bc1b0 (diff) | |
| download | mullvadvpn-c4b490be6a23a8e1c6b6045d6cb563e2a5ebadec.tar.xz mullvadvpn-c4b490be6a23a8e1c6b6045d6cb563e2a5ebadec.zip | |
Update public key model in Android
| -rw-r--r-- | android/src/main/kotlin/net/mullvad/mullvadvpn/model/PublicKey.kt | 2 | ||||
| -rw-r--r-- | mullvad-jni/src/into_java.rs | 16 | ||||
| -rw-r--r-- | mullvad-jni/src/lib.rs | 2 |
3 files changed, 12 insertions, 8 deletions
diff --git a/android/src/main/kotlin/net/mullvad/mullvadvpn/model/PublicKey.kt b/android/src/main/kotlin/net/mullvad/mullvadvpn/model/PublicKey.kt index 30408c4a9b..1931f40ec7 100644 --- a/android/src/main/kotlin/net/mullvad/mullvadvpn/model/PublicKey.kt +++ b/android/src/main/kotlin/net/mullvad/mullvadvpn/model/PublicKey.kt @@ -1,3 +1,3 @@ package net.mullvad.mullvadvpn.model -data class PublicKey(val key: ByteArray) +data class PublicKey(val key: ByteArray, val dateCreated: String) diff --git a/mullvad-jni/src/into_java.rs b/mullvad-jni/src/into_java.rs index e85e5b2f3f..1e46973c32 100644 --- a/mullvad-jni/src/into_java.rs +++ b/mullvad-jni/src/into_java.rs @@ -14,7 +14,7 @@ use mullvad_types::{ settings::Settings, states::TunnelState, version::AppVersionInfo, - wireguard::KeygenEvent, + wireguard::{KeygenEvent, PublicKey}, CustomTunnelEndpoint, }; use std::{ @@ -23,7 +23,7 @@ use std::{ }; use talpid_core::tunnel::tun_provider::TunConfig; use talpid_types::{ - net::{wireguard::PublicKey, Endpoint, TransportProtocol, TunnelEndpoint}, + net::{Endpoint, TransportProtocol, TunnelEndpoint}, tunnel::{ActionAfterDisconnect, BlockReason, ParameterGenerationError}, }; @@ -214,10 +214,14 @@ impl<'env> IntoJava<'env> for PublicKey { fn into_java(self, env: &JNIEnv<'env>) -> Self::JavaType { let class = get_class("net/mullvad/mullvadvpn/model/PublicKey"); - let key = env.auto_local(self.as_bytes().into_java(env)); - let parameters = [JValue::Object(key.as_obj())]; + let key = env.auto_local(self.key.as_bytes().into_java(env)); + let date_created = env.auto_local(*self.created.to_string().into_java(env)); + let parameters = [ + JValue::Object(key.as_obj()), + JValue::Object(date_created.as_obj()), + ]; - env.new_object(&class, "([B)V", ¶meters) + env.new_object(&class, "([BLjava/lang/String;)V", ¶meters) .expect("Failed to create PublicKey Java object") } } @@ -546,7 +550,7 @@ impl<'env> IntoJava<'env> for KeygenEvent { match self { KeygenEvent::NewKey(public_key) => { let class = get_class("net/mullvad/mullvadvpn/model/KeygenEvent$NewKey"); - let java_public_key = env.auto_local(public_key.key.into_java(env)); + let java_public_key = env.auto_local(public_key.into_java(env)); let parameters = [ JValue::Object(java_public_key.as_obj()), diff --git a/mullvad-jni/src/lib.rs b/mullvad-jni/src/lib.rs index afe7ce7229..fd177f67d6 100644 --- a/mullvad-jni/src/lib.rs +++ b/mullvad-jni/src/lib.rs @@ -433,7 +433,7 @@ pub extern "system" fn Java_net_mullvad_mullvadvpn_MullvadDaemon_getWireguardKey _: JObject<'this>, ) -> JObject<'env> { match DAEMON_INTERFACE.get_wireguard_key() { - Ok(key) => key.map(|k| k.key).into_java(&env), + Ok(key) => key.into_java(&env), Err(error) => { log::error!( "{}", |
