limit size of multi-recipient messages

This commit is contained in:
Jonathan Klabunde Tomer
2024-01-11 16:31:37 -08:00
committed by GitHub
parent bf39be3320
commit 394f9929ad
3 changed files with 46 additions and 12 deletions

View File

@@ -45,7 +45,11 @@ public class MultiRecipientMessageProvider implements MessageBodyReader<SealedSe
}
try {
return SealedSenderMultiRecipientMessage.parse(fullMessage);
final SealedSenderMultiRecipientMessage message = SealedSenderMultiRecipientMessage.parse(fullMessage);
if (message.getRecipients().values().stream().anyMatch(r -> message.messageSizeForRecipient(r) > MAX_MESSAGE_SIZE)) {
throw new BadRequestException("message payload too large");
}
return message;
} catch (InvalidMessageException | InvalidVersionException e) {
throw new BadRequestException(e);
}