From 8c5d6ba9bbace1e78c936884fc7af51c72675f26 Mon Sep 17 00:00:00 2001 From: Michael Kirk Date: Mon, 23 Jul 2018 10:35:35 -0600 Subject: [PATCH] Respond to code review. --- .../src/Network/API/Requests/TSRequest.h | 4 ++-- .../src/Network/API/Requests/TSRequest.m | 17 +++++++++++++++-- SignalServiceKit/src/Util/Cryptography.h | 1 + SignalServiceKit/src/Util/Cryptography.m | 3 ++- 4 files changed, 20 insertions(+), 5 deletions(-) diff --git a/SignalServiceKit/src/Network/API/Requests/TSRequest.h b/SignalServiceKit/src/Network/API/Requests/TSRequest.h index 19fbca461..a56ba703d 100644 --- a/SignalServiceKit/src/Network/API/Requests/TSRequest.h +++ b/SignalServiceKit/src/Network/API/Requests/TSRequest.h @@ -5,8 +5,8 @@ @interface TSRequest : NSMutableURLRequest @property (nonatomic) BOOL shouldHaveAuthorizationHeaders; -@property (nullable) NSString *authUsername; -@property (nullable) NSString *authPassword; +@property (atomic, nullable) NSString *authUsername; +@property (atomic, nullable) NSString *authPassword; @property (nonatomic, readonly) NSDictionary *parameters; diff --git a/SignalServiceKit/src/Network/API/Requests/TSRequest.m b/SignalServiceKit/src/Network/API/Requests/TSRequest.m index 78d1fa195..159b20b6a 100644 --- a/SignalServiceKit/src/Network/API/Requests/TSRequest.m +++ b/SignalServiceKit/src/Network/API/Requests/TSRequest.m @@ -58,8 +58,6 @@ _parameters = parameters ?: @{}; [self setHTTPMethod:method]; self.shouldHaveAuthorizationHeaders = YES; - _authUsername = [TSAccountManager localNumber]; - _authPassword = [TSAccountManager serverAuthToken]; return self; } @@ -71,4 +69,19 @@ return [[TSRequest alloc] initWithURL:url method:method parameters:parameters]; } +#pragma mark - Authorization + +- (NSString *)authUsername +{ + OWSAssert(self.shouldHaveAuthorizationHeaders); + return (_authUsername ?: [TSAccountManager localNumber]); +} + +- (NSString *)authPassword +{ + OWSAssert(self.shouldHaveAuthorizationHeaders); + return (_authPassword ?: [TSAccountManager serverAuthToken]); +} + + @end diff --git a/SignalServiceKit/src/Util/Cryptography.h b/SignalServiceKit/src/Util/Cryptography.h index 3f9a48832..a04e2e0e8 100755 --- a/SignalServiceKit/src/Util/Cryptography.h +++ b/SignalServiceKit/src/Util/Cryptography.h @@ -32,6 +32,7 @@ extern const NSUInteger kAES256_KeyByteLength; @property (nonatomic, readonly) NSData *initializationVector; @property (nonatomic, readonly) NSData *authTag; +- (instancetype)init NS_UNAVAILABLE; - (nullable instancetype)initWithCipherText:(NSData *)cipherText initializationVector:(NSData *)initializationVector authTag:(NSData *)authTag NS_DESIGNATED_INITIALIZER; diff --git a/SignalServiceKit/src/Util/Cryptography.m b/SignalServiceKit/src/Util/Cryptography.m index 3261302b9..d618e1ae7 100755 --- a/SignalServiceKit/src/Util/Cryptography.m +++ b/SignalServiceKit/src/Util/Cryptography.m @@ -111,7 +111,8 @@ const NSUInteger kAES256_KeyByteLength = 32; _initializationVector = [initializationVector copy]; _authTag = [authTag copy]; - if (_ciphertext == nil || _initializationVector == nil || _authTag == nil) { + if (_ciphertext == nil || _initializationVector.length != kAESGCM256_IVLength + || _authTag.length != kAESGCM256_TagLength) { return nil; }