Merge branch 'charlesmchen/udProduction'

pull/1/head
Matthew Chen 7 years ago
commit 855615d765

@ -64,7 +64,8 @@ public class OWSUDManagerImpl: NSObject, OWSUDManager {
// MARK: Local Configuration State // MARK: Local Configuration State
private let kUDCollection = "kUDCollection" private let kUDCollection = "kUDCollection"
private let kUDCurrentSenderCertificateKey = "kUDCurrentSenderCertificateKey" private let kUDCurrentSenderCertificateKey_Production = "kUDCurrentSenderCertificateKey_Production"
private let kUDCurrentSenderCertificateKey_Staging = "kUDCurrentSenderCertificateKey_Staging"
private let kUDUnrestrictedAccessKey = "kUDUnrestrictedAccessKey" private let kUDUnrestrictedAccessKey = "kUDUnrestrictedAccessKey"
// MARK: Recipient State // MARK: Recipient State
@ -201,7 +202,7 @@ public class OWSUDManagerImpl: NSObject, OWSUDManager {
#endif #endif
private func senderCertificate() -> SMKSenderCertificate? { private func senderCertificate() -> SMKSenderCertificate? {
guard let certificateData = dbConnection.object(forKey: kUDCurrentSenderCertificateKey, inCollection: kUDCollection) as? Data else { guard let certificateData = dbConnection.object(forKey: senderCertificateKey(), inCollection: kUDCollection) as? Data else {
return nil return nil
} }
@ -221,7 +222,11 @@ public class OWSUDManagerImpl: NSObject, OWSUDManager {
} }
func setSenderCertificate(_ certificateData: Data) { func setSenderCertificate(_ certificateData: Data) {
dbConnection.setObject(certificateData, forKey: kUDCurrentSenderCertificateKey, inCollection: kUDCollection) dbConnection.setObject(certificateData, forKey: senderCertificateKey(), inCollection: kUDCollection)
}
private func senderCertificateKey() -> String {
return IsUsingProductionService() ? kUDCurrentSenderCertificateKey_Production : kUDCurrentSenderCertificateKey_Staging
} }
@objc @objc
@ -286,7 +291,7 @@ public class OWSUDManagerImpl: NSObject, OWSUDManager {
@objc @objc
public func isUDEnabled() -> Bool { public func isUDEnabled() -> Bool {
return !IsUsingProductionService() return true
} }
@objc @objc

@ -255,44 +255,52 @@ typedef void (^failureBlock)(NSURLSessionDataTask *task, NSError *error);
case 411: { case 411: {
OWSLogInfo( OWSLogInfo(
@"Multi-device pairing: %ld, %@, %@", (long)statusCode, networkError.debugDescription, request); @"Multi-device pairing: %ld, %@, %@", (long)statusCode, networkError.debugDescription, request);
failureBlock(task, NSError *customError =
[self errorWithHTTPCode:statusCode [self errorWithHTTPCode:statusCode
description:NSLocalizedString(@"MULTIDEVICE_PAIRING_MAX_DESC", @"alert title: cannot link - reached max linked devices") description:NSLocalizedString(@"MULTIDEVICE_PAIRING_MAX_DESC",
@"alert title: cannot link - reached max linked devices")
failureReason:networkError.localizedFailureReason failureReason:networkError.localizedFailureReason
recoverySuggestion:NSLocalizedString(@"MULTIDEVICE_PAIRING_MAX_RECOVERY", @"alert body: cannot link - reached max linked devices") recoverySuggestion:NSLocalizedString(@"MULTIDEVICE_PAIRING_MAX_RECOVERY",
fallbackError:networkError]); @"alert body: cannot link - reached max linked devices")
fallbackError:networkError];
error.isRetryable = NO;
failureBlock(task, error);
break; break;
} }
case 413: { case 413: {
OWSLogWarn(@"Rate limit exceeded: %@", request); OWSLogWarn(@"Rate limit exceeded: %@", request);
failureBlock(task, NSError *customError = [self errorWithHTTPCode:statusCode
[self errorWithHTTPCode:statusCode
description:NSLocalizedString(@"REGISTRATION_ERROR", nil) description:NSLocalizedString(@"REGISTRATION_ERROR", nil)
failureReason:networkError.localizedFailureReason failureReason:networkError.localizedFailureReason
recoverySuggestion:NSLocalizedString(@"REGISTER_RATE_LIMITING_BODY", nil) recoverySuggestion:NSLocalizedString(@"REGISTER_RATE_LIMITING_BODY", nil)
fallbackError:networkError]); fallbackError:networkError];
error.isRetryable = NO;
failureBlock(task, error);
break; break;
} }
case 417: { case 417: {
// TODO: Is this response code obsolete? // TODO: Is this response code obsolete?
OWSLogWarn(@"The number is already registered on a relay. Please unregister there first: %@", request); OWSLogWarn(@"The number is already registered on a relay. Please unregister there first: %@", request);
failureBlock(task, NSError *customError = [self errorWithHTTPCode:statusCode
[self errorWithHTTPCode:statusCode
description:NSLocalizedString(@"REGISTRATION_ERROR", nil) description:NSLocalizedString(@"REGISTRATION_ERROR", nil)
failureReason:networkError.localizedFailureReason failureReason:networkError.localizedFailureReason
recoverySuggestion:NSLocalizedString(@"RELAY_REGISTERED_ERROR_RECOVERY", nil) recoverySuggestion:NSLocalizedString(@"RELAY_REGISTERED_ERROR_RECOVERY", nil)
fallbackError:networkError]); fallbackError:networkError];
customError.isRetryable = NO;
failureBlock(task, customError);
break; break;
} }
case 422: { case 422: {
OWSLogError(@"The registration was requested over an unknown transport: %@, %@", OWSLogError(@"The registration was requested over an unknown transport: %@, %@",
networkError.debugDescription, networkError.debugDescription,
request); request);
error.isRetryable = NO;
failureBlock(task, error); failureBlock(task, error);
break; break;
} }
default: { default: {
OWSLogWarn(@"Unknown error: %ld, %@, %@", (long)statusCode, networkError.debugDescription, request); OWSLogWarn(@"Unknown error: %ld, %@, %@", (long)statusCode, networkError.debugDescription, request);
error.isRetryable = NO;
failureBlock(task, error); failureBlock(task, error);
break; break;
} }

@ -24,27 +24,27 @@ typedef NS_ENUM(NSInteger, TSWhisperMessageType) {
//#ifndef DEBUG //#ifndef DEBUG
// Production // Production
//#define textSecureWebSocketAPI @"wss://textsecure-service.whispersystems.org/v1/websocket/" #define textSecureWebSocketAPI @"wss://textsecure-service.whispersystems.org/v1/websocket/"
//#define textSecureServerURL @"https://textsecure-service.whispersystems.org/" #define textSecureServerURL @"https://textsecure-service.whispersystems.org/"
//#define textSecureCDNServerURL @"https://cdn.signal.org" #define textSecureCDNServerURL @"https://cdn.signal.org"
//// Use same reflector for service and CDN // Use same reflector for service and CDN
//#define textSecureServiceReflectorHost @"textsecure-service-reflected.whispersystems.org" #define textSecureServiceReflectorHost @"textsecure-service-reflected.whispersystems.org"
//#define textSecureCDNReflectorHost @"textsecure-service-reflected.whispersystems.org" #define textSecureCDNReflectorHost @"textsecure-service-reflected.whispersystems.org"
//#define contactDiscoveryURL @"https://api.directory.signal.org" #define contactDiscoveryURL @"https://api.directory.signal.org"
//// TODO: The production value is not yet known. // TODO: The production value is not yet known.
//#define kUDTrustRoot @"BXu6QIKVz5MA8gstzfOgRQGqyLqOwNKHL6INkv3IHWMF" #define kUDTrustRoot @"BXu6QIKVz5MA8gstzfOgRQGqyLqOwNKHL6INkv3IHWMF"
//#define USING_PRODUCTION_SERVICE #define USING_PRODUCTION_SERVICE
//#else //#else
// Staging // Staging
#define textSecureWebSocketAPI @"wss://textsecure-service-staging.whispersystems.org/v1/websocket/" //#define textSecureWebSocketAPI @"wss://textsecure-service-staging.whispersystems.org/v1/websocket/"
#define textSecureServerURL @"https://textsecure-service-staging.whispersystems.org/" //#define textSecureServerURL @"https://textsecure-service-staging.whispersystems.org/"
#define textSecureCDNServerURL @"https://cdn-staging.signal.org" //#define textSecureCDNServerURL @"https://cdn-staging.signal.org"
#define textSecureServiceReflectorHost @"meek-signal-service-staging.appspot.com"; //#define textSecureServiceReflectorHost @"meek-signal-service-staging.appspot.com";
#define textSecureCDNReflectorHost @"meek-signal-cdn-staging.appspot.com"; //#define textSecureCDNReflectorHost @"meek-signal-cdn-staging.appspot.com";
#define contactDiscoveryURL @"https://api-staging.directory.signal.org" //#define contactDiscoveryURL @"https://api-staging.directory.signal.org"
#define kUDTrustRoot @"BbqY1DzohE4NUZoVF+L18oUPrK3kILllLEJh2UnPSsEx" //#define kUDTrustRoot @"BbqY1DzohE4NUZoVF+L18oUPrK3kILllLEJh2UnPSsEx"
//#endif //#endif

Loading…
Cancel
Save