From 1e1459d6d242d2f228d6c5783643b76bc0c1bee5 Mon Sep 17 00:00:00 2001 From: Mikunj Date: Thu, 9 Apr 2020 15:50:12 +1000 Subject: [PATCH] Ignore messages from users that are not in a group. --- SignalServiceKit/src/Messages/OWSMessageManager.m | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/SignalServiceKit/src/Messages/OWSMessageManager.m b/SignalServiceKit/src/Messages/OWSMessageManager.m index 1f5ab7681..4ed71cc18 100644 --- a/SignalServiceKit/src/Messages/OWSMessageManager.m +++ b/SignalServiceKit/src/Messages/OWSMessageManager.m @@ -589,6 +589,14 @@ NS_ASSUME_NONNULL_BEGIN [TSGroupThread threadWithGroupId:dataMessage.group.id transaction:transaction]; if (groupThread) { + BOOL isClosedGroup = groupThread.groupModel.groupType == closedGroup; + if (isClosedGroup && dataMessage.group.type == SSKProtoGroupContextTypeDeliver) { + // Only allow messages from members of the group + if (![groupThread isUserInGroup:envelope.source transaction:transaction]) { + return; + } + } + if (dataMessage.group.type != SSKProtoGroupContextTypeUpdate) { if (![groupThread isLocalUserInGroupWithTransaction:transaction]) { OWSLogInfo(@"Ignoring messages for left group.");