@ -1,5 +1,5 @@
/ /
/ /
/ / Copyright ( c ) 201 8 Open Whisper Systems . All rights reserved .
/ / Copyright ( c ) 201 9 Open Whisper Systems . All rights reserved .
/ /
/ /
#import "OWSCensorshipConfiguration . h "
#import "OWSCensorshipConfiguration . h "
@ -11,9 +11,11 @@
NS_ASSUME_NONNULL_BEGIN
NS_ASSUME_NONNULL_BEGIN
NSString * const OWSCensorshipConfiguration_SouqFrontingHost = @ "cms . souqcdn . com ";
NSString * const OWSFrontingHost_GoogleEgypt = @ "www . google . com . eg ";
NSString * const OWSCensorshipConfiguration_YahooViewFrontingHost = @ "view . yahoo . com ";
NSString * const OWSFrontingHost_GoogleUAE = @ "www . google . ae ";
NSString * const OWSCensorshipConfiguration_DefaultFrontingHost = OWSCensorshipConfiguration_YahooViewFrontingHost ;
NSString * const OWSFrontingHost_GoogleOman = @ "www . google . com . om ";
NSString * const OWSFrontingHost_GoogleQatar = @ "www . google . com . qa ";
NSString * const OWSFrontingHost_Default = @ "www . google . com ";
@ implementation OWSCensorshipConfiguration
@ implementation OWSCensorshipConfiguration
@ -25,7 +27,6 @@ NSString *const OWSCensorshipConfiguration_DefaultFrontingHost = OWSCensorshipCo
return nil ;
return nil ;
}
}
return [ self censorshipConfigurationWithCountryCode : countryCode ] ;
return [ self censorshipConfigurationWithCountryCode : countryCode ] ;
}
}
@ -45,10 +46,9 @@ NSString *const OWSCensorshipConfiguration_DefaultFrontingHost = OWSCensorshipCo
baseURL = [ NSURL URLWithString : frontingURLString ] ;
baseURL = [ NSURL URLWithString : frontingURLString ] ;
securityPolicy = [ self securityPolicyForDomain : ( NSString * ) specifiedDomain ] ;
securityPolicy = [ self securityPolicyForDomain : ( NSString * ) specifiedDomain ] ;
} else {
} else {
NSString * frontingURLString =
NSString * frontingURLString = [ NSString stringWithFormat : @ "https : / / %@", OWSFrontingHost_Default];
[ NSString stringWithFormat : @ "https : / / %@", OWSCensorshipConfiguration_DefaultFrontingHost];
baseURL = [ NSURL URLWithString : frontingURLString ] ;
baseURL = [ NSURL URLWithString : frontingURLString ] ;
securityPolicy = [ self securityPolicyForDomain : OWS CensorshipConfiguration_DefaultFrontingHos t] ;
securityPolicy = [ self securityPolicyForDomain : OWS FrontingHost_Defaul t] ;
}
}
OWSAssertDebug ( baseURL ) ;
OWSAssertDebug ( baseURL ) ;
@ -135,13 +135,17 @@ NSString *const OWSCensorshipConfiguration_DefaultFrontingHost = OWSCensorshipCo
/ / If the security policy requires new certificates , include them in the SSK bundle
/ / If the security policy requires new certificates , include them in the SSK bundle
+ ( AFSecurityPolicy * ) securityPolicyForDomain : ( NSString * ) domain
+ ( AFSecurityPolicy * ) securityPolicyForDomain : ( NSString * ) domain
{
{
if ( [ domain isEqualToString : OWSCensorshipConfiguration_SouqFrontingHost ] ) {
if ( [ domain isEqualToString : OWSFrontingHost_GoogleEgypt ] ) {
return [ self souqPinningPolicy ] ;
return self . googlePinningPolicy ;
} else if ( [ domain isEqualToString : OWSCensorshipConfiguration_YahooViewFrontingHost ] ) {
} else if ( [ domain isEqualToString : OWSFrontingHost_GoogleQatar ] ) {
return [ self yahooViewPinningPolicy ] ;
return self . googlePinningPolicy ;
} else if ( [ domain isEqualToString : OWSFrontingHost_GoogleOman ] ) {
return self . googlePinningPolicy ;
} else if ( [ domain isEqualToString : OWSFrontingHost_GoogleUAE ] ) {
return self . googlePinningPolicy ;
} else {
} else {
OWSFailDebug ( @ "unknown pinning domain . ") ;
OWSFailDebug ( @ "unknown pinning domain . ") ;
return [ self yahooViewPinningPolicy ] ;
return self . googlePinningPolicy ;
}
}
}
}
@ -197,7 +201,7 @@ NSString *const OWSCensorshipConfiguration_DefaultFrontingHost = OWSCensorshipCo
return certData ;
return certData ;
}
}
+ ( AFSecurityPolicy * ) yahooViewPinningPolicy
+ ( AFSecurityPolicy * ) yahooViewPinningPolicy _deprecated
{
{
static AFSecurityPolicy * securityPolicy = nil ;
static AFSecurityPolicy * securityPolicy = nil ;
static dispatch_once_t onceToken ;
static dispatch_once_t onceToken ;
@ -209,7 +213,7 @@ NSString *const OWSCensorshipConfiguration_DefaultFrontingHost = OWSCensorshipCo
return securityPolicy ;
return securityPolicy ;
}
}
+ ( AFSecurityPolicy * ) souqPinningPolicy
+ ( AFSecurityPolicy * ) souqPinningPolicy _deprecated
{
{
static AFSecurityPolicy * securityPolicy = nil ;
static AFSecurityPolicy * securityPolicy = nil ;
static dispatch_once_t onceToken ;
static dispatch_once_t onceToken ;
@ -221,7 +225,7 @@ NSString *const OWSCensorshipConfiguration_DefaultFrontingHost = OWSCensorshipCo
return securityPolicy ;
return securityPolicy ;
}
}
+ ( AFSecurityPolicy * ) googlePinningPolicy _deprecated
+ ( AFSecurityPolicy * ) googlePinningPolicy
{
{
static AFSecurityPolicy * securityPolicy = nil ;
static AFSecurityPolicy * securityPolicy = nil ;
static dispatch_once_t onceToken ;
static dispatch_once_t onceToken ;