Rework verification state sync per latest proto schema.

// FREEBIE
pull/1/head
Matthew Chen 8 years ago
parent 26e6aab071
commit 44e1f4a14a

@ -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 {

@ -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<NSString *> *)recipientIds
{
NSMutableArray<NSString *> *result = [NSMutableArray new];

@ -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 <IdentityKeyStore>
@ -49,7 +49,7 @@ extern const NSUInteger kIdentityKeyLength;
// Will try to send a sync message with all verification states.
- (void)syncAllVerificationStates;
- (void)processIncomingSyncMessage:(NSArray<OWSSignalServiceProtosSyncMessageVerification *> *)verifications;
- (void)processIncomingSyncMessage:(NSArray<OWSSignalServiceProtosSyncMessageVerified *> *)verifieds;
@end

@ -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<OWSSignalServiceProtosSyncMessageVerification *> *)verifications
- (void)processIncomingSyncMessage:(NSArray<OWSSignalServiceProtosSyncMessageVerified *> *)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)
{

@ -1,4 +1,6 @@
// Generated by the protocol buffer compiler. DO NOT EDIT!
//
// Copyright (c) 2017 Open Whisper Systems. All rights reserved.
//
#import <ProtocolBuffers/ProtocolBuffers.h>
@ -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<GeneratedMessageProtocol> {
@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<OWSSignalServiceProtosSyncMessageRead*> * read;
@property (readonly, strong) OWSSignalServiceProtosSyncMessageBlocked* blocked;
@property (readonly, strong) NSArray<OWSSignalServiceProtosSyncMessageVerification*> * verification;
@property (readonly, strong) NSArray<OWSSignalServiceProtosSyncMessageVerified*> * 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<GeneratedMessageProtocol> {
#define Verified_destination @"destination"
#define Verified_identityKey @"identityKey"
#define Verified_state @"state"
@interface OWSSignalServiceProtosSyncMessageVerified : PBGeneratedMessage<GeneratedMessageProtocol> {
@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<OWSSignalServiceProtosSyncMessageVerification*> *)verification;
- (OWSSignalServiceProtosSyncMessageVerification*)verificationAtIndex:(NSUInteger)index;
- (OWSSignalServiceProtosSyncMessageBuilder *)addVerification:(OWSSignalServiceProtosSyncMessageVerification*)value;
- (OWSSignalServiceProtosSyncMessageBuilder *)setVerificationArray:(NSArray<OWSSignalServiceProtosSyncMessageVerification*> *)array;
- (OWSSignalServiceProtosSyncMessageBuilder *)clearVerification;
- (NSMutableArray<OWSSignalServiceProtosSyncMessageVerified*> *)verified;
- (OWSSignalServiceProtosSyncMessageVerified*)verifiedAtIndex:(NSUInteger)index;
- (OWSSignalServiceProtosSyncMessageBuilder *)addVerified:(OWSSignalServiceProtosSyncMessageVerified*)value;
- (OWSSignalServiceProtosSyncMessageBuilder *)setVerifiedArray:(NSArray<OWSSignalServiceProtosSyncMessageVerified*> *)array;
- (OWSSignalServiceProtosSyncMessageBuilder *)clearVerified;
- (BOOL) hasPadding;
- (NSData*) padding;
- (OWSSignalServiceProtosSyncMessageBuilder*) setPadding:(NSData*) value;
- (OWSSignalServiceProtosSyncMessageBuilder*) clearPadding;
@end
#define AttachmentPointer_id @"id"

@ -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<OWSSignalServiceProtosSyncMessageRead*> * readArray;
@property (strong) OWSSignalServiceProtosSyncMessageBlocked* blocked;
@property (strong) NSMutableArray<OWSSignalServiceProtosSyncMessageVerification*> * verificationArray;
@property (strong) NSMutableArray<OWSSignalServiceProtosSyncMessageVerified*> * 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<OWSSignalServiceProtosSyncMessageVerification*> *)verification {
return verificationArray;
- (NSArray<OWSSignalServiceProtosSyncMessageVerified*> *)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<OWSSignalServiceProtosSyncMessageVerification*> *)verification {
return resultSyncMessage.verificationArray;
- (NSMutableArray<OWSSignalServiceProtosSyncMessageVerified*> *)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<OWSSignalServiceProtosSyncMessageVerification*> *)array {
resultSyncMessage.verificationArray = [[NSMutableArray alloc]initWithArray:array];
- (OWSSignalServiceProtosSyncMessageBuilder *)setVerifiedArray:(NSArray<OWSSignalServiceProtosSyncMessageVerified*> *)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

@ -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);
}

Loading…
Cancel
Save