Ensure multi-recipient messages are addressed to ACI service IDs

This commit is contained in:
Chris Eager
2024-07-23 15:36:26 -05:00
committed by Chris Eager
parent e4ffc932a9
commit 6fa6c3c81c
2 changed files with 18 additions and 23 deletions

View File

@@ -717,6 +717,13 @@ public class MessageController {
final @NotNull CombinedUnidentifiedSenderAccessKeys accessKeys,
final Collection<MultiRecipientDeliveryData> destinations) {
final int keyLength = UnidentifiedAccessUtil.UNIDENTIFIED_ACCESS_KEY_LENGTH;
if (destinations.stream()
.anyMatch(destination -> IdentityType.PNI.equals(destination.serviceIdentifier.identityType()))) {
throw new WebApplicationException("Multi-recipient messages must be addressed to ACI service IDs",
Status.UNAUTHORIZED);
}
final byte[] combinedUnidentifiedAccessKeys = destinations.stream()
.map(MultiRecipientDeliveryData::account)
.filter(Predicate.not(Account::isUnrestrictedUnidentifiedAccess))