From fc3f9ae3964ae97524c1c805fb354f09d23b3141 Mon Sep 17 00:00:00 2001 From: Michael Kirk Date: Fri, 11 Aug 2017 11:18:47 -0400 Subject: [PATCH] Replace server sent avatar URL with hardcoded // FREEBIE --- Signal/src/Profiles/OWSProfileManager.m | 13 ++----------- SignalServiceKit/src/Network/OWSSignalService.h | 4 +++- SignalServiceKit/src/Network/OWSSignalService.m | 10 +++++++--- SignalServiceKit/src/TSConstants.h | 12 ++++++------ 4 files changed, 18 insertions(+), 21 deletions(-) diff --git a/Signal/src/Profiles/OWSProfileManager.m b/Signal/src/Profiles/OWSProfileManager.m index fff6dc1e1..5c5f75349 100644 --- a/Signal/src/Profiles/OWSProfileManager.m +++ b/Signal/src/Profiles/OWSProfileManager.m @@ -445,12 +445,6 @@ static const NSInteger kProfileKeyLength = 16; NSDictionary *responseMap = formResponseObject; DDLogError(@"responseObject: %@", formResponseObject); - NSString *formUrl = responseMap[@"url"]; - if (![formUrl isKindOfClass:[NSString class]] || formUrl.length < 1) { - OWSProdFail(@"profile_manager_error_avatar_upload_form_invalid_url"); - failureBlock(); - return; - } NSString *formAcl = responseMap[@"acl"]; if (![formAcl isKindOfClass:[NSString class]] || formAcl.length < 1) { OWSProdFail(@"profile_manager_error_avatar_upload_form_invalid_acl"); @@ -495,11 +489,8 @@ static const NSInteger kProfileKeyLength = 16; } AFHTTPSessionManager *profileHttpManager = - [[OWSSignalService sharedInstance] profileUploadingSessionManagerWithHostname:formUrl]; - - // Default acceptable content headers are rejected by AWS - profileHttpManager.responseSerializer.acceptableContentTypes = nil; - + [[OWSSignalService sharedInstance] cdnSessionManager]; + [profileHttpManager POST:@"" parameters:nil constructingBodyWithBlock:^(id _Nonnull formData) { diff --git a/SignalServiceKit/src/Network/OWSSignalService.h b/SignalServiceKit/src/Network/OWSSignalService.h index 13376c53a..7b333f93a 100644 --- a/SignalServiceKit/src/Network/OWSSignalService.h +++ b/SignalServiceKit/src/Network/OWSSignalService.h @@ -12,9 +12,11 @@ extern NSString *const kNSNotificationName_IsCensorshipCircumventionActiveDidCha @interface OWSSignalService : NSObject +/// For interacting with the Signal Service @property (nonatomic, readonly) AFHTTPSessionManager *signalServiceSessionManager; -- (AFHTTPSessionManager *)profileUploadingSessionManagerWithHostname:(NSString *)hostname; +/// For uploading avatar assets. +@property (nonatomic, readonly) AFHTTPSessionManager *cdnSessionManager; @property (atomic, readonly) BOOL isCensorshipCircumventionActive; diff --git a/SignalServiceKit/src/Network/OWSSignalService.m b/SignalServiceKit/src/Network/OWSSignalService.m index 53251c2d8..d9e702082 100644 --- a/SignalServiceKit/src/Network/OWSSignalService.m +++ b/SignalServiceKit/src/Network/OWSSignalService.m @@ -208,19 +208,23 @@ NSString *const kNSNotificationName_IsCensorshipCircumventionActiveDidChange = #pragma mark - Profile Uploading -- (AFHTTPSessionManager *)profileUploadingSessionManagerWithHostname:(NSString *)hostname +- (AFHTTPSessionManager *)cdnSessionManager { - OWSAssert(hostname.length > 0); if (self.isCensorshipCircumventionActive) { DDLogInfo(@"%@ Profile uploading may not work when under censorship.", self.tag); } - NSURL *baseURL = [[NSURL alloc] initWithString:[@"https://" stringByAppendingString:hostname]]; + NSURL *baseURL = [[NSURL alloc] initWithString:textSecureCDNServerURL]; + OWSAssert(baseURL); + NSURLSessionConfiguration *sessionConf = NSURLSessionConfiguration.ephemeralSessionConfiguration; AFHTTPSessionManager *sessionManager = [[AFHTTPSessionManager alloc] initWithBaseURL:baseURL sessionConfiguration:sessionConf]; sessionManager.securityPolicy = [OWSHTTPSecurityPolicy sharedPolicy]; + + // Default acceptable content headers are rejected by AWS + sessionManager.responseSerializer.acceptableContentTypes = nil; return sessionManager; } diff --git a/SignalServiceKit/src/TSConstants.h b/SignalServiceKit/src/TSConstants.h index 19b5f485f..33c3935d6 100644 --- a/SignalServiceKit/src/TSConstants.h +++ b/SignalServiceKit/src/TSConstants.h @@ -22,13 +22,13 @@ typedef enum { kSMSVerification, kPhoneNumberVerification } VerificationTranspor #define textSecureHTTPTimeOut 10 -#define textSecureWebSocketAPI @"wss://textsecure-service.whispersystems.org/v1/websocket/" -#define textSecureServerURL @"https://textsecure-service.whispersystems.org/" -#define textSecureProfileServerURL @"https://profiles.signal.org" +//#define textSecureWebSocketAPI @"wss://textsecure-service.whispersystems.org/v1/websocket/" +//#define textSecureServerURL @"https://textsecure-service.whispersystems.org/" +//#define textSecureCDNServerURL @"https://cdn.signal.org" -//#define textSecureWebSocketAPI @"wss://textsecure-service-staging.whispersystems.org/v1/websocket/" -//#define textSecureServerURL @"https://textsecure-service-staging.whispersystems.org/" -//#define textSecureProfileServerURL @"https://profiles-staging.signal.org" +#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 textSecureGeneralAPI @"v1" #define textSecureAccountsAPI @"v1/accounts"