From 4e704f2d682162b27632ae7c24f1efa5bffea133 Mon Sep 17 00:00:00 2001 From: Mikunj Date: Wed, 29 May 2019 12:40:47 +1000 Subject: [PATCH] Skip processing messages to ourself. --- SignalServiceKit/src/Messages/OWSMessageReceiver.m | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) diff --git a/SignalServiceKit/src/Messages/OWSMessageReceiver.m b/SignalServiceKit/src/Messages/OWSMessageReceiver.m index 39daab965..56bd9da3e 100644 --- a/SignalServiceKit/src/Messages/OWSMessageReceiver.m +++ b/SignalServiceKit/src/Messages/OWSMessageReceiver.m @@ -13,6 +13,7 @@ #import "OWSPrimaryStorage.h" #import "OWSQueues.h" #import "OWSStorage.h" +#import "OWSIdentityManager.h" #import "SSKEnvironment.h" #import "TSAccountManager.h" #import "TSDatabaseView.h" @@ -25,6 +26,7 @@ #import #import #import +#import NS_ASSUME_NONNULL_BEGIN @@ -392,7 +394,16 @@ NSString *const OWSMessageDecryptJobFinderExtensionGroup = @"OWSMessageProcessin }); return; } - + + // Loki: Don't process any messages from ourself + ECKeyPair *_Nullable keyPair = OWSIdentityManager.sharedManager.identityKeyPair; + if (keyPair && [envelope.source isEqualToString:keyPair.hexEncodedPublicKey]) { + dispatch_async(self.serialQueue, ^{ + completion(YES); + }); + return; + } + // We use the original envelope for this check; // the decryption process might rewrite the envelope. BOOL wasReceivedByUD = [self wasReceivedByUD:envelope];