diff --git a/protobuf/OWSSignalServiceProtos.proto b/protobuf/OWSSignalServiceProtos.proto index 497d1ecfd..c89b6384e 100644 --- a/protobuf/OWSSignalServiceProtos.proto +++ b/protobuf/OWSSignalServiceProtos.proto @@ -124,26 +124,26 @@ message SyncMessage { optional uint64 timestamp = 2; } - message Verification { + message Verified { enum State { - DEFAULT = 0; - VERIFIED = 1; - NO_LONGER_VERIFIED = 2; + DEFAULT = 0; + VERIFIED = 1; + UNVERIFIED = 2; } - optional State state = 1; - // The e164 phone number of the user. - optional string destination = 2; - optional bytes identityKey = 3; + optional string destination = 1; + optional bytes identityKey = 2; + optional State state = 3; } - optional Sent sent = 1; - optional Contacts contacts = 2; - optional Groups groups = 3; - optional Request request = 4; - repeated Read read = 5; - optional Blocked blocked = 6; - repeated Verification verification = 7; + optional Sent sent = 1; + optional Contacts contacts = 2; + optional Groups groups = 3; + optional Request request = 4; + repeated Read read = 5; + optional Blocked blocked = 6; + repeated Verified verified = 7; + optional bytes padding = 8; } message AttachmentPointer { diff --git a/src/Devices/OWSVerificationStateSyncMessage.m b/src/Devices/OWSVerificationStateSyncMessage.m index 085b5c6f5..7d27d0f0b 100644 --- a/src/Devices/OWSVerificationStateSyncMessage.m +++ b/src/Devices/OWSVerificationStateSyncMessage.m @@ -66,26 +66,41 @@ NS_ASSUME_NONNULL_BEGIN OWSSignalServiceProtosSyncMessageBuilder *syncMessageBuilder = [OWSSignalServiceProtosSyncMessageBuilder new]; for (OWSVerificationStateTuple *tuple in self.tuples) { - OWSSignalServiceProtosSyncMessageVerificationBuilder *verificationBuilder = [OWSSignalServiceProtosSyncMessageVerificationBuilder new]; - verificationBuilder.destination = tuple.recipientId; - verificationBuilder.identityKey = tuple.identityKey; + OWSSignalServiceProtosSyncMessageVerifiedBuilder *verifiedBuilder = [OWSSignalServiceProtosSyncMessageVerifiedBuilder new]; + verifiedBuilder.destination = tuple.recipientId; + verifiedBuilder.identityKey = tuple.identityKey; switch (tuple.verificationState) { case OWSVerificationStateDefault: - verificationBuilder.state = OWSSignalServiceProtosSyncMessageVerificationStateDefault; + verifiedBuilder.state = OWSSignalServiceProtosSyncMessageVerifiedStateDefault; break; case OWSVerificationStateVerified: - verificationBuilder.state = OWSSignalServiceProtosSyncMessageVerificationStateVerified; + verifiedBuilder.state = OWSSignalServiceProtosSyncMessageVerifiedStateVerified; break; case OWSVerificationStateNoLongerVerified: - verificationBuilder.state = OWSSignalServiceProtosSyncMessageVerificationStateNoLongerVerified; + verifiedBuilder.state = OWSSignalServiceProtosSyncMessageVerifiedStateUnverified; break; } - [syncMessageBuilder addVerification:[verificationBuilder build]]; + [syncMessageBuilder addVerified:[verifiedBuilder build]]; } + + // Add 1-512 bytes of random padding bytes. + size_t paddingLengthBytes = arc4random_uniform(512) + 1; + [syncMessageBuilder setPadding:[self createRandomNSDataOfSize:paddingLengthBytes]]; + return [syncMessageBuilder build]; } +- (NSData *)createRandomNSDataOfSize:(size_t)size +{ + NSMutableData *data = [NSMutableData dataWithCapacity:size]; + for (size_t i = 0; i < size; ++i) { + u_int32_t randomBits = arc4random_uniform(256); + [data appendBytes:(void *)&randomBits length:1]; + } + return data; +} + - (NSArray *)recipientIds { NSMutableArray *result = [NSMutableArray new]; diff --git a/src/Messages/OWSIdentityManager.h b/src/Messages/OWSIdentityManager.h index d5d8afc98..171c6d87c 100644 --- a/src/Messages/OWSIdentityManager.h +++ b/src/Messages/OWSIdentityManager.h @@ -17,7 +17,7 @@ extern NSString *const kNSNotificationName_IdentityStateDidChange; extern const NSUInteger kIdentityKeyLength; @class OWSRecipientIdentity; -@class OWSSignalServiceProtosSyncMessageVerification; +@class OWSSignalServiceProtosSyncMessageVerified; // This class can be safely accessed and used from any thread. @interface OWSIdentityManager : NSObject @@ -49,7 +49,7 @@ extern const NSUInteger kIdentityKeyLength; // Will try to send a sync message with all verification states. - (void)syncAllVerificationStates; -- (void)processIncomingSyncMessage:(NSArray *)verifications; +- (void)processIncomingSyncMessage:(NSArray *)verifieds; @end diff --git a/src/Messages/OWSIdentityManager.m b/src/Messages/OWSIdentityManager.m index 7f5e78e10..0d0b4bb0c 100644 --- a/src/Messages/OWSIdentityManager.m +++ b/src/Messages/OWSIdentityManager.m @@ -513,16 +513,23 @@ NSString *const kNSNotificationName_IdentityStateDidChange = @"kNSNotificationNa }); } +- (BOOL)isSyncEnabled +{ + // Feature Flag + // + // Don't transmit or process verification state sync messages + // until desktop is ready. + // + // TODO: Remove. + return NO; +} + - (void)sendSyncVerificationStateMessage:(OWSVerificationStateSyncMessage *)message { OWSAssert(message); OWSAssert(message.recipientIds.count > 0); - if (YES) { - // Don't actually transmit any verification state sync messages - // until we finalize the proto schema changes. - // - // TODO: Remove. + if (![self isSyncEnabled]) { return; } @@ -560,33 +567,33 @@ NSString *const kNSNotificationName_IdentityStateDidChange = @"kNSNotificationNa }); } -- (void)processIncomingSyncMessage:(NSArray *)verifications +- (void)processIncomingSyncMessage:(NSArray *)verifieds { - for (OWSSignalServiceProtosSyncMessageVerification *verification in verifications) { - NSString *recipientId = verification.destination; + for (OWSSignalServiceProtosSyncMessageVerified *verified in verifieds) { + NSString *recipientId = verified.destination; if (recipientId.length < 1) { OWSFail(@"Verification state sync message missing recipientId."); continue; } - NSData *identityKey = verification.identityKey; + NSData *identityKey = verified.identityKey; if (identityKey.length < 1) { OWSFail(@"Verification state sync message missing identityKey: %@", recipientId); continue; } - switch (verification.state) { - case OWSSignalServiceProtosSyncMessageVerificationStateDefault: + switch (verified.state) { + case OWSSignalServiceProtosSyncMessageVerifiedStateDefault: [self tryToApplyVerificationStateFromSyncMessage:OWSVerificationStateDefault recipientId:recipientId identityKey:identityKey overwriteOnConflict:NO]; break; - case OWSSignalServiceProtosSyncMessageVerificationStateVerified: + case OWSSignalServiceProtosSyncMessageVerifiedStateVerified: [self tryToApplyVerificationStateFromSyncMessage:OWSVerificationStateVerified recipientId:recipientId identityKey:identityKey overwriteOnConflict:YES]; break; - case OWSSignalServiceProtosSyncMessageVerificationStateNoLongerVerified: + case OWSSignalServiceProtosSyncMessageVerifiedStateUnverified: OWSFail(@"Verification state sync message for recipientId: %@ has unexpected value: %@.", recipientId, OWSVerificationStateToString(OWSVerificationStateNoLongerVerified)); @@ -608,6 +615,10 @@ NSString *const kNSNotificationName_IdentityStateDidChange = @"kNSNotificationNa OWSFail(@"Verification state sync message missing identityKey: %@", recipientId); return; } + + if (![self isSyncEnabled]) { + return; + } @synchronized(self) { diff --git a/src/Messages/OWSSignalServiceProtos.pb.h b/src/Messages/OWSSignalServiceProtos.pb.h index 9c78c1ed2..1092d6fcc 100644 --- a/src/Messages/OWSSignalServiceProtos.pb.h +++ b/src/Messages/OWSSignalServiceProtos.pb.h @@ -1,4 +1,6 @@ -// Generated by the protocol buffer compiler. DO NOT EDIT! +// +// Copyright (c) 2017 Open Whisper Systems. All rights reserved. +// #import @@ -48,8 +50,8 @@ @class OWSSignalServiceProtosSyncMessageRequestBuilder; @class OWSSignalServiceProtosSyncMessageSent; @class OWSSignalServiceProtosSyncMessageSentBuilder; -@class OWSSignalServiceProtosSyncMessageVerification; -@class OWSSignalServiceProtosSyncMessageVerificationBuilder; +@class OWSSignalServiceProtosSyncMessageVerified; +@class OWSSignalServiceProtosSyncMessageVerifiedBuilder; @class ObjectiveCFileOptions; @class ObjectiveCFileOptionsBuilder; @class PBDescriptorProto; @@ -125,14 +127,14 @@ typedef NS_ENUM(SInt32, OWSSignalServiceProtosSyncMessageRequestType) { BOOL OWSSignalServiceProtosSyncMessageRequestTypeIsValidValue(OWSSignalServiceProtosSyncMessageRequestType value); NSString *NSStringFromOWSSignalServiceProtosSyncMessageRequestType(OWSSignalServiceProtosSyncMessageRequestType value); -typedef NS_ENUM(SInt32, OWSSignalServiceProtosSyncMessageVerificationState) { - OWSSignalServiceProtosSyncMessageVerificationStateDefault = 0, - OWSSignalServiceProtosSyncMessageVerificationStateVerified = 1, - OWSSignalServiceProtosSyncMessageVerificationStateNoLongerVerified = 2, +typedef NS_ENUM(SInt32, OWSSignalServiceProtosSyncMessageVerifiedState) { + OWSSignalServiceProtosSyncMessageVerifiedStateDefault = 0, + OWSSignalServiceProtosSyncMessageVerifiedStateVerified = 1, + OWSSignalServiceProtosSyncMessageVerifiedStateUnverified = 2, }; -BOOL OWSSignalServiceProtosSyncMessageVerificationStateIsValidValue(OWSSignalServiceProtosSyncMessageVerificationState value); -NSString *NSStringFromOWSSignalServiceProtosSyncMessageVerificationState(OWSSignalServiceProtosSyncMessageVerificationState value); +BOOL OWSSignalServiceProtosSyncMessageVerifiedStateIsValidValue(OWSSignalServiceProtosSyncMessageVerifiedState value); +NSString *NSStringFromOWSSignalServiceProtosSyncMessageVerifiedState(OWSSignalServiceProtosSyncMessageVerifiedState value); typedef NS_ENUM(SInt32, OWSSignalServiceProtosAttachmentPointerFlags) { OWSSignalServiceProtosAttachmentPointerFlagsVoiceMessage = 1, @@ -841,7 +843,8 @@ NSString *NSStringFromOWSSignalServiceProtosGroupContextType(OWSSignalServicePro #define SyncMessage_request @"request" #define SyncMessage_read @"read" #define SyncMessage_blocked @"blocked" -#define SyncMessage_verification @"verification" +#define SyncMessage_verified @"verified" +#define SyncMessage_padding @"padding" @interface OWSSignalServiceProtosSyncMessage : PBGeneratedMessage { @private BOOL hasSent_:1; @@ -849,28 +852,32 @@ NSString *NSStringFromOWSSignalServiceProtosGroupContextType(OWSSignalServicePro BOOL hasGroups_:1; BOOL hasRequest_:1; BOOL hasBlocked_:1; + BOOL hasPadding_:1; OWSSignalServiceProtosSyncMessageSent* sent; OWSSignalServiceProtosSyncMessageContacts* contacts; OWSSignalServiceProtosSyncMessageGroups* groups; OWSSignalServiceProtosSyncMessageRequest* request; OWSSignalServiceProtosSyncMessageBlocked* blocked; + NSData* padding; NSMutableArray * readArray; - NSMutableArray * verificationArray; + NSMutableArray * verifiedArray; } - (BOOL) hasSent; - (BOOL) hasContacts; - (BOOL) hasGroups; - (BOOL) hasRequest; - (BOOL) hasBlocked; +- (BOOL) hasPadding; @property (readonly, strong) OWSSignalServiceProtosSyncMessageSent* sent; @property (readonly, strong) OWSSignalServiceProtosSyncMessageContacts* contacts; @property (readonly, strong) OWSSignalServiceProtosSyncMessageGroups* groups; @property (readonly, strong) OWSSignalServiceProtosSyncMessageRequest* request; @property (readonly, strong) NSArray * read; @property (readonly, strong) OWSSignalServiceProtosSyncMessageBlocked* blocked; -@property (readonly, strong) NSArray * verification; +@property (readonly, strong) NSArray * verified; +@property (readonly, strong) NSData* padding; - (OWSSignalServiceProtosSyncMessageRead*)readAtIndex:(NSUInteger)index; -- (OWSSignalServiceProtosSyncMessageVerification*)verificationAtIndex:(NSUInteger)index; +- (OWSSignalServiceProtosSyncMessageVerified*)verifiedAtIndex:(NSUInteger)index; + (instancetype) defaultInstance; - (instancetype) defaultInstance; @@ -1246,74 +1253,74 @@ NSString *NSStringFromOWSSignalServiceProtosGroupContextType(OWSSignalServicePro - (OWSSignalServiceProtosSyncMessageReadBuilder*) clearTimestamp; @end -#define Verification_state @"state" -#define Verification_destination @"destination" -#define Verification_identityKey @"identityKey" -@interface OWSSignalServiceProtosSyncMessageVerification : PBGeneratedMessage { +#define Verified_destination @"destination" +#define Verified_identityKey @"identityKey" +#define Verified_state @"state" +@interface OWSSignalServiceProtosSyncMessageVerified : PBGeneratedMessage { @private BOOL hasDestination_:1; BOOL hasIdentityKey_:1; BOOL hasState_:1; NSString* destination; NSData* identityKey; - OWSSignalServiceProtosSyncMessageVerificationState state; + OWSSignalServiceProtosSyncMessageVerifiedState state; } -- (BOOL) hasState; - (BOOL) hasDestination; - (BOOL) hasIdentityKey; -@property (readonly) OWSSignalServiceProtosSyncMessageVerificationState state; +- (BOOL) hasState; @property (readonly, strong) NSString* destination; @property (readonly, strong) NSData* identityKey; +@property (readonly) OWSSignalServiceProtosSyncMessageVerifiedState state; + (instancetype) defaultInstance; - (instancetype) defaultInstance; - (BOOL) isInitialized; - (void) writeToCodedOutputStream:(PBCodedOutputStream*) output; -- (OWSSignalServiceProtosSyncMessageVerificationBuilder*) builder; -+ (OWSSignalServiceProtosSyncMessageVerificationBuilder*) builder; -+ (OWSSignalServiceProtosSyncMessageVerificationBuilder*) builderWithPrototype:(OWSSignalServiceProtosSyncMessageVerification*) prototype; -- (OWSSignalServiceProtosSyncMessageVerificationBuilder*) toBuilder; - -+ (OWSSignalServiceProtosSyncMessageVerification*) parseFromData:(NSData*) data; -+ (OWSSignalServiceProtosSyncMessageVerification*) parseFromData:(NSData*) data extensionRegistry:(PBExtensionRegistry*) extensionRegistry; -+ (OWSSignalServiceProtosSyncMessageVerification*) parseFromInputStream:(NSInputStream*) input; -+ (OWSSignalServiceProtosSyncMessageVerification*) parseFromInputStream:(NSInputStream*) input extensionRegistry:(PBExtensionRegistry*) extensionRegistry; -+ (OWSSignalServiceProtosSyncMessageVerification*) parseFromCodedInputStream:(PBCodedInputStream*) input; -+ (OWSSignalServiceProtosSyncMessageVerification*) parseFromCodedInputStream:(PBCodedInputStream*) input extensionRegistry:(PBExtensionRegistry*) extensionRegistry; +- (OWSSignalServiceProtosSyncMessageVerifiedBuilder*) builder; ++ (OWSSignalServiceProtosSyncMessageVerifiedBuilder*) builder; ++ (OWSSignalServiceProtosSyncMessageVerifiedBuilder*) builderWithPrototype:(OWSSignalServiceProtosSyncMessageVerified*) prototype; +- (OWSSignalServiceProtosSyncMessageVerifiedBuilder*) toBuilder; + ++ (OWSSignalServiceProtosSyncMessageVerified*) parseFromData:(NSData*) data; ++ (OWSSignalServiceProtosSyncMessageVerified*) parseFromData:(NSData*) data extensionRegistry:(PBExtensionRegistry*) extensionRegistry; ++ (OWSSignalServiceProtosSyncMessageVerified*) parseFromInputStream:(NSInputStream*) input; ++ (OWSSignalServiceProtosSyncMessageVerified*) parseFromInputStream:(NSInputStream*) input extensionRegistry:(PBExtensionRegistry*) extensionRegistry; ++ (OWSSignalServiceProtosSyncMessageVerified*) parseFromCodedInputStream:(PBCodedInputStream*) input; ++ (OWSSignalServiceProtosSyncMessageVerified*) parseFromCodedInputStream:(PBCodedInputStream*) input extensionRegistry:(PBExtensionRegistry*) extensionRegistry; @end -@interface OWSSignalServiceProtosSyncMessageVerificationBuilder : PBGeneratedMessageBuilder { +@interface OWSSignalServiceProtosSyncMessageVerifiedBuilder : PBGeneratedMessageBuilder { @private - OWSSignalServiceProtosSyncMessageVerification* resultVerification; + OWSSignalServiceProtosSyncMessageVerified* resultVerified; } -- (OWSSignalServiceProtosSyncMessageVerification*) defaultInstance; +- (OWSSignalServiceProtosSyncMessageVerified*) defaultInstance; -- (OWSSignalServiceProtosSyncMessageVerificationBuilder*) clear; -- (OWSSignalServiceProtosSyncMessageVerificationBuilder*) clone; +- (OWSSignalServiceProtosSyncMessageVerifiedBuilder*) clear; +- (OWSSignalServiceProtosSyncMessageVerifiedBuilder*) clone; -- (OWSSignalServiceProtosSyncMessageVerification*) build; -- (OWSSignalServiceProtosSyncMessageVerification*) buildPartial; +- (OWSSignalServiceProtosSyncMessageVerified*) build; +- (OWSSignalServiceProtosSyncMessageVerified*) buildPartial; -- (OWSSignalServiceProtosSyncMessageVerificationBuilder*) mergeFrom:(OWSSignalServiceProtosSyncMessageVerification*) other; -- (OWSSignalServiceProtosSyncMessageVerificationBuilder*) mergeFromCodedInputStream:(PBCodedInputStream*) input; -- (OWSSignalServiceProtosSyncMessageVerificationBuilder*) mergeFromCodedInputStream:(PBCodedInputStream*) input extensionRegistry:(PBExtensionRegistry*) extensionRegistry; - -- (BOOL) hasState; -- (OWSSignalServiceProtosSyncMessageVerificationState) state; -- (OWSSignalServiceProtosSyncMessageVerificationBuilder*) setState:(OWSSignalServiceProtosSyncMessageVerificationState) value; -- (OWSSignalServiceProtosSyncMessageVerificationBuilder*) clearState; +- (OWSSignalServiceProtosSyncMessageVerifiedBuilder*) mergeFrom:(OWSSignalServiceProtosSyncMessageVerified*) other; +- (OWSSignalServiceProtosSyncMessageVerifiedBuilder*) mergeFromCodedInputStream:(PBCodedInputStream*) input; +- (OWSSignalServiceProtosSyncMessageVerifiedBuilder*) mergeFromCodedInputStream:(PBCodedInputStream*) input extensionRegistry:(PBExtensionRegistry*) extensionRegistry; - (BOOL) hasDestination; - (NSString*) destination; -- (OWSSignalServiceProtosSyncMessageVerificationBuilder*) setDestination:(NSString*) value; -- (OWSSignalServiceProtosSyncMessageVerificationBuilder*) clearDestination; +- (OWSSignalServiceProtosSyncMessageVerifiedBuilder*) setDestination:(NSString*) value; +- (OWSSignalServiceProtosSyncMessageVerifiedBuilder*) clearDestination; - (BOOL) hasIdentityKey; - (NSData*) identityKey; -- (OWSSignalServiceProtosSyncMessageVerificationBuilder*) setIdentityKey:(NSData*) value; -- (OWSSignalServiceProtosSyncMessageVerificationBuilder*) clearIdentityKey; +- (OWSSignalServiceProtosSyncMessageVerifiedBuilder*) setIdentityKey:(NSData*) value; +- (OWSSignalServiceProtosSyncMessageVerifiedBuilder*) clearIdentityKey; + +- (BOOL) hasState; +- (OWSSignalServiceProtosSyncMessageVerifiedState) state; +- (OWSSignalServiceProtosSyncMessageVerifiedBuilder*) setState:(OWSSignalServiceProtosSyncMessageVerifiedState) value; +- (OWSSignalServiceProtosSyncMessageVerifiedBuilder*) clearState; @end @interface OWSSignalServiceProtosSyncMessageBuilder : PBGeneratedMessageBuilder { @@ -1374,11 +1381,16 @@ NSString *NSStringFromOWSSignalServiceProtosGroupContextType(OWSSignalServicePro - (OWSSignalServiceProtosSyncMessageBuilder*) mergeBlocked:(OWSSignalServiceProtosSyncMessageBlocked*) value; - (OWSSignalServiceProtosSyncMessageBuilder*) clearBlocked; -- (NSMutableArray *)verification; -- (OWSSignalServiceProtosSyncMessageVerification*)verificationAtIndex:(NSUInteger)index; -- (OWSSignalServiceProtosSyncMessageBuilder *)addVerification:(OWSSignalServiceProtosSyncMessageVerification*)value; -- (OWSSignalServiceProtosSyncMessageBuilder *)setVerificationArray:(NSArray *)array; -- (OWSSignalServiceProtosSyncMessageBuilder *)clearVerification; +- (NSMutableArray *)verified; +- (OWSSignalServiceProtosSyncMessageVerified*)verifiedAtIndex:(NSUInteger)index; +- (OWSSignalServiceProtosSyncMessageBuilder *)addVerified:(OWSSignalServiceProtosSyncMessageVerified*)value; +- (OWSSignalServiceProtosSyncMessageBuilder *)setVerifiedArray:(NSArray *)array; +- (OWSSignalServiceProtosSyncMessageBuilder *)clearVerified; + +- (BOOL) hasPadding; +- (NSData*) padding; +- (OWSSignalServiceProtosSyncMessageBuilder*) setPadding:(NSData*) value; +- (OWSSignalServiceProtosSyncMessageBuilder*) clearPadding; @end #define AttachmentPointer_id @"id" diff --git a/src/Messages/OWSSignalServiceProtos.pb.m b/src/Messages/OWSSignalServiceProtos.pb.m index 5017b1aa8..21bb06602 100644 --- a/src/Messages/OWSSignalServiceProtos.pb.m +++ b/src/Messages/OWSSignalServiceProtos.pb.m @@ -1,4 +1,6 @@ -// Generated by the protocol buffer compiler. DO NOT EDIT! +// +// Copyright (c) 2017 Open Whisper Systems. All rights reserved. +// #import "OWSSignalServiceProtos.pb.h" // @@protoc_insertion_point(imports) @@ -3187,7 +3189,8 @@ NSString *NSStringFromOWSSignalServiceProtosDataMessageFlags(OWSSignalServicePro @property (strong) OWSSignalServiceProtosSyncMessageRequest* request; @property (strong) NSMutableArray * readArray; @property (strong) OWSSignalServiceProtosSyncMessageBlocked* blocked; -@property (strong) NSMutableArray * verificationArray; +@property (strong) NSMutableArray * verifiedArray; +@property (strong) NSData* padding; @end @implementation OWSSignalServiceProtosSyncMessage @@ -3229,8 +3232,15 @@ NSString *NSStringFromOWSSignalServiceProtosDataMessageFlags(OWSSignalServicePro hasBlocked_ = !!_value_; } @synthesize blocked; -@synthesize verificationArray; -@dynamic verification; +@synthesize verifiedArray; +@dynamic verified; +- (BOOL) hasPadding { + return !!hasPadding_; +} +- (void) setHasPadding:(BOOL) _value_ { + hasPadding_ = !!_value_; +} +@synthesize padding; - (instancetype) init { if ((self = [super init])) { self.sent = [OWSSignalServiceProtosSyncMessageSent defaultInstance]; @@ -3238,6 +3248,7 @@ NSString *NSStringFromOWSSignalServiceProtosDataMessageFlags(OWSSignalServicePro self.groups = [OWSSignalServiceProtosSyncMessageGroups defaultInstance]; self.request = [OWSSignalServiceProtosSyncMessageRequest defaultInstance]; self.blocked = [OWSSignalServiceProtosSyncMessageBlocked defaultInstance]; + self.padding = [NSData data]; } return self; } @@ -3259,11 +3270,11 @@ static OWSSignalServiceProtosSyncMessage* defaultOWSSignalServiceProtosSyncMessa - (OWSSignalServiceProtosSyncMessageRead*)readAtIndex:(NSUInteger)index { return [readArray objectAtIndex:index]; } -- (NSArray *)verification { - return verificationArray; +- (NSArray *)verified { + return verifiedArray; } -- (OWSSignalServiceProtosSyncMessageVerification*)verificationAtIndex:(NSUInteger)index { - return [verificationArray objectAtIndex:index]; +- (OWSSignalServiceProtosSyncMessageVerified*)verifiedAtIndex:(NSUInteger)index { + return [verifiedArray objectAtIndex:index]; } - (BOOL) isInitialized { return YES; @@ -3287,9 +3298,12 @@ static OWSSignalServiceProtosSyncMessage* defaultOWSSignalServiceProtosSyncMessa if (self.hasBlocked) { [output writeMessage:6 value:self.blocked]; } - [self.verificationArray enumerateObjectsUsingBlock:^(OWSSignalServiceProtosSyncMessageVerification *element, NSUInteger idx, BOOL *stop) { + [self.verifiedArray enumerateObjectsUsingBlock:^(OWSSignalServiceProtosSyncMessageVerified *element, NSUInteger idx, BOOL *stop) { [output writeMessage:7 value:element]; }]; + if (self.hasPadding) { + [output writeData:8 value:self.padding]; + } [self.unknownFields writeToCodedOutputStream:output]; } - (SInt32) serializedSize { @@ -3317,9 +3331,12 @@ static OWSSignalServiceProtosSyncMessage* defaultOWSSignalServiceProtosSyncMessa if (self.hasBlocked) { size_ += computeMessageSize(6, self.blocked); } - [self.verificationArray enumerateObjectsUsingBlock:^(OWSSignalServiceProtosSyncMessageVerification *element, NSUInteger idx, BOOL *stop) { + [self.verifiedArray enumerateObjectsUsingBlock:^(OWSSignalServiceProtosSyncMessageVerified *element, NSUInteger idx, BOOL *stop) { size_ += computeMessageSize(7, element); }]; + if (self.hasPadding) { + size_ += computeDataSize(8, self.padding); + } size_ += self.unknownFields.serializedSize; memoizedSerializedSize = size_; return size_; @@ -3391,12 +3408,15 @@ static OWSSignalServiceProtosSyncMessage* defaultOWSSignalServiceProtosSyncMessa withIndent:[NSString stringWithFormat:@"%@ ", indent]]; [output appendFormat:@"%@}\n", indent]; } - [self.verificationArray enumerateObjectsUsingBlock:^(OWSSignalServiceProtosSyncMessageVerification *element, NSUInteger idx, BOOL *stop) { - [output appendFormat:@"%@%@ {\n", indent, @"verification"]; + [self.verifiedArray enumerateObjectsUsingBlock:^(OWSSignalServiceProtosSyncMessageVerified *element, NSUInteger idx, BOOL *stop) { + [output appendFormat:@"%@%@ {\n", indent, @"verified"]; [element writeDescriptionTo:output withIndent:[NSString stringWithFormat:@"%@ ", indent]]; [output appendFormat:@"%@}\n", indent]; }]; + if (self.hasPadding) { + [output appendFormat:@"%@%@: %@\n", indent, @"padding", self.padding]; + } [self.unknownFields writeDescriptionTo:output withIndent:indent]; } - (void) storeInDictionary:(NSMutableDictionary *)dictionary { @@ -3430,10 +3450,13 @@ static OWSSignalServiceProtosSyncMessage* defaultOWSSignalServiceProtosSyncMessa [self.blocked storeInDictionary:messageDictionary]; [dictionary setObject:[NSDictionary dictionaryWithDictionary:messageDictionary] forKey:@"blocked"]; } - for (OWSSignalServiceProtosSyncMessageVerification* element in self.verificationArray) { + for (OWSSignalServiceProtosSyncMessageVerified* element in self.verifiedArray) { NSMutableDictionary *elementDictionary = [NSMutableDictionary dictionary]; [element storeInDictionary:elementDictionary]; - [dictionary setObject:[NSDictionary dictionaryWithDictionary:elementDictionary] forKey:@"verification"]; + [dictionary setObject:[NSDictionary dictionaryWithDictionary:elementDictionary] forKey:@"verified"]; + } + if (self.hasPadding) { + [dictionary setObject: self.padding forKey: @"padding"]; } [self.unknownFields storeInDictionary:dictionary]; } @@ -3457,7 +3480,9 @@ static OWSSignalServiceProtosSyncMessage* defaultOWSSignalServiceProtosSyncMessa [self.readArray isEqualToArray:otherMessage.readArray] && self.hasBlocked == otherMessage.hasBlocked && (!self.hasBlocked || [self.blocked isEqual:otherMessage.blocked]) && - [self.verificationArray isEqualToArray:otherMessage.verificationArray] && + [self.verifiedArray isEqualToArray:otherMessage.verifiedArray] && + self.hasPadding == otherMessage.hasPadding && + (!self.hasPadding || [self.padding isEqual:otherMessage.padding]) && (self.unknownFields == otherMessage.unknownFields || (self.unknownFields != nil && [self.unknownFields isEqual:otherMessage.unknownFields])); } - (NSUInteger) hash { @@ -3480,9 +3505,12 @@ static OWSSignalServiceProtosSyncMessage* defaultOWSSignalServiceProtosSyncMessa if (self.hasBlocked) { hashCode = hashCode * 31 + [self.blocked hash]; } - [self.verificationArray enumerateObjectsUsingBlock:^(OWSSignalServiceProtosSyncMessageVerification *element, NSUInteger idx, BOOL *stop) { + [self.verifiedArray enumerateObjectsUsingBlock:^(OWSSignalServiceProtosSyncMessageVerified *element, NSUInteger idx, BOOL *stop) { hashCode = hashCode * 31 + [element hash]; }]; + if (self.hasPadding) { + hashCode = hashCode * 31 + [self.padding hash]; + } hashCode = hashCode * 31 + [self.unknownFields hash]; return hashCode; } @@ -5089,21 +5117,14 @@ static OWSSignalServiceProtosSyncMessageRead* defaultOWSSignalServiceProtosSyncM } @end -@interface OWSSignalServiceProtosSyncMessageVerification () -@property OWSSignalServiceProtosSyncMessageVerificationState state; +@interface OWSSignalServiceProtosSyncMessageVerified () @property (strong) NSString* destination; @property (strong) NSData* identityKey; +@property OWSSignalServiceProtosSyncMessageVerifiedState state; @end -@implementation OWSSignalServiceProtosSyncMessageVerification +@implementation OWSSignalServiceProtosSyncMessageVerified -- (BOOL) hasState { - return !!hasState_; -} -- (void) setHasState:(BOOL) _value_ { - hasState_ = !!_value_; -} -@synthesize state; - (BOOL) hasDestination { return !!hasDestination_; } @@ -5118,38 +5139,45 @@ static OWSSignalServiceProtosSyncMessageRead* defaultOWSSignalServiceProtosSyncM hasIdentityKey_ = !!_value_; } @synthesize identityKey; +- (BOOL) hasState { + return !!hasState_; +} +- (void) setHasState:(BOOL) _value_ { + hasState_ = !!_value_; +} +@synthesize state; - (instancetype) init { if ((self = [super init])) { - self.state = OWSSignalServiceProtosSyncMessageVerificationStateDefault; self.destination = @""; self.identityKey = [NSData data]; + self.state = OWSSignalServiceProtosSyncMessageVerifiedStateDefault; } return self; } -static OWSSignalServiceProtosSyncMessageVerification* defaultOWSSignalServiceProtosSyncMessageVerificationInstance = nil; +static OWSSignalServiceProtosSyncMessageVerified* defaultOWSSignalServiceProtosSyncMessageVerifiedInstance = nil; + (void) initialize { - if (self == [OWSSignalServiceProtosSyncMessageVerification class]) { - defaultOWSSignalServiceProtosSyncMessageVerificationInstance = [[OWSSignalServiceProtosSyncMessageVerification alloc] init]; + if (self == [OWSSignalServiceProtosSyncMessageVerified class]) { + defaultOWSSignalServiceProtosSyncMessageVerifiedInstance = [[OWSSignalServiceProtosSyncMessageVerified alloc] init]; } } + (instancetype) defaultInstance { - return defaultOWSSignalServiceProtosSyncMessageVerificationInstance; + return defaultOWSSignalServiceProtosSyncMessageVerifiedInstance; } - (instancetype) defaultInstance { - return defaultOWSSignalServiceProtosSyncMessageVerificationInstance; + return defaultOWSSignalServiceProtosSyncMessageVerifiedInstance; } - (BOOL) isInitialized { return YES; } - (void) writeToCodedOutputStream:(PBCodedOutputStream*) output { - if (self.hasState) { - [output writeEnum:1 value:self.state]; - } if (self.hasDestination) { - [output writeString:2 value:self.destination]; + [output writeString:1 value:self.destination]; } if (self.hasIdentityKey) { - [output writeData:3 value:self.identityKey]; + [output writeData:2 value:self.identityKey]; + } + if (self.hasState) { + [output writeEnum:3 value:self.state]; } [self.unknownFields writeToCodedOutputStream:output]; } @@ -5160,183 +5188,183 @@ static OWSSignalServiceProtosSyncMessageVerification* defaultOWSSignalServicePro } size_ = 0; - if (self.hasState) { - size_ += computeEnumSize(1, self.state); - } if (self.hasDestination) { - size_ += computeStringSize(2, self.destination); + size_ += computeStringSize(1, self.destination); } if (self.hasIdentityKey) { - size_ += computeDataSize(3, self.identityKey); + size_ += computeDataSize(2, self.identityKey); + } + if (self.hasState) { + size_ += computeEnumSize(3, self.state); } size_ += self.unknownFields.serializedSize; memoizedSerializedSize = size_; return size_; } -+ (OWSSignalServiceProtosSyncMessageVerification*) parseFromData:(NSData*) data { - return (OWSSignalServiceProtosSyncMessageVerification*)[[[OWSSignalServiceProtosSyncMessageVerification builder] mergeFromData:data] build]; ++ (OWSSignalServiceProtosSyncMessageVerified*) parseFromData:(NSData*) data { + return (OWSSignalServiceProtosSyncMessageVerified*)[[[OWSSignalServiceProtosSyncMessageVerified builder] mergeFromData:data] build]; } -+ (OWSSignalServiceProtosSyncMessageVerification*) parseFromData:(NSData*) data extensionRegistry:(PBExtensionRegistry*) extensionRegistry { - return (OWSSignalServiceProtosSyncMessageVerification*)[[[OWSSignalServiceProtosSyncMessageVerification builder] mergeFromData:data extensionRegistry:extensionRegistry] build]; ++ (OWSSignalServiceProtosSyncMessageVerified*) parseFromData:(NSData*) data extensionRegistry:(PBExtensionRegistry*) extensionRegistry { + return (OWSSignalServiceProtosSyncMessageVerified*)[[[OWSSignalServiceProtosSyncMessageVerified builder] mergeFromData:data extensionRegistry:extensionRegistry] build]; } -+ (OWSSignalServiceProtosSyncMessageVerification*) parseFromInputStream:(NSInputStream*) input { - return (OWSSignalServiceProtosSyncMessageVerification*)[[[OWSSignalServiceProtosSyncMessageVerification builder] mergeFromInputStream:input] build]; ++ (OWSSignalServiceProtosSyncMessageVerified*) parseFromInputStream:(NSInputStream*) input { + return (OWSSignalServiceProtosSyncMessageVerified*)[[[OWSSignalServiceProtosSyncMessageVerified builder] mergeFromInputStream:input] build]; } -+ (OWSSignalServiceProtosSyncMessageVerification*) parseFromInputStream:(NSInputStream*) input extensionRegistry:(PBExtensionRegistry*) extensionRegistry { - return (OWSSignalServiceProtosSyncMessageVerification*)[[[OWSSignalServiceProtosSyncMessageVerification builder] mergeFromInputStream:input extensionRegistry:extensionRegistry] build]; ++ (OWSSignalServiceProtosSyncMessageVerified*) parseFromInputStream:(NSInputStream*) input extensionRegistry:(PBExtensionRegistry*) extensionRegistry { + return (OWSSignalServiceProtosSyncMessageVerified*)[[[OWSSignalServiceProtosSyncMessageVerified builder] mergeFromInputStream:input extensionRegistry:extensionRegistry] build]; } -+ (OWSSignalServiceProtosSyncMessageVerification*) parseFromCodedInputStream:(PBCodedInputStream*) input { - return (OWSSignalServiceProtosSyncMessageVerification*)[[[OWSSignalServiceProtosSyncMessageVerification builder] mergeFromCodedInputStream:input] build]; ++ (OWSSignalServiceProtosSyncMessageVerified*) parseFromCodedInputStream:(PBCodedInputStream*) input { + return (OWSSignalServiceProtosSyncMessageVerified*)[[[OWSSignalServiceProtosSyncMessageVerified builder] mergeFromCodedInputStream:input] build]; } -+ (OWSSignalServiceProtosSyncMessageVerification*) parseFromCodedInputStream:(PBCodedInputStream*) input extensionRegistry:(PBExtensionRegistry*) extensionRegistry { - return (OWSSignalServiceProtosSyncMessageVerification*)[[[OWSSignalServiceProtosSyncMessageVerification builder] mergeFromCodedInputStream:input extensionRegistry:extensionRegistry] build]; ++ (OWSSignalServiceProtosSyncMessageVerified*) parseFromCodedInputStream:(PBCodedInputStream*) input extensionRegistry:(PBExtensionRegistry*) extensionRegistry { + return (OWSSignalServiceProtosSyncMessageVerified*)[[[OWSSignalServiceProtosSyncMessageVerified builder] mergeFromCodedInputStream:input extensionRegistry:extensionRegistry] build]; } -+ (OWSSignalServiceProtosSyncMessageVerificationBuilder*) builder { - return [[OWSSignalServiceProtosSyncMessageVerificationBuilder alloc] init]; ++ (OWSSignalServiceProtosSyncMessageVerifiedBuilder*) builder { + return [[OWSSignalServiceProtosSyncMessageVerifiedBuilder alloc] init]; } -+ (OWSSignalServiceProtosSyncMessageVerificationBuilder*) builderWithPrototype:(OWSSignalServiceProtosSyncMessageVerification*) prototype { - return [[OWSSignalServiceProtosSyncMessageVerification builder] mergeFrom:prototype]; ++ (OWSSignalServiceProtosSyncMessageVerifiedBuilder*) builderWithPrototype:(OWSSignalServiceProtosSyncMessageVerified*) prototype { + return [[OWSSignalServiceProtosSyncMessageVerified builder] mergeFrom:prototype]; } -- (OWSSignalServiceProtosSyncMessageVerificationBuilder*) builder { - return [OWSSignalServiceProtosSyncMessageVerification builder]; +- (OWSSignalServiceProtosSyncMessageVerifiedBuilder*) builder { + return [OWSSignalServiceProtosSyncMessageVerified builder]; } -- (OWSSignalServiceProtosSyncMessageVerificationBuilder*) toBuilder { - return [OWSSignalServiceProtosSyncMessageVerification builderWithPrototype:self]; +- (OWSSignalServiceProtosSyncMessageVerifiedBuilder*) toBuilder { + return [OWSSignalServiceProtosSyncMessageVerified builderWithPrototype:self]; } - (void) writeDescriptionTo:(NSMutableString*) output withIndent:(NSString*) indent { - if (self.hasState) { - [output appendFormat:@"%@%@: %@\n", indent, @"state", NSStringFromOWSSignalServiceProtosSyncMessageVerificationState(self.state)]; - } if (self.hasDestination) { [output appendFormat:@"%@%@: %@\n", indent, @"destination", self.destination]; } if (self.hasIdentityKey) { [output appendFormat:@"%@%@: %@\n", indent, @"identityKey", self.identityKey]; } + if (self.hasState) { + [output appendFormat:@"%@%@: %@\n", indent, @"state", NSStringFromOWSSignalServiceProtosSyncMessageVerifiedState(self.state)]; + } [self.unknownFields writeDescriptionTo:output withIndent:indent]; } - (void) storeInDictionary:(NSMutableDictionary *)dictionary { - if (self.hasState) { - [dictionary setObject: @(self.state) forKey: @"state"]; - } if (self.hasDestination) { [dictionary setObject: self.destination forKey: @"destination"]; } if (self.hasIdentityKey) { [dictionary setObject: self.identityKey forKey: @"identityKey"]; } + if (self.hasState) { + [dictionary setObject: @(self.state) forKey: @"state"]; + } [self.unknownFields storeInDictionary:dictionary]; } - (BOOL) isEqual:(id)other { if (other == self) { return YES; } - if (![other isKindOfClass:[OWSSignalServiceProtosSyncMessageVerification class]]) { + if (![other isKindOfClass:[OWSSignalServiceProtosSyncMessageVerified class]]) { return NO; } - OWSSignalServiceProtosSyncMessageVerification *otherMessage = other; + OWSSignalServiceProtosSyncMessageVerified *otherMessage = other; return - self.hasState == otherMessage.hasState && - (!self.hasState || self.state == otherMessage.state) && self.hasDestination == otherMessage.hasDestination && (!self.hasDestination || [self.destination isEqual:otherMessage.destination]) && self.hasIdentityKey == otherMessage.hasIdentityKey && (!self.hasIdentityKey || [self.identityKey isEqual:otherMessage.identityKey]) && + self.hasState == otherMessage.hasState && + (!self.hasState || self.state == otherMessage.state) && (self.unknownFields == otherMessage.unknownFields || (self.unknownFields != nil && [self.unknownFields isEqual:otherMessage.unknownFields])); } - (NSUInteger) hash { __block NSUInteger hashCode = 7; - if (self.hasState) { - hashCode = hashCode * 31 + self.state; - } if (self.hasDestination) { hashCode = hashCode * 31 + [self.destination hash]; } if (self.hasIdentityKey) { hashCode = hashCode * 31 + [self.identityKey hash]; } + if (self.hasState) { + hashCode = hashCode * 31 + self.state; + } hashCode = hashCode * 31 + [self.unknownFields hash]; return hashCode; } @end -BOOL OWSSignalServiceProtosSyncMessageVerificationStateIsValidValue(OWSSignalServiceProtosSyncMessageVerificationState value) { +BOOL OWSSignalServiceProtosSyncMessageVerifiedStateIsValidValue(OWSSignalServiceProtosSyncMessageVerifiedState value) { switch (value) { - case OWSSignalServiceProtosSyncMessageVerificationStateDefault: - case OWSSignalServiceProtosSyncMessageVerificationStateVerified: - case OWSSignalServiceProtosSyncMessageVerificationStateNoLongerVerified: + case OWSSignalServiceProtosSyncMessageVerifiedStateDefault: + case OWSSignalServiceProtosSyncMessageVerifiedStateVerified: + case OWSSignalServiceProtosSyncMessageVerifiedStateUnverified: return YES; default: return NO; } } -NSString *NSStringFromOWSSignalServiceProtosSyncMessageVerificationState(OWSSignalServiceProtosSyncMessageVerificationState value) { +NSString *NSStringFromOWSSignalServiceProtosSyncMessageVerifiedState(OWSSignalServiceProtosSyncMessageVerifiedState value) { switch (value) { - case OWSSignalServiceProtosSyncMessageVerificationStateDefault: - return @"OWSSignalServiceProtosSyncMessageVerificationStateDefault"; - case OWSSignalServiceProtosSyncMessageVerificationStateVerified: - return @"OWSSignalServiceProtosSyncMessageVerificationStateVerified"; - case OWSSignalServiceProtosSyncMessageVerificationStateNoLongerVerified: - return @"OWSSignalServiceProtosSyncMessageVerificationStateNoLongerVerified"; + case OWSSignalServiceProtosSyncMessageVerifiedStateDefault: + return @"OWSSignalServiceProtosSyncMessageVerifiedStateDefault"; + case OWSSignalServiceProtosSyncMessageVerifiedStateVerified: + return @"OWSSignalServiceProtosSyncMessageVerifiedStateVerified"; + case OWSSignalServiceProtosSyncMessageVerifiedStateUnverified: + return @"OWSSignalServiceProtosSyncMessageVerifiedStateUnverified"; default: return nil; } } -@interface OWSSignalServiceProtosSyncMessageVerificationBuilder() -@property (strong) OWSSignalServiceProtosSyncMessageVerification* resultVerification; +@interface OWSSignalServiceProtosSyncMessageVerifiedBuilder() +@property (strong) OWSSignalServiceProtosSyncMessageVerified* resultVerified; @end -@implementation OWSSignalServiceProtosSyncMessageVerificationBuilder -@synthesize resultVerification; +@implementation OWSSignalServiceProtosSyncMessageVerifiedBuilder +@synthesize resultVerified; - (instancetype) init { if ((self = [super init])) { - self.resultVerification = [[OWSSignalServiceProtosSyncMessageVerification alloc] init]; + self.resultVerified = [[OWSSignalServiceProtosSyncMessageVerified alloc] init]; } return self; } - (PBGeneratedMessage*) internalGetResult { - return resultVerification; + return resultVerified; } -- (OWSSignalServiceProtosSyncMessageVerificationBuilder*) clear { - self.resultVerification = [[OWSSignalServiceProtosSyncMessageVerification alloc] init]; +- (OWSSignalServiceProtosSyncMessageVerifiedBuilder*) clear { + self.resultVerified = [[OWSSignalServiceProtosSyncMessageVerified alloc] init]; return self; } -- (OWSSignalServiceProtosSyncMessageVerificationBuilder*) clone { - return [OWSSignalServiceProtosSyncMessageVerification builderWithPrototype:resultVerification]; +- (OWSSignalServiceProtosSyncMessageVerifiedBuilder*) clone { + return [OWSSignalServiceProtosSyncMessageVerified builderWithPrototype:resultVerified]; } -- (OWSSignalServiceProtosSyncMessageVerification*) defaultInstance { - return [OWSSignalServiceProtosSyncMessageVerification defaultInstance]; +- (OWSSignalServiceProtosSyncMessageVerified*) defaultInstance { + return [OWSSignalServiceProtosSyncMessageVerified defaultInstance]; } -- (OWSSignalServiceProtosSyncMessageVerification*) build { +- (OWSSignalServiceProtosSyncMessageVerified*) build { [self checkInitialized]; return [self buildPartial]; } -- (OWSSignalServiceProtosSyncMessageVerification*) buildPartial { - OWSSignalServiceProtosSyncMessageVerification* returnMe = resultVerification; - self.resultVerification = nil; +- (OWSSignalServiceProtosSyncMessageVerified*) buildPartial { + OWSSignalServiceProtosSyncMessageVerified* returnMe = resultVerified; + self.resultVerified = nil; return returnMe; } -- (OWSSignalServiceProtosSyncMessageVerificationBuilder*) mergeFrom:(OWSSignalServiceProtosSyncMessageVerification*) other { - if (other == [OWSSignalServiceProtosSyncMessageVerification defaultInstance]) { +- (OWSSignalServiceProtosSyncMessageVerifiedBuilder*) mergeFrom:(OWSSignalServiceProtosSyncMessageVerified*) other { + if (other == [OWSSignalServiceProtosSyncMessageVerified defaultInstance]) { return self; } - if (other.hasState) { - [self setState:other.state]; - } if (other.hasDestination) { [self setDestination:other.destination]; } if (other.hasIdentityKey) { [self setIdentityKey:other.identityKey]; } + if (other.hasState) { + [self setState:other.state]; + } [self mergeUnknownFields:other.unknownFields]; return self; } -- (OWSSignalServiceProtosSyncMessageVerificationBuilder*) mergeFromCodedInputStream:(PBCodedInputStream*) input { +- (OWSSignalServiceProtosSyncMessageVerifiedBuilder*) mergeFromCodedInputStream:(PBCodedInputStream*) input { return [self mergeFromCodedInputStream:input extensionRegistry:[PBExtensionRegistry emptyRegistry]]; } -- (OWSSignalServiceProtosSyncMessageVerificationBuilder*) mergeFromCodedInputStream:(PBCodedInputStream*) input extensionRegistry:(PBExtensionRegistry*) extensionRegistry { +- (OWSSignalServiceProtosSyncMessageVerifiedBuilder*) mergeFromCodedInputStream:(PBCodedInputStream*) input extensionRegistry:(PBExtensionRegistry*) extensionRegistry { PBUnknownFieldSetBuilder* unknownFields = [PBUnknownFieldSet builderWithUnknownFields:self.unknownFields]; while (YES) { SInt32 tag = [input readTag]; @@ -5351,72 +5379,72 @@ NSString *NSStringFromOWSSignalServiceProtosSyncMessageVerificationState(OWSSign } break; } - case 8: { - OWSSignalServiceProtosSyncMessageVerificationState value = (OWSSignalServiceProtosSyncMessageVerificationState)[input readEnum]; - if (OWSSignalServiceProtosSyncMessageVerificationStateIsValidValue(value)) { - [self setState:value]; - } else { - [unknownFields mergeVarintField:1 value:value]; - } + case 10: { + [self setDestination:[input readString]]; break; } case 18: { - [self setDestination:[input readString]]; + [self setIdentityKey:[input readData]]; break; } - case 26: { - [self setIdentityKey:[input readData]]; + case 24: { + OWSSignalServiceProtosSyncMessageVerifiedState value = (OWSSignalServiceProtosSyncMessageVerifiedState)[input readEnum]; + if (OWSSignalServiceProtosSyncMessageVerifiedStateIsValidValue(value)) { + [self setState:value]; + } else { + [unknownFields mergeVarintField:3 value:value]; + } break; } } } } -- (BOOL) hasState { - return resultVerification.hasState; +- (BOOL) hasDestination { + return resultVerified.hasDestination; } -- (OWSSignalServiceProtosSyncMessageVerificationState) state { - return resultVerification.state; +- (NSString*) destination { + return resultVerified.destination; } -- (OWSSignalServiceProtosSyncMessageVerificationBuilder*) setState:(OWSSignalServiceProtosSyncMessageVerificationState) value { - resultVerification.hasState = YES; - resultVerification.state = value; +- (OWSSignalServiceProtosSyncMessageVerifiedBuilder*) setDestination:(NSString*) value { + resultVerified.hasDestination = YES; + resultVerified.destination = value; return self; } -- (OWSSignalServiceProtosSyncMessageVerificationBuilder*) clearState { - resultVerification.hasState = NO; - resultVerification.state = OWSSignalServiceProtosSyncMessageVerificationStateDefault; +- (OWSSignalServiceProtosSyncMessageVerifiedBuilder*) clearDestination { + resultVerified.hasDestination = NO; + resultVerified.destination = @""; return self; } -- (BOOL) hasDestination { - return resultVerification.hasDestination; +- (BOOL) hasIdentityKey { + return resultVerified.hasIdentityKey; } -- (NSString*) destination { - return resultVerification.destination; +- (NSData*) identityKey { + return resultVerified.identityKey; } -- (OWSSignalServiceProtosSyncMessageVerificationBuilder*) setDestination:(NSString*) value { - resultVerification.hasDestination = YES; - resultVerification.destination = value; +- (OWSSignalServiceProtosSyncMessageVerifiedBuilder*) setIdentityKey:(NSData*) value { + resultVerified.hasIdentityKey = YES; + resultVerified.identityKey = value; return self; } -- (OWSSignalServiceProtosSyncMessageVerificationBuilder*) clearDestination { - resultVerification.hasDestination = NO; - resultVerification.destination = @""; +- (OWSSignalServiceProtosSyncMessageVerifiedBuilder*) clearIdentityKey { + resultVerified.hasIdentityKey = NO; + resultVerified.identityKey = [NSData data]; return self; } -- (BOOL) hasIdentityKey { - return resultVerification.hasIdentityKey; +- (BOOL) hasState { + return resultVerified.hasState; } -- (NSData*) identityKey { - return resultVerification.identityKey; +- (OWSSignalServiceProtosSyncMessageVerifiedState) state { + return resultVerified.state; } -- (OWSSignalServiceProtosSyncMessageVerificationBuilder*) setIdentityKey:(NSData*) value { - resultVerification.hasIdentityKey = YES; - resultVerification.identityKey = value; +- (OWSSignalServiceProtosSyncMessageVerifiedBuilder*) setState:(OWSSignalServiceProtosSyncMessageVerifiedState) value { + resultVerified.hasState = YES; + resultVerified.state = value; return self; } -- (OWSSignalServiceProtosSyncMessageVerificationBuilder*) clearIdentityKey { - resultVerification.hasIdentityKey = NO; - resultVerification.identityKey = [NSData data]; +- (OWSSignalServiceProtosSyncMessageVerifiedBuilder*) clearState { + resultVerified.hasState = NO; + resultVerified.state = OWSSignalServiceProtosSyncMessageVerifiedStateDefault; return self; } @end @@ -5481,13 +5509,16 @@ NSString *NSStringFromOWSSignalServiceProtosSyncMessageVerificationState(OWSSign if (other.hasBlocked) { [self mergeBlocked:other.blocked]; } - if (other.verificationArray.count > 0) { - if (resultSyncMessage.verificationArray == nil) { - resultSyncMessage.verificationArray = [[NSMutableArray alloc] initWithArray:other.verificationArray]; + if (other.verifiedArray.count > 0) { + if (resultSyncMessage.verifiedArray == nil) { + resultSyncMessage.verifiedArray = [[NSMutableArray alloc] initWithArray:other.verifiedArray]; } else { - [resultSyncMessage.verificationArray addObjectsFromArray:other.verificationArray]; + [resultSyncMessage.verifiedArray addObjectsFromArray:other.verifiedArray]; } } + if (other.hasPadding) { + [self setPadding:other.padding]; + } [self mergeUnknownFields:other.unknownFields]; return self; } @@ -5561,9 +5592,13 @@ NSString *NSStringFromOWSSignalServiceProtosSyncMessageVerificationState(OWSSign break; } case 58: { - OWSSignalServiceProtosSyncMessageVerificationBuilder* subBuilder = [OWSSignalServiceProtosSyncMessageVerification builder]; + OWSSignalServiceProtosSyncMessageVerifiedBuilder* subBuilder = [OWSSignalServiceProtosSyncMessageVerified builder]; [input readMessage:subBuilder extensionRegistry:extensionRegistry]; - [self addVerification:[subBuilder buildPartial]]; + [self addVerified:[subBuilder buildPartial]]; + break; + } + case 66: { + [self setPadding:[input readData]]; break; } } @@ -5740,25 +5775,41 @@ NSString *NSStringFromOWSSignalServiceProtosSyncMessageVerificationState(OWSSign resultSyncMessage.blocked = [OWSSignalServiceProtosSyncMessageBlocked defaultInstance]; return self; } -- (NSMutableArray *)verification { - return resultSyncMessage.verificationArray; +- (NSMutableArray *)verified { + return resultSyncMessage.verifiedArray; } -- (OWSSignalServiceProtosSyncMessageVerification*)verificationAtIndex:(NSUInteger)index { - return [resultSyncMessage verificationAtIndex:index]; +- (OWSSignalServiceProtosSyncMessageVerified*)verifiedAtIndex:(NSUInteger)index { + return [resultSyncMessage verifiedAtIndex:index]; } -- (OWSSignalServiceProtosSyncMessageBuilder *)addVerification:(OWSSignalServiceProtosSyncMessageVerification*)value { - if (resultSyncMessage.verificationArray == nil) { - resultSyncMessage.verificationArray = [[NSMutableArray alloc]init]; +- (OWSSignalServiceProtosSyncMessageBuilder *)addVerified:(OWSSignalServiceProtosSyncMessageVerified*)value { + if (resultSyncMessage.verifiedArray == nil) { + resultSyncMessage.verifiedArray = [[NSMutableArray alloc]init]; } - [resultSyncMessage.verificationArray addObject:value]; + [resultSyncMessage.verifiedArray addObject:value]; return self; } -- (OWSSignalServiceProtosSyncMessageBuilder *)setVerificationArray:(NSArray *)array { - resultSyncMessage.verificationArray = [[NSMutableArray alloc]initWithArray:array]; +- (OWSSignalServiceProtosSyncMessageBuilder *)setVerifiedArray:(NSArray *)array { + resultSyncMessage.verifiedArray = [[NSMutableArray alloc]initWithArray:array]; + return self; +} +- (OWSSignalServiceProtosSyncMessageBuilder *)clearVerified { + resultSyncMessage.verifiedArray = nil; + return self; +} +- (BOOL) hasPadding { + return resultSyncMessage.hasPadding; +} +- (NSData*) padding { + return resultSyncMessage.padding; +} +- (OWSSignalServiceProtosSyncMessageBuilder*) setPadding:(NSData*) value { + resultSyncMessage.hasPadding = YES; + resultSyncMessage.padding = value; return self; } -- (OWSSignalServiceProtosSyncMessageBuilder *)clearVerification { - resultSyncMessage.verificationArray = nil; +- (OWSSignalServiceProtosSyncMessageBuilder*) clearPadding { + resultSyncMessage.hasPadding = NO; + resultSyncMessage.padding = [NSData data]; return self; } @end diff --git a/src/Messages/TSMessagesManager.m b/src/Messages/TSMessagesManager.m index 2e8cb7fa8..f17a4c146 100644 --- a/src/Messages/TSMessagesManager.m +++ b/src/Messages/TSMessagesManager.m @@ -684,10 +684,10 @@ NS_ASSUME_NONNULL_BEGIN [[OWSReadReceiptsProcessor alloc] initWithReadReceiptProtos:syncMessage.read storageManager:self.storageManager]; [readReceiptsProcessor process]; - } else if (syncMessage.verification.count > 0) { - DDLogInfo(@"%@ Received %ld verification state(s)", self.tag, (u_long)syncMessage.verification.count); + } else if (syncMessage.verified.count > 0) { + DDLogInfo(@"%@ Received %ld verification state(s)", self.tag, (u_long)syncMessage.verified.count); - [[OWSIdentityManager sharedManager] processIncomingSyncMessage:syncMessage.verification]; + [[OWSIdentityManager sharedManager] processIncomingSyncMessage:syncMessage.verified]; } else { DDLogWarn(@"%@ Ignoring unsupported sync message.", self.tag); }