Compare commits

...

2 Commits

Author SHA1 Message Date
Cody Henthorne
9b20bb3613 Bump version to 6.43.3 2024-01-16 11:27:01 -05:00
Greyson Parrelli
74a61037f8 Fix potential NPE during group send. 2024-01-16 10:12:39 -05:00
3 changed files with 15 additions and 8 deletions

View File

@@ -22,15 +22,15 @@ plugins {
apply(from = "static-ips.gradle.kts") apply(from = "static-ips.gradle.kts")
val canonicalVersionCode = 1373 val canonicalVersionCode = 1373
val canonicalVersionName = "6.43.2" val canonicalVersionName = "6.43.3"
val postFixSize = 100 val postFixSize = 100
val abiPostFix: Map<String, Int> = mapOf( val abiPostFix: Map<String, Int> = mapOf(
"universal" to 0, "universal" to 5,
"armeabi-v7a" to 1, "armeabi-v7a" to 6,
"arm64-v8a" to 2, "arm64-v8a" to 7,
"x86" to 3, "x86" to 8,
"x86_64" to 4 "x86_64" to 9
) )
val keystores: Map<String, Properties?> = mapOf("debug" to loadKeystoreProperties("keystore.debug.properties")) val keystores: Map<String, Properties?> = mapOf("debug" to loadKeystoreProperties("keystore.debug.properties"))

View File

@@ -2128,10 +2128,12 @@ public class SignalServiceMessageSender {
} }
for (int i = 0; i < RETRY_COUNT; i++) { for (int i = 0; i < RETRY_COUNT; i++) {
GroupTargetInfo targetInfo = buildGroupTargetInfo(recipients); GroupTargetInfo targetInfo = buildGroupTargetInfo(recipients);
final GroupTargetInfo targetInfoSnapshot = targetInfo;
Set<SignalProtocolAddress> sharedWith = aciStore.getSenderKeySharedWith(distributionId); Set<SignalProtocolAddress> sharedWith = aciStore.getSenderKeySharedWith(distributionId);
List<SignalServiceAddress> needsSenderKey = targetInfo.destinations.stream() List<SignalServiceAddress> needsSenderKey = targetInfo.destinations.stream()
.filter(a -> !sharedWith.contains(a)) .filter(a -> !sharedWith.contains(a) || targetInfoSnapshot.sessions.get(a) == null)
.map(a -> ServiceId.parseOrThrow(a.getName())) .map(a -> ServiceId.parseOrThrow(a.getName()))
.distinct() .distinct()
.map(SignalServiceAddress::new) .map(SignalServiceAddress::new)

View File

@@ -56,6 +56,11 @@ public class SignalSealedSessionCipher {
{ {
try (SignalSessionLock.Lock unused = lock.acquire()) { try (SignalSessionLock.Lock unused = lock.acquire()) {
List<SessionRecord> recipientSessions = recipients.stream().map(sessionMap::get).collect(Collectors.toList()); List<SessionRecord> recipientSessions = recipients.stream().map(sessionMap::get).collect(Collectors.toList());
if (recipientSessions.contains(null)) {
throw new NoSessionException("No session for some recipients");
}
return cipher.multiRecipientEncrypt(recipients, recipientSessions, content); return cipher.multiRecipientEncrypt(recipients, recipientSessions, content);
} }
} }