From b3388636637e2e0d7c56c49f05701b2f42942d11 Mon Sep 17 00:00:00 2001 From: Matthew Chen Date: Mon, 22 Oct 2018 13:56:23 -0400 Subject: [PATCH] Always disable UD for users without verifier. --- SignalMessaging/profiles/ProfileFetcherJob.swift | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/SignalMessaging/profiles/ProfileFetcherJob.swift b/SignalMessaging/profiles/ProfileFetcherJob.swift index cfd2da60d..7d4830e1a 100644 --- a/SignalMessaging/profiles/ProfileFetcherJob.swift +++ b/SignalMessaging/profiles/ProfileFetcherJob.swift @@ -162,12 +162,19 @@ public class ProfileFetcherJob: NSObject { } private func updateUnidentifiedAccess(recipientId: String, verifier: Data?, hasUnrestrictedAccess: Bool) { + guard let verifier = verifier else { + // If there is no verifier, at least one of this user's devices + // do not support UD. + udManager.setUnidentifiedAccessMode(.disabled, recipientId: recipientId) + return + } + if hasUnrestrictedAccess { udManager.setUnidentifiedAccessMode(.unrestricted, recipientId: recipientId) return } - guard let verifier = verifier, let udAccessKey = udManager.rawUDAccessKeyForRecipient(recipientId) else { + guard let udAccessKey = udManager.rawUDAccessKeyForRecipient(recipientId) else { udManager.setUnidentifiedAccessMode(.disabled, recipientId: recipientId) return }