diff --git a/src/lib.rs b/src/lib.rs index c45701d..45a28f9 100644 --- a/src/lib.rs +++ b/src/lib.rs @@ -84,7 +84,7 @@ impl Idevice { /// Wraps current connection in TLS pub fn start_session( &mut self, - pairing_file: pairing_file::PairingFile, + pairing_file: &pairing_file::PairingFile, ) -> Result<(), IdeviceError> { let mut connector = SslConnector::builder(SslMethod::tls()).unwrap(); connector diff --git a/src/lockdownd.rs b/src/lockdownd.rs index ac8a07a..105bb7c 100644 --- a/src/lockdownd.rs +++ b/src/lockdownd.rs @@ -57,7 +57,7 @@ impl LockdowndClient { /// Starts a TLS session with the client pub fn start_session( &mut self, - pairing_file: pairing_file::PairingFile, + pairing_file: &pairing_file::PairingFile, ) -> Result<(), IdeviceError> { if self.idevice.socket.is_none() { return Err(IdeviceError::NoEstablishedConnection); diff --git a/src/pairing_file.rs b/src/pairing_file.rs index 27390eb..148ede0 100644 --- a/src/pairing_file.rs +++ b/src/pairing_file.rs @@ -10,6 +10,7 @@ use openssl::{ use plist::Data; use serde::{Deserialize, Serialize}; +#[derive(Clone, Debug)] pub struct PairingFile { pub device_certificate: X509, pub host_private_key: PKey, diff --git a/src/tools/heartbeat_client.rs b/src/tools/heartbeat_client.rs index 9558e8b..b31135a 100644 --- a/src/tools/heartbeat_client.rs +++ b/src/tools/heartbeat_client.rs @@ -69,7 +69,7 @@ fn main() { let p = PairingFile::read_from_file(pairing_file.as_ref().unwrap()).unwrap(); let mut lockdown_client = LockdowndClient { idevice }; - lockdown_client.start_session(p).unwrap(); + lockdown_client.start_session(&p).unwrap(); let (port, _) = lockdown_client .start_service("com.apple.mobile.heartbeat") @@ -82,7 +82,7 @@ fn main() { let p = PairingFile::read_from_file(pairing_file.unwrap()).unwrap(); - idevice.start_session(p).unwrap(); + idevice.start_session(&p).unwrap(); let mut heartbeat_client = HeartbeatClient { idevice }; diff --git a/src/tools/ideviceinfo.rs b/src/tools/ideviceinfo.rs index e1e680a..e963817 100644 --- a/src/tools/ideviceinfo.rs +++ b/src/tools/ideviceinfo.rs @@ -69,7 +69,7 @@ fn main() { println!("{:?}", lockdown_client.get_value("ProductVersion")); let p = PairingFile::read_from_file(pairing_file.unwrap()).unwrap(); - println!("{:?}", lockdown_client.start_session(p)); + println!("{:?}", lockdown_client.start_session(&p)); println!("{:?}", lockdown_client.idevice.get_type().unwrap()); println!("{:#?}", lockdown_client.get_all_values()); } diff --git a/src/tools/instproxy.rs b/src/tools/instproxy.rs index 86303c2..6da09b8 100644 --- a/src/tools/instproxy.rs +++ b/src/tools/instproxy.rs @@ -69,7 +69,7 @@ fn main() { let p = PairingFile::read_from_file(pairing_file.as_ref().unwrap()).unwrap(); let mut lockdown_client = LockdowndClient { idevice }; - lockdown_client.start_session(p).unwrap(); + lockdown_client.start_session(&p).unwrap(); let (port, _) = lockdown_client .start_service("com.apple.mobile.installation_proxy") @@ -82,7 +82,7 @@ fn main() { let p = PairingFile::read_from_file(pairing_file.unwrap()).unwrap(); - idevice.start_session(p).unwrap(); + idevice.start_session(&p).unwrap(); let mut instproxy_client = InstallationProxyClient::new(idevice); let apps = instproxy_client.get_apps(None, None).unwrap();