From 81e33ff21a758c7d925f645d2e4cb75abfde8b85 Mon Sep 17 00:00:00 2001 From: Harry <109690906+harry-signal@users.noreply.github.com> Date: Tue, 8 Aug 2023 16:17:47 -0700 Subject: [PATCH] Accept 'PNI:' prefix in ProvisioningProtoProvisionMessage --- SignalServiceKit/src/Devices/ProvisioningCipher.swift | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/SignalServiceKit/src/Devices/ProvisioningCipher.swift b/SignalServiceKit/src/Devices/ProvisioningCipher.swift index c906aeacb4..e871ffb05c 100644 --- a/SignalServiceKit/src/Devices/ProvisioningCipher.swift +++ b/SignalServiceKit/src/Devices/ProvisioningCipher.swift @@ -141,10 +141,13 @@ public class ProvisioningCipher { let pni: UUID? = try { guard proto.hasPni, let pniString = proto.pni else { return nil } - guard let pni = UUID(uuidString: pniString) else { + if let pni = UUID(uuidString: pniString) { + return pni + } else if let serviceId = try? ServiceId.parseFrom(serviceIdString: pniString), let pni = serviceId as? Pni { + return pni.rawUUID + } else { throw ProvisioningError.invalidProvisionMessage("invalid PNI from provisioning message") } - return pni }() return ProvisionMessage(aci: aci,