mirror of https://github.com/oxen-io/session-ios
Use SocketRocket pluggable policies (#15)
* Use SocketRocket pluggable policies Pluggable policies are currently only in our fork, but pending upstream PR: https://github.com/facebook/SocketRocket/pull/429 Also: * rebased SocketRocket against latest upstream to incorporate bug fixes. * adapt to new upstream API for error handling (vs previous exception throwing) * renamed AFSecurityOWSPolicy -> OWSHTTPSecurityPolicy to differentiate it from OSWWebSocketSecurityPolicy * Follow conventional singleton pattern with onceToken * bump xcode version to play nice with SWIFT_NAME in SocketRocket // FREEBIEpull/1/head
parent
80671b247f
commit
664162fe24
@ -1,16 +0,0 @@
|
||||
//
|
||||
// AFSecurityPolicyNone.h
|
||||
// Signal
|
||||
//
|
||||
// Created by Fred on 01/09/15.
|
||||
// Copyright © 2015 Open Whisper Systems. All rights reserved.
|
||||
//
|
||||
|
||||
#import <SocketRocket/NSURLRequest+SRWebSocket.h>
|
||||
#import "AFSecurityPolicy.h"
|
||||
|
||||
@interface AFSecurityOWSPolicy : AFSecurityPolicy <SRSecurityPolicy>
|
||||
|
||||
+ (instancetype)OWS_PinningPolicy;
|
||||
|
||||
@end
|
@ -0,0 +1,12 @@
|
||||
//
|
||||
// Created by Fred on 01/09/15.
|
||||
// Copyright © 2015 Open Whisper Systems. All rights reserved.
|
||||
//
|
||||
|
||||
#import <AFNetworking/AFSecurityPolicy.h>
|
||||
|
||||
@interface OWSHTTPSecurityPolicy : AFSecurityPolicy
|
||||
|
||||
+ (instancetype)sharedPolicy;
|
||||
|
||||
@end
|
@ -0,0 +1,9 @@
|
||||
// Copyright © 2016 Open Whisper Systems. All rights reserved.
|
||||
|
||||
#import <SocketRocket/SRSecurityPolicy.h>
|
||||
|
||||
@interface OWSWebsocketSecurityPolicy : SRSecurityPolicy
|
||||
|
||||
+ (instancetype)sharedPolicy;
|
||||
|
||||
@end
|
@ -0,0 +1,24 @@
|
||||
// Copyright © 2016 Open Whisper Systems. All rights reserved.
|
||||
|
||||
#import "OWSWebsocketSecurityPolicy.h"
|
||||
|
||||
#import <SocketRocket/SRSecurityPolicy.h>
|
||||
#import "OWSHTTPSecurityPolicy.h"
|
||||
|
||||
@implementation OWSWebsocketSecurityPolicy
|
||||
|
||||
+ (instancetype)sharedPolicy {
|
||||
static OWSWebsocketSecurityPolicy *websocketSecurityPolicy = nil;
|
||||
static dispatch_once_t onceToken;
|
||||
dispatch_once(&onceToken, ^{
|
||||
websocketSecurityPolicy = [[self alloc] initWithCertificateChainValidationEnabled:NO];
|
||||
});
|
||||
return websocketSecurityPolicy;
|
||||
}
|
||||
|
||||
- (BOOL)evaluateServerTrust:(SecTrustRef)serverTrust forDomain:(NSString *)domain {
|
||||
// Delegate server trust to our existing HTTP policy.
|
||||
return [[OWSHTTPSecurityPolicy sharedPolicy] evaluateServerTrust:serverTrust forDomain:domain];
|
||||
}
|
||||
|
||||
@end
|
Loading…
Reference in New Issue