Index: remoting/protocol/ssl_hmac_channel_authenticator.cc |
diff --git a/remoting/protocol/ssl_hmac_channel_authenticator.cc b/remoting/protocol/ssl_hmac_channel_authenticator.cc |
index 808bd1b85a5ba0d032a7d1f4e9fbe51aca2d1c82..8fb2e5ea1c0ddc3a5b5fb32ff209de164107740a 100644 |
--- a/remoting/protocol/ssl_hmac_channel_authenticator.cc |
+++ b/remoting/protocol/ssl_hmac_channel_authenticator.cc |
@@ -217,8 +217,8 @@ void SslHmacChannelAuthenticator::SecureAndAuthenticate( |
result = net::ERR_FAILED; |
#else |
scoped_refptr<net::X509Certificate> cert = |
- net::X509Certificate::CreateFromBytes( |
- local_cert_.data(), local_cert_.length()); |
+ net::X509Certificate::CreateFromBytes(local_cert_.data(), |
+ local_cert_.length()); |
if (!cert.get()) { |
LOG(ERROR) << "Failed to parse X509Certificate"; |
NotifyError(net::ERR_FAILED); |
@@ -228,9 +228,12 @@ void SslHmacChannelAuthenticator::SecureAndAuthenticate( |
net::SSLServerConfig ssl_config; |
ssl_config.require_ecdhe = true; |
- scoped_ptr<net::SSLServerSocket> server_socket = net::CreateSSLServerSocket( |
- make_scoped_ptr(new NetStreamSocketAdapter(std::move(socket))), |
+ server_context_ = net::CreateSSLServerContext( |
Sergey Ulanov
2016/03/04 20:37:25
Does server_context_ need to be a class member ins
davidben
2016/03/04 20:56:55
The socket shouldn't outlive the context. (It's no
Sergey Ulanov
2016/03/04 21:35:31
So then this code will not work correctly. SslHmac
davidben
2016/03/04 21:45:53
Oh, that's annoying.
Reference-counting is viral
davidben
2016/03/04 21:48:04
Oh, I probably should have elaborated here: you ca
Sergey Ulanov
2016/03/04 22:34:07
We have P2PStreamSocketAdapter that takes ownershi
ryanchung
2016/03/04 23:31:23
Done. I've added server_context_ to P2PStreamSocke
|
cert.get(), *local_key_pair_->private_key(), ssl_config); |
+ |
+ scoped_ptr<net::SSLServerSocket> server_socket = |
+ server_context_->CreateSSLServerSocket( |
+ make_scoped_ptr(new NetStreamSocketAdapter(std::move(socket)))); |
net::SSLServerSocket* raw_server_socket = server_socket.get(); |
socket_ = std::move(server_socket); |
result = raw_server_socket->Handshake( |