Add support for manually activating censorship circumvention.

// FREEBIE
pull/1/head
Matthew Chen 9 years ago
parent d3fc5e4ab8
commit 98ff7e5aba

@ -14,7 +14,6 @@ NSString *const TSNetworkManagerDomain = @"org.whispersystems.signal.networkMana
@interface TSNetworkManager () @interface TSNetworkManager ()
@property (nonatomic, readonly, strong) OWSSignalService *signalService;
typedef void (^failureBlock)(NSURLSessionDataTask *task, NSError *error); typedef void (^failureBlock)(NSURLSessionDataTask *task, NSError *error);
@end @end
@ -27,22 +26,19 @@ typedef void (^failureBlock)(NSURLSessionDataTask *task, NSError *error);
static TSNetworkManager *sharedMyManager = nil; static TSNetworkManager *sharedMyManager = nil;
static dispatch_once_t onceToken; static dispatch_once_t onceToken;
dispatch_once(&onceToken, ^{ dispatch_once(&onceToken, ^{
OWSSignalService *signalService = [OWSSignalService sharedInstance]; sharedMyManager = [[self alloc] initDefault];
sharedMyManager = [[self alloc] initWithSignalService:signalService];
}); });
return sharedMyManager; return sharedMyManager;
} }
- (instancetype)initWithSignalService:(OWSSignalService *)signalService - (instancetype)initDefault
{ {
self = [super init]; self = [super init];
if (!self) { if (!self) {
return self; return self;
} }
_signalService = signalService;
OWSSingletonAssert(); OWSSingletonAssert();
return self; return self;
@ -59,7 +55,7 @@ typedef void (^failureBlock)(NSURLSessionDataTask *task, NSError *error);
void (^failure)(NSURLSessionDataTask *task, NSError *error) = void (^failure)(NSURLSessionDataTask *task, NSError *error) =
[TSNetworkManager errorPrettifyingForFailureBlock:failureBlock]; [TSNetworkManager errorPrettifyingForFailureBlock:failureBlock];
AFHTTPSessionManager *sessionManager = self.signalService.HTTPSessionManager; AFHTTPSessionManager *sessionManager = [OWSSignalService sharedInstance].HTTPSessionManager;
if ([request isKindOfClass:[TSVerifyCodeRequest class]]) { if ([request isKindOfClass:[TSVerifyCodeRequest class]]) {
// We plant the Authorization parameter ourselves, no need to double add. // We plant the Authorization parameter ourselves, no need to double add.

@ -21,10 +21,10 @@ NSString *const OWSCensorshipConfigurationReflectorHost = @"signal-reflector-mee
domain = self.censoredCountryCodes[countryCode]; domain = self.censoredCountryCodes[countryCode];
} }
} }
// Fronting should only be used for countries specified in censoredCountryCodes, // Fronting should only be auto-activated for countries specified in censoredCountryCodes,
// all of which have a domain specified. // all of which have a domain specified. However users can also manually enable
OWSAssert(domain); // censorship circumvention.
if (!domain) { if (!domain) {
domain = @"google.com"; domain = @"google.com";
} }

@ -54,6 +54,7 @@ NSString *const kNSNotificationName_IsCensorshipCircumventionActiveDidChange =
[self observeNotifications]; [self observeNotifications];
[self updateHasCensoredPhoneNumber];
[self updateIsCensorshipCircumventionActive]; [self updateIsCensorshipCircumventionActive];
OWSSingletonAssert(); OWSSingletonAssert();

Loading…
Cancel
Save