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")
val canonicalVersionCode = 1373
val canonicalVersionName = "6.43.2"
val canonicalVersionName = "6.43.3"
val postFixSize = 100
val abiPostFix: Map<String, Int> = mapOf(
"universal" to 0,
"armeabi-v7a" to 1,
"arm64-v8a" to 2,
"x86" to 3,
"x86_64" to 4
"universal" to 5,
"armeabi-v7a" to 6,
"arm64-v8a" to 7,
"x86" to 8,
"x86_64" to 9
)
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++) {
GroupTargetInfo targetInfo = buildGroupTargetInfo(recipients);
GroupTargetInfo targetInfo = buildGroupTargetInfo(recipients);
final GroupTargetInfo targetInfoSnapshot = targetInfo;
Set<SignalProtocolAddress> sharedWith = aciStore.getSenderKeySharedWith(distributionId);
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()))
.distinct()
.map(SignalServiceAddress::new)

View File

@@ -56,6 +56,11 @@ public class SignalSealedSessionCipher {
{
try (SignalSessionLock.Lock unused = lock.acquire()) {
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);
}
}