From e26db74fcd9ff75ed736aba2e398c58c0e3836a0 Mon Sep 17 00:00:00 2001 From: Michael Kirk Date: Fri, 26 Oct 2018 17:10:55 -0600 Subject: [PATCH] only check prekeys when decrypting a PKWM --- SignalServiceKit/src/Messages/OWSMessageDecrypter.m | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/SignalServiceKit/src/Messages/OWSMessageDecrypter.m b/SignalServiceKit/src/Messages/OWSMessageDecrypter.m index dc758a542..7a956ceaa 100644 --- a/SignalServiceKit/src/Messages/OWSMessageDecrypter.m +++ b/SignalServiceKit/src/Messages/OWSMessageDecrypter.m @@ -406,9 +406,6 @@ NSError *EnsureDecryptError(NSError *_Nullable error, NSString *fallbackErrorDes OWSAssertDebug(successBlock); OWSAssertDebug(failureBlock); - // Check whether we need to refresh our PreKeys every time we receive a Unidentified Sender Message. - [TSPreKeyManager checkPreKeys]; - // NOTE: We don't need to bother with `legacyMessage` for UD messages. NSData *encryptedData = envelope.content; if (!encryptedData) { @@ -470,6 +467,10 @@ NSError *EnsureDecryptError(NSError *_Nullable error, NSString *fallbackErrorDes return failureBlock(error); } + if (decryptResult.messageType == SMKMessageTypePrekey) { + [TSPreKeyManager checkPreKeys]; + } + NSString *source = decryptResult.senderRecipientId; if (source.length < 1 || !source.isValidE164) { NSString *errorDescription = @"Invalid UD sender.";