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 ()
@property (nonatomic, readonly, strong) OWSSignalService *signalService;
typedef void (^failureBlock)(NSURLSessionDataTask *task, NSError *error);
@end
@ -27,22 +26,19 @@ typedef void (^failureBlock)(NSURLSessionDataTask *task, NSError *error);
static TSNetworkManager *sharedMyManager = nil;
static dispatch_once_t onceToken;
dispatch_once(&onceToken, ^{
OWSSignalService *signalService = [OWSSignalService sharedInstance];
sharedMyManager = [[self alloc] initWithSignalService:signalService];
sharedMyManager = [[self alloc] initDefault];
});
return sharedMyManager;
}
- (instancetype)initWithSignalService:(OWSSignalService *)signalService
- (instancetype)initDefault
{
self = [super init];
if (!self) {
return self;
}
_signalService = signalService;
OWSSingletonAssert();
return self;
@ -59,7 +55,7 @@ typedef void (^failureBlock)(NSURLSessionDataTask *task, NSError *error);
void (^failure)(NSURLSessionDataTask *task, NSError *error) =
[TSNetworkManager errorPrettifyingForFailureBlock:failureBlock];
AFHTTPSessionManager *sessionManager = self.signalService.HTTPSessionManager;
AFHTTPSessionManager *sessionManager = [OWSSignalService sharedInstance].HTTPSessionManager;
if ([request isKindOfClass:[TSVerifyCodeRequest class]]) {
// 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];
}
}
// Fronting should only be used for countries specified in censoredCountryCodes,
// all of which have a domain specified.
OWSAssert(domain);
// Fronting should only be auto-activated for countries specified in censoredCountryCodes,
// all of which have a domain specified. However users can also manually enable
// censorship circumvention.
if (!domain) {
domain = @"google.com";
}

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

Loading…
Cancel
Save