Index: webrtc/p2p/base/basicpacketsocketfactory.cc |
diff --git a/webrtc/p2p/base/basicpacketsocketfactory.cc b/webrtc/p2p/base/basicpacketsocketfactory.cc |
index e911f2fe222769a3eaf27f56742b5171a77eeddc..4879b8eb6727eef315681810cf954678dde9f58e 100644 |
--- a/webrtc/p2p/base/basicpacketsocketfactory.cc |
+++ b/webrtc/p2p/base/basicpacketsocketfactory.cc |
@@ -106,7 +106,8 @@ AsyncPacketSocket* BasicPacketSocketFactory::CreateServerTcpSocket( |
AsyncPacketSocket* BasicPacketSocketFactory::CreateClientTcpSocket( |
const SocketAddress& local_address, const SocketAddress& remote_address, |
- const ProxyInfo& proxy_info, const std::string& user_agent, int opts) { |
+ const ProxyInfo& proxy_info, const std::string& user_agent, |
+ const PacketSocketTcpOptions& tcp_options) { |
AsyncSocket* socket = |
socket_factory()->CreateAsyncSocket(local_address.family(), SOCK_STREAM); |
if (!socket) { |
@@ -139,8 +140,9 @@ AsyncPacketSocket* BasicPacketSocketFactory::CreateClientTcpSocket( |
// Assert that at most one TLS option is used. |
int tlsOpts = |
- opts & (PacketSocketFactory::OPT_TLS | PacketSocketFactory::OPT_TLS_FAKE | |
- PacketSocketFactory::OPT_TLS_INSECURE); |
+ tcp_options.opts & (PacketSocketFactory::OPT_TLS | |
+ PacketSocketFactory::OPT_TLS_FAKE | |
+ PacketSocketFactory::OPT_TLS_INSECURE); |
RTC_DCHECK((tlsOpts & (tlsOpts - 1)) == 0); |
if ((tlsOpts & PacketSocketFactory::OPT_TLS) || |
@@ -152,9 +154,11 @@ AsyncPacketSocket* BasicPacketSocketFactory::CreateClientTcpSocket( |
} |
if (tlsOpts & PacketSocketFactory::OPT_TLS_INSECURE) { |
- ssl_adapter->set_ignore_bad_cert(true); |
+ ssl_adapter->SetIgnoreBadCert(true); |
} |
+ ssl_adapter->SetAlpnProtocols(tcp_options.tls_alpn_protocols); |
+ |
socket = ssl_adapter; |
if (ssl_adapter->StartSSL(remote_address.hostname().c_str(), false) != 0) { |
@@ -176,7 +180,7 @@ AsyncPacketSocket* BasicPacketSocketFactory::CreateClientTcpSocket( |
// Finally, wrap that socket in a TCP or STUN TCP packet socket. |
AsyncPacketSocket* tcp_socket; |
- if (opts & PacketSocketFactory::OPT_STUN) { |
+ if (tcp_options.opts & PacketSocketFactory::OPT_STUN) { |
tcp_socket = new cricket::AsyncStunTCPSocket(socket, false); |
} else { |
tcp_socket = new AsyncTCPSocket(socket, false); |