-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/71665/
-----------------------------------------------------------

(Updated Nov. 5, 2019, 5:55 p.m.)


Review request for mesos, Benno Evers, Benjamin Mahler, Greg Mann, and Till 
Toenshoff.


Changes
-------

* Changed lambdas to hold weak pointers to the socket wrapper.
* Added an accept queue and loop to deal with potential connections that never 
complete handshaking.
* Checked for EOF in the handshake loop.


Bugs: MESOS-10010
    https://issues.apache.org/jira/browse/MESOS-10010


Repository: mesos


Description
-------

This fills in some of the SSL socket implementation,
in particular the constructor, destructor, connect(),
and accept() methods.

Much of the setup and verification is taken verbatim from the
libevent socket implementation.


Diffs (updated)
-----

  3rdparty/libprocess/include/process/socket.hpp 
48860f8646d388685f0a60ad2a2f613b1f4be61a 
  3rdparty/libprocess/src/ssl/socket_wrapper.hpp PRE-CREATION 
  3rdparty/libprocess/src/ssl/socket_wrapper.cpp PRE-CREATION 


Diff: https://reviews.apache.org/r/71665/diff/3/

Changes: https://reviews.apache.org/r/71665/diff/2-3/


Testing
-------

cmake --build . --target libprocess-tests

Successfully connected to Google :D
With something like this:
```
  set_environment_variables({
    {"LIBPROCESS_SSL_ENABLED", "true"},
    {"LIBPROCESS_SSL_KEY_FILE", key_path().string()},
    {"LIBPROCESS_SSL_CERT_FILE", certificate_path().string()}
  });

  Try<Socket> client = Socket::create(SocketImpl::Kind::SSL);
  ASSERT_SOME(client);

  AWAIT_ASSERT_READY(client->connect(
      network::inet::Address(net::IP::parse("216.58.194.206").get(), 443),
      openssl::create_tls_client_config(None())));
```


Thanks,

Joseph Wu

Reply via email to