diff --git a/SignalServiceKit/src/Network/API/RESTNetworkManager.swift b/SignalServiceKit/src/Network/API/RESTNetworkManager.swift index c39848694f..4f665d032d 100644 --- a/SignalServiceKit/src/Network/API/RESTNetworkManager.swift +++ b/SignalServiceKit/src/Network/API/RESTNetworkManager.swift @@ -160,18 +160,18 @@ extension OWSURLSession { var backgroundTask: OWSBackgroundTask? = OWSBackgroundTask(label: "\(#function)") - Logger.verbose("Making request: \(request.logDescription)") + Logger.verbose("Making request: \(rawRequest.description)") return firstly(on: .global()) { () throws -> Promise in urlSession.uploadTaskPromise(request: request, data: requestBody) }.map(on: .global()) { (response: HTTPResponse) -> HTTPResponse in - Logger.info("Success: \(request.logDescription)") + Logger.info("Success: \(rawRequest.description)") return response }.ensure(on: .global()) { owsAssertDebug(backgroundTask != nil) backgroundTask = nil }.recover(on: .global()) { error -> Promise in - Logger.warn("Failure: \(request.logDescription), error: \(error)") + Logger.warn("Failure: \(rawRequest.description), error: \(error)") throw error } } @@ -183,18 +183,3 @@ extension OWSURLSession { public extension TSRequest { var canUseAuth: Bool { !isUDRequest } } - -// MARK: - - -public extension URLRequest { - var logDescription: String { - var splits = [String]() - if let httpMethod = self.httpMethod { - splits.append(httpMethod) - } - if let url = self.url { - splits.append(url.absoluteString) - } - return splits.joined(separator: ": ") - } -} diff --git a/SignalServiceKit/src/Network/API/Requests/OWSRequestFactory.m b/SignalServiceKit/src/Network/API/Requests/OWSRequestFactory.m index 8f9c95a1cd..ec5f3fbe36 100644 --- a/SignalServiceKit/src/Network/API/Requests/OWSRequestFactory.m +++ b/SignalServiceKit/src/Network/API/Requests/OWSRequestFactory.m @@ -944,6 +944,7 @@ NSString *const OWSRequestKey_AuthKey = @"AuthKey"; method:@"PUT" parameters:@{}]; request.shouldHaveAuthorizationHeaders = NO; + request.shouldRedactUrlInLogs = YES; return request; } @@ -954,6 +955,7 @@ NSString *const OWSRequestKey_AuthKey = @"AuthKey"; method:@"DELETE" parameters:@{}]; request.shouldHaveAuthorizationHeaders = NO; + request.shouldRedactUrlInLogs = YES; return request; } @@ -962,6 +964,7 @@ NSString *const OWSRequestKey_AuthKey = @"AuthKey"; method:@"POST" parameters:@{}]; request.shouldHaveAuthorizationHeaders = NO; + request.shouldRedactUrlInLogs = YES; return request; } @@ -970,6 +973,7 @@ NSString *const OWSRequestKey_AuthKey = @"AuthKey"; method:@"POST" parameters:@{}]; request.shouldHaveAuthorizationHeaders = NO; + request.shouldRedactUrlInLogs = YES; return request; } @@ -978,6 +982,7 @@ NSString *const OWSRequestKey_AuthKey = @"AuthKey"; method:@"PUT" parameters:@{}]; request.shouldHaveAuthorizationHeaders = NO; + request.shouldRedactUrlInLogs = YES; return request; } @@ -986,6 +991,7 @@ NSString *const OWSRequestKey_AuthKey = @"AuthKey"; method:@"POST" parameters:@{@"receiptCredentialRequest" : base64ReceiptCredentialRequest}]; request.shouldHaveAuthorizationHeaders = NO; + request.shouldRedactUrlInLogs = YES; return request; } @@ -1007,6 +1013,7 @@ NSString *const OWSRequestKey_AuthKey = @"AuthKey"; requestWithUrl:[NSURL URLWithString:[NSString stringWithFormat:@"/v1/subscription/%@", base64SubscriberID]] method:@"GET" parameters:@{}]; + request.shouldRedactUrlInLogs = YES; request.shouldHaveAuthorizationHeaders = NO; return request; } diff --git a/SignalServiceKit/src/Network/API/Requests/TSRequest.h b/SignalServiceKit/src/Network/API/Requests/TSRequest.h index 0f1c254c3f..ad4bbfbe24 100644 --- a/SignalServiceKit/src/Network/API/Requests/TSRequest.h +++ b/SignalServiceKit/src/Network/API/Requests/TSRequest.h @@ -13,6 +13,7 @@ static NSString *const kSenderKeySendRequestBodyContentType = @"application/vnd. @property (nonatomic) BOOL isUDRequest; @property (nonatomic) BOOL shouldHaveAuthorizationHeaders; +@property (nonatomic) BOOL shouldRedactUrlInLogs; @property (atomic, nullable) NSString *authUsername; @property (atomic, nullable) NSString *authPassword; diff --git a/SignalServiceKit/src/Network/API/Requests/TSRequest.m b/SignalServiceKit/src/Network/API/Requests/TSRequest.m index 4c7d7d5e66..aee392a320 100644 --- a/SignalServiceKit/src/Network/API/Requests/TSRequest.m +++ b/SignalServiceKit/src/Network/API/Requests/TSRequest.m @@ -126,7 +126,11 @@ NS_ASSUME_NONNULL_BEGIN } - (NSString *)description { - return [NSString stringWithFormat:@"{ %@: %@ }", self.HTTPMethod, self.URL]; + if (self.shouldRedactUrlInLogs) { + return [NSString stringWithFormat:@"{ %@: [REDACTED] }", self.HTTPMethod]; + } else { + return [NSString stringWithFormat:@"{ %@: %@ }", self.HTTPMethod, self.URL]; + } } @end diff --git a/SignalServiceKit/src/Network/WebSockets/SocketManager.swift b/SignalServiceKit/src/Network/WebSockets/SocketManager.swift index 57d17ebc0e..0f3e8b8da4 100644 --- a/SignalServiceKit/src/Network/WebSockets/SocketManager.swift +++ b/SignalServiceKit/src/Network/WebSockets/SocketManager.swift @@ -103,12 +103,12 @@ public class SocketManager: NSObject { owsAssertDebug(!request.isUDRequest) owsAssertDebug(request.shouldHaveAuthorizationHeaders) if request.isUDRequest || !request.shouldHaveAuthorizationHeaders { - Logger.info("request: \(String(describing: request.url)), isUDRequest: \(request.isUDRequest), shouldHaveAuthorizationHeaders: \(request.shouldHaveAuthorizationHeaders)") + Logger.info("request: \(request.description), isUDRequest: \(request.isUDRequest), shouldHaveAuthorizationHeaders: \(request.shouldHaveAuthorizationHeaders)") } case .unidentified: owsAssertDebug(request.isUDRequest || !request.shouldHaveAuthorizationHeaders) if !request.isUDRequest && request.shouldHaveAuthorizationHeaders { - Logger.info("request: \(String(describing: request.url)), isUDRequest: \(request.isUDRequest), shouldHaveAuthorizationHeaders: \(request.shouldHaveAuthorizationHeaders)") + Logger.info("request: \(request.description), isUDRequest: \(request.isUDRequest), shouldHaveAuthorizationHeaders: \(request.shouldHaveAuthorizationHeaders)") } }