| Index: webrtc/sdk/objc/Framework/Classes/PeerConnection/RTCIceServer.mm
|
| diff --git a/webrtc/sdk/objc/Framework/Classes/PeerConnection/RTCIceServer.mm b/webrtc/sdk/objc/Framework/Classes/PeerConnection/RTCIceServer.mm
|
| index 7f276580b522ad62c3ff70da3c192595d8789aa1..b511da96bfb5a73269836af57742d9e1d621ce09 100644
|
| --- a/webrtc/sdk/objc/Framework/Classes/PeerConnection/RTCIceServer.mm
|
| +++ b/webrtc/sdk/objc/Framework/Classes/PeerConnection/RTCIceServer.mm
|
| @@ -19,6 +19,7 @@
|
| @synthesize credential = _credential;
|
| @synthesize tlsCertPolicy = _tlsCertPolicy;
|
| @synthesize hostname = _hostname;
|
| +@synthesize tlsAlpnProtocols = _tlsAlpnProtocols;
|
|
|
| - (instancetype)initWithURLStrings:(NSArray<NSString *> *)urlStrings {
|
| return [self initWithURLStrings:urlStrings
|
| @@ -51,6 +52,20 @@
|
| credential:(NSString *)credential
|
| tlsCertPolicy:(RTCTlsCertPolicy)tlsCertPolicy
|
| hostname:(NSString *)hostname {
|
| + return [self initWithURLStrings:urlStrings
|
| + username:username
|
| + credential:credential
|
| + tlsCertPolicy:tlsCertPolicy
|
| + hostname:hostname
|
| + tlsAlpnProtocols:[NSMutableArray new]];
|
| +}
|
| +
|
| +- (instancetype)initWithURLStrings:(NSArray<NSString *> *)urlStrings
|
| + username:(NSString *)username
|
| + credential:(NSString *)credential
|
| + tlsCertPolicy:(RTCTlsCertPolicy)tlsCertPolicy
|
| + hostname:(NSString *)hostname
|
| + tlsAlpnProtocols:(NSArray<NSString *> *)tlsAlpnProtocols {
|
| NSParameterAssert(urlStrings.count);
|
| if (self = [super init]) {
|
| _urlStrings = [[NSArray alloc] initWithArray:urlStrings copyItems:YES];
|
| @@ -58,17 +73,20 @@
|
| _credential = [credential copy];
|
| _tlsCertPolicy = tlsCertPolicy;
|
| _hostname = [hostname copy];
|
| + _tlsAlpnProtocols =
|
| + [[NSArray alloc] initWithArray:tlsAlpnProtocols copyItems:YES];
|
| }
|
| return self;
|
| }
|
|
|
| - (NSString *)description {
|
| - return [NSString stringWithFormat:@"RTCIceServer:\n%@\n%@\n%@\n%@\n%@",
|
| + return [NSString stringWithFormat:@"RTCIceServer:\n%@\n%@\n%@\n%@\n%@\n%@",
|
| _urlStrings,
|
| _username,
|
| _credential,
|
| [self stringForTlsCertPolicy:_tlsCertPolicy],
|
| - _hostname];
|
| + _hostname,
|
| + _tlsAlpnProtocols];
|
| }
|
|
|
| #pragma mark - Private
|
| @@ -89,6 +107,12 @@
|
| iceServer.password = [NSString stdStringForString:_credential];
|
| iceServer.hostname = [NSString stdStringForString:_hostname];
|
|
|
| + [_tlsAlpnProtocols enumerateObjectsUsingBlock:^(NSString *proto,
|
| + NSUInteger idx,
|
| + BOOL *stop) {
|
| + iceServer.tls_alpn_protocols.push_back(proto.stdString);
|
| + }];
|
| +
|
| [_urlStrings enumerateObjectsUsingBlock:^(NSString *url,
|
| NSUInteger idx,
|
| BOOL *stop) {
|
| @@ -118,6 +142,11 @@
|
| NSString *username = [NSString stringForStdString:nativeServer.username];
|
| NSString *credential = [NSString stringForStdString:nativeServer.password];
|
| NSString *hostname = [NSString stringForStdString:nativeServer.hostname];
|
| + NSMutableArray *tlsAlpnProtocols =
|
| + [NSMutableArray arrayWithCapacity:nativeServer.tls_alpn_protocols.size()];
|
| + for (auto const &proto : nativeServer.tls_alpn_protocols) {
|
| + [tlsAlpnProtocols addObject:[NSString stringForStdString:proto]];
|
| + }
|
| RTCTlsCertPolicy tlsCertPolicy;
|
|
|
| switch (nativeServer.tls_cert_policy) {
|
| @@ -133,7 +162,8 @@
|
| username:username
|
| credential:credential
|
| tlsCertPolicy:tlsCertPolicy
|
| - hostname:hostname];
|
| + hostname:hostname
|
| + tlsAlpnProtocols:tlsAlpnProtocols];
|
| return self;
|
| }
|
|
|
|
|