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
private let kUDCollection = "kUDCollection"
private let kUDCurrentSenderCertificateKey = "kUDCurrentSenderCertificateKey"
private let kUDCurrentSenderCertificateKey_Production = "kUDCurrentSenderCertificateKey_Production"
private let kUDCurrentSenderCertificateKey_Staging = "kUDCurrentSenderCertificateKey_Staging"
private let kUDUnrestrictedAccessKey = "kUDUnrestrictedAccessKey"
// MARK: Recipient State
@ -201,7 +202,7 @@ public class OWSUDManagerImpl: NSObject, OWSUDManager {
#endif
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
}
@ -221,7 +222,11 @@ public class OWSUDManagerImpl: NSObject, OWSUDManager {
}
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
@ -286,7 +291,7 @@ public class OWSUDManagerImpl: NSObject, OWSUDManager {
@objc
public func isUDEnabled() -> Bool {
return !IsUsingProductionService()
return true
}
@objc

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

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

Loading…
Cancel
Save