start_session requires reference to pairing file (semver break)

This commit is contained in:
Jackson Coxson
2025-01-09 18:34:27 -08:00
parent 9a59124d39
commit 2861f42b21
6 changed files with 8 additions and 7 deletions

View File

@@ -84,7 +84,7 @@ impl Idevice {
/// Wraps current connection in TLS /// Wraps current connection in TLS
pub fn start_session( pub fn start_session(
&mut self, &mut self,
pairing_file: pairing_file::PairingFile, pairing_file: &pairing_file::PairingFile,
) -> Result<(), IdeviceError> { ) -> Result<(), IdeviceError> {
let mut connector = SslConnector::builder(SslMethod::tls()).unwrap(); let mut connector = SslConnector::builder(SslMethod::tls()).unwrap();
connector connector

View File

@@ -57,7 +57,7 @@ impl LockdowndClient {
/// Starts a TLS session with the client /// Starts a TLS session with the client
pub fn start_session( pub fn start_session(
&mut self, &mut self,
pairing_file: pairing_file::PairingFile, pairing_file: &pairing_file::PairingFile,
) -> Result<(), IdeviceError> { ) -> Result<(), IdeviceError> {
if self.idevice.socket.is_none() { if self.idevice.socket.is_none() {
return Err(IdeviceError::NoEstablishedConnection); return Err(IdeviceError::NoEstablishedConnection);

View File

@@ -10,6 +10,7 @@ use openssl::{
use plist::Data; use plist::Data;
use serde::{Deserialize, Serialize}; use serde::{Deserialize, Serialize};
#[derive(Clone, Debug)]
pub struct PairingFile { pub struct PairingFile {
pub device_certificate: X509, pub device_certificate: X509,
pub host_private_key: PKey<Private>, pub host_private_key: PKey<Private>,

View File

@@ -69,7 +69,7 @@ fn main() {
let p = PairingFile::read_from_file(pairing_file.as_ref().unwrap()).unwrap(); let p = PairingFile::read_from_file(pairing_file.as_ref().unwrap()).unwrap();
let mut lockdown_client = LockdowndClient { idevice }; let mut lockdown_client = LockdowndClient { idevice };
lockdown_client.start_session(p).unwrap(); lockdown_client.start_session(&p).unwrap();
let (port, _) = lockdown_client let (port, _) = lockdown_client
.start_service("com.apple.mobile.heartbeat") .start_service("com.apple.mobile.heartbeat")
@@ -82,7 +82,7 @@ fn main() {
let p = PairingFile::read_from_file(pairing_file.unwrap()).unwrap(); 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 }; let mut heartbeat_client = HeartbeatClient { idevice };

View File

@@ -69,7 +69,7 @@ fn main() {
println!("{:?}", lockdown_client.get_value("ProductVersion")); println!("{:?}", lockdown_client.get_value("ProductVersion"));
let p = PairingFile::read_from_file(pairing_file.unwrap()).unwrap(); 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.idevice.get_type().unwrap());
println!("{:#?}", lockdown_client.get_all_values()); println!("{:#?}", lockdown_client.get_all_values());
} }

View File

@@ -69,7 +69,7 @@ fn main() {
let p = PairingFile::read_from_file(pairing_file.as_ref().unwrap()).unwrap(); let p = PairingFile::read_from_file(pairing_file.as_ref().unwrap()).unwrap();
let mut lockdown_client = LockdowndClient { idevice }; let mut lockdown_client = LockdowndClient { idevice };
lockdown_client.start_session(p).unwrap(); lockdown_client.start_session(&p).unwrap();
let (port, _) = lockdown_client let (port, _) = lockdown_client
.start_service("com.apple.mobile.installation_proxy") .start_service("com.apple.mobile.installation_proxy")
@@ -82,7 +82,7 @@ fn main() {
let p = PairingFile::read_from_file(pairing_file.unwrap()).unwrap(); 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 mut instproxy_client = InstallationProxyClient::new(idevice);
let apps = instproxy_client.get_apps(None, None).unwrap(); let apps = instproxy_client.get_apps(None, None).unwrap();