From f14bce9849a470e8a06d07ece6023dc79ac70bea Mon Sep 17 00:00:00 2001 From: Cody Henthorne Date: Fri, 21 Apr 2023 12:36:52 -0400 Subject: [PATCH] Fix unable to verify signed group change warning. --- .../org/thoughtcrime/securesms/groups/GroupManagerV2.java | 2 +- .../securesms/messages/MessageContentProcessorV2.kt | 5 +++-- 2 files changed, 4 insertions(+), 3 deletions(-) diff --git a/app/src/main/java/org/thoughtcrime/securesms/groups/GroupManagerV2.java b/app/src/main/java/org/thoughtcrime/securesms/groups/GroupManagerV2.java index e81014d011..cd2470cf3c 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/groups/GroupManagerV2.java +++ b/app/src/main/java/org/thoughtcrime/securesms/groups/GroupManagerV2.java @@ -808,7 +808,7 @@ final class GroupManagerV2 { } private DecryptedGroupChange getDecryptedGroupChange(@Nullable byte[] signedGroupChange) { - if (signedGroupChange != null) { + if (signedGroupChange != null && signedGroupChange.length > 0) { GroupsV2Operations.GroupOperations groupOperations = groupsV2Operations.forGroup(GroupSecretParams.deriveFromMasterKey(groupMasterKey)); try { diff --git a/app/src/main/java/org/thoughtcrime/securesms/messages/MessageContentProcessorV2.kt b/app/src/main/java/org/thoughtcrime/securesms/messages/MessageContentProcessorV2.kt index b17d4ab7d1..2d30e9c859 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/messages/MessageContentProcessorV2.kt +++ b/app/src/main/java/org/thoughtcrime/securesms/messages/MessageContentProcessorV2.kt @@ -253,8 +253,9 @@ open class MessageContentProcessorV2(private val context: Context) { groupV2: SignalServiceProtos.GroupContextV2 ): Boolean { return try { - val updatedTimestamp = if (groupV2.hasSignedGroupChange) timestamp else timestamp - 1 - GroupManager.updateGroupFromServer(context, groupV2.groupMasterKey, groupV2.revision, updatedTimestamp, groupV2.signedGroupChange) + val signedGroupChange: ByteArray? = if (groupV2.hasSignedGroupChange) groupV2.signedGroupChange else null + val updatedTimestamp = if (signedGroupChange != null) timestamp else timestamp - 1 + GroupManager.updateGroupFromServer(context, groupV2.groupMasterKey, groupV2.revision, updatedTimestamp, signedGroupChange) true } catch (e: GroupNotAMemberException) { warn(timestamp, "Ignoring message for a group we're not in")