Skip to content

Commit d2cbdd4

Browse files
committed
Prohibit pre-set message GUIDs when inserting into FoundationDB
1 parent 844e103 commit d2cbdd4

1 file changed

Lines changed: 8 additions & 0 deletions

File tree

service/src/main/java/org/whispersystems/textsecuregcm/storage/foundationdb/FoundationDbMessageStore.java

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -103,6 +103,14 @@ public CompletableFuture<Map<AciServiceIdentifier, Map<Byte, InsertResult>>> ins
103103
throw new IllegalArgumentException("One or more message bundles is empty");
104104
}
105105

106+
if (messagesByServiceIdentifier.values()
107+
.stream()
108+
.flatMap(messages -> messages.values().stream())
109+
.anyMatch(MessageProtos.Envelope::hasServerGuid)) {
110+
111+
throw new IllegalArgumentException("Messages must not have pre-set server GUIDs");
112+
}
113+
106114
final Map<Integer, List<Map.Entry<AciServiceIdentifier, Map<Byte, MessageProtos.Envelope>>>> messagesByShardId =
107115
messagesByServiceIdentifier.entrySet().stream()
108116
.collect(Collectors.groupingBy(entry -> hashAciToShardNumber(entry.getKey())));

0 commit comments

Comments
 (0)