From 35c3d613556cf794a221ea3c68732d6fd1c0ef74 Mon Sep 17 00:00:00 2001 From: Jackson Coxson Date: Tue, 23 Dec 2025 08:18:41 -0700 Subject: [PATCH] Make escrow bag an optional pairing file field --- idevice/src/pairing_file.rs | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/idevice/src/pairing_file.rs b/idevice/src/pairing_file.rs index 94299d3..9c7ad92 100644 --- a/idevice/src/pairing_file.rs +++ b/idevice/src/pairing_file.rs @@ -38,7 +38,7 @@ pub struct PairingFile { /// Host identifier pub host_id: String, /// Escrow bag allowing for access while locked - pub escrow_bag: Vec, + pub escrow_bag: Option>, /// Device's WiFi MAC address pub wifi_mac_address: String, /// Device's Unique Device Identifier (optional) @@ -73,7 +73,7 @@ struct RawPairingFile { system_buid: String, #[serde(rename = "HostID")] host_id: String, - escrow_bag: Data, + escrow_bag: Option, // None on Apple Watch #[serde(rename = "WiFiMACAddress")] wifi_mac_address: String, #[serde(rename = "UDID")] @@ -206,7 +206,7 @@ impl TryFrom for PairingFile { root_certificate: CertificateDer::from_pem_slice(&root_certificate_pem)?, system_buid: value.system_buid, host_id: value.host_id, - escrow_bag: value.escrow_bag.into(), + escrow_bag: value.escrow_bag.map(|x| x.into()), wifi_mac_address: value.wifi_mac_address, udid: value.udid, }) @@ -230,7 +230,7 @@ impl TryFrom for PairingFile { root_certificate: X509::from_pem(&Into::>::into(value.root_certificate))?, system_buid: value.system_buid, host_id: value.host_id, - escrow_bag: value.escrow_bag.into(), + escrow_bag: value.escrow_bag.map(|x| x.into()), wifi_mac_address: value.wifi_mac_address, udid: value.udid, }) @@ -258,7 +258,7 @@ impl From for RawPairingFile { root_certificate: Data::new(root_cert_data), system_buid: value.system_buid, host_id: value.host_id.clone(), - escrow_bag: Data::new(value.escrow_bag), + escrow_bag: value.escrow_bag.map(Data::new), wifi_mac_address: value.wifi_mac_address, udid: value.udid, } @@ -278,7 +278,7 @@ impl TryFrom for RawPairingFile { root_certificate: Data::new(value.root_certificate.to_pem()?), system_buid: value.system_buid, host_id: value.host_id.clone(), - escrow_bag: Data::new(value.escrow_bag), + escrow_bag: value.escrow_bag.map(Data::new), wifi_mac_address: value.wifi_mac_address, udid: value.udid, })