Ignore messages with unknown Envelope.Contents

// FREEBIE
This commit is contained in:
Michael Kirk 2016-12-05 21:32:11 -05:00
parent 745a5a2769
commit edebd14d42
1 changed files with 20 additions and 26 deletions

View File

@ -183,20 +183,7 @@ NS_ASSUME_NONNULL_BEGIN
return;
}
if (messageEnvelope.hasContent) {
OWSSignalServiceProtosContent *content = [OWSSignalServiceProtosContent parseFromData:plaintextData];
if (content.hasSyncMessage) {
[self handleIncomingEnvelope:messageEnvelope withSyncMessage:content.syncMessage];
} else if (content.dataMessage) {
[self handleIncomingEnvelope:messageEnvelope withDataMessage:content.dataMessage];
}
} else if (messageEnvelope.hasLegacyMessage) { // DEPRECATED - Remove after all clients have been upgraded.
OWSSignalServiceProtosDataMessage *dataMessage =
[OWSSignalServiceProtosDataMessage parseFromData:plaintextData];
[self handleIncomingEnvelope:messageEnvelope withDataMessage:dataMessage];
} else {
DDLogWarn(@"Ignoring content that has no dataMessage or syncMessage.");
}
[self handleEnvelope:messageEnvelope plaintextData:plaintextData];
}
}
@ -230,20 +217,27 @@ NS_ASSUME_NONNULL_BEGIN
return;
}
if (preKeyEnvelope.hasContent) {
OWSSignalServiceProtosContent *content = [OWSSignalServiceProtosContent parseFromData:plaintextData];
if (content.hasSyncMessage) {
[self handleIncomingEnvelope:preKeyEnvelope withSyncMessage:content.syncMessage];
} else if (content.dataMessage) {
[self handleIncomingEnvelope:preKeyEnvelope withDataMessage:content.dataMessage];
}
} else if (preKeyEnvelope.hasLegacyMessage) { // DEPRECATED - Remove after all clients have been upgraded.
OWSSignalServiceProtosDataMessage *dataMessage =
[OWSSignalServiceProtosDataMessage parseFromData:plaintextData];
[self handleIncomingEnvelope:preKeyEnvelope withDataMessage:dataMessage];
[self handleEnvelope:preKeyEnvelope plaintextData:plaintextData];
}
}
- (void)handleEnvelope:(OWSSignalServiceProtosEnvelope *)envelope plaintextData:(NSData *)plaintextData
{
if (envelope.hasContent) {
OWSSignalServiceProtosContent *content = [OWSSignalServiceProtosContent parseFromData:plaintextData];
if (content.hasSyncMessage) {
[self handleIncomingEnvelope:envelope withSyncMessage:content.syncMessage];
} else if (content.hasDataMessage) {
[self handleIncomingEnvelope:envelope withDataMessage:content.dataMessage];
} else {
DDLogWarn(@"Ignoring content that has no dataMessage or syncMessage.");
DDLogWarn(@"%@ Ignoring envelope.Content with no known payload", self.tag);
}
} else if (envelope.hasLegacyMessage) { // DEPRECATED - Remove after all clients have been upgraded.
OWSSignalServiceProtosDataMessage *dataMessage =
[OWSSignalServiceProtosDataMessage parseFromData:plaintextData];
[self handleIncomingEnvelope:envelope withDataMessage:dataMessage];
} else {
DDLogWarn(@"%@ Ignoring envelope with neither DataMessage nor Content.", self.tag);
}
}