Index: webrtc/sdk/objc/Framework/Classes/RTCIceServer.mm |
diff --git a/webrtc/sdk/objc/Framework/Classes/RTCIceServer.mm b/webrtc/sdk/objc/Framework/Classes/RTCIceServer.mm |
index 41084b9357129f126f6683047f4ea748124b8216..bfab6f59922db936a7760fd3762c18d499ec965f 100644 |
--- a/webrtc/sdk/objc/Framework/Classes/RTCIceServer.mm |
+++ b/webrtc/sdk/objc/Framework/Classes/RTCIceServer.mm |
@@ -17,9 +17,9 @@ |
@synthesize urlStrings = _urlStrings; |
@synthesize username = _username; |
@synthesize credential = _credential; |
+@synthesize tlsCertPolicy = _tlsCertPolicy; |
- (instancetype)initWithURLStrings:(NSArray<NSString *> *)urlStrings { |
- NSParameterAssert(urlStrings.count); |
return [self initWithURLStrings:urlStrings |
username:nil |
credential:nil]; |
@@ -28,24 +28,46 @@ |
- (instancetype)initWithURLStrings:(NSArray<NSString *> *)urlStrings |
username:(NSString *)username |
credential:(NSString *)credential { |
+ return [self initWithURLStrings:urlStrings |
+ username:username |
+ credential:credential |
+ tlsCertPolicy:RTCTlsCertPolicySecure]; |
+} |
+ |
+- (instancetype)initWithURLStrings:(NSArray<NSString *> *)urlStrings |
+ username:(NSString *)username |
+ credential:(NSString *)credential |
+ tlsCertPolicy:(RTCTlsCertPolicy)tlsCertPolicy { |
NSParameterAssert(urlStrings.count); |
if (self = [super init]) { |
_urlStrings = [[NSArray alloc] initWithArray:urlStrings copyItems:YES]; |
_username = [username copy]; |
_credential = [credential copy]; |
+ _tlsCertPolicy = tlsCertPolicy; |
} |
return self; |
} |
- (NSString *)description { |
- return [NSString stringWithFormat:@"RTCIceServer:\n%@\n%@\n%@", |
- _urlStrings, |
- _username, |
- _credential]; |
+ return |
+ [NSString stringWithFormat:@"RTCIceServer:\n%@\n%@\n%@\n%@", _urlStrings, |
+ _username, _credential, |
+ [self stringForTlsCertPolicy:_tlsCertPolicy]]; |
} |
#pragma mark - Private |
+- (NSString *)stringForTlsCertPolicy:(RTCTlsCertPolicy)tlsCertPolicy { |
+ switch (tlsCertPolicy) { |
+ case RTCTlsCertPolicySecure: |
+ return @"RTCTlsCertPolicySecure"; |
+ case RTCTlsCertPolicyInsecureNoCheck: |
+ return @"RTCTlsCertPolicyInsecureNoCheck"; |
+ default: |
tkchin_webrtc
2017/02/02 19:51:12
remove default
hnsl1
2017/02/02 19:53:35
Done.
|
+ return @"RTCTlsCertPolicyUnknown"; |
+ } |
+} |
+ |
- (webrtc::PeerConnectionInterface::IceServer)nativeServer { |
__block webrtc::PeerConnectionInterface::IceServer iceServer; |
@@ -57,6 +79,17 @@ |
BOOL *stop) { |
iceServer.urls.push_back(url.stdString); |
}]; |
+ |
+ switch (_tlsCertPolicy) { |
+ case RTCTlsCertPolicySecure: |
+ iceServer.tls_cert_policy = |
+ webrtc::PeerConnectionInterface::kTlsCertPolicySecure; |
+ break; |
+ case RTCTlsCertPolicyInsecureNoCheck: |
+ iceServer.tls_cert_policy = |
+ webrtc::PeerConnectionInterface::kTlsCertPolicyInsecureNoCheck; |
+ break; |
+ } |
return iceServer; |
} |
@@ -69,9 +102,21 @@ |
} |
NSString *username = [NSString stringForStdString:nativeServer.username]; |
NSString *credential = [NSString stringForStdString:nativeServer.password]; |
+ RTCTlsCertPolicy tlsCertPolicy; |
+ |
+ switch (nativeServer.tls_cert_policy) { |
+ case webrtc::PeerConnectionInterface::kTlsCertPolicySecure: |
+ tlsCertPolicy = RTCTlsCertPolicySecure; |
+ break; |
+ case webrtc::PeerConnectionInterface::kTlsCertPolicyInsecureNoCheck: |
+ tlsCertPolicy = RTCTlsCertPolicyInsecureNoCheck; |
+ break; |
+ } |
+ |
self = [self initWithURLStrings:urls |
username:username |
- credential:credential]; |
+ credential:credential |
+ tlsCertPolicy:tlsCertPolicy]; |
return self; |
} |