mesos-reviews mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Joseph Wu <jos...@mesosphere.io>
Subject Re: Review Request 71665: SSL Wrapper: Implemented socket connection and handshake.
Date Mon, 16 Dec 2019 22:04:12 GMT


> On Dec. 12, 2019, 4 p.m., Greg Mann wrote:
> > 3rdparty/libprocess/src/ssl/openssl_socket.cpp
> > Lines 439 (patched)
> > <https://reviews.apache.org/r/71665/diff/6/?file=2183602#file2183602line439>
> >
> >     Why not run these on the per-socket UPID also?

The UPID is added next patch.  And we do replace this line with the `compute_thread` variable...
although the value of `compute_thread == None()`.


> On Dec. 12, 2019, 4 p.m., Greg Mann wrote:
> > 3rdparty/libprocess/src/ssl/openssl_socket.cpp
> > Lines 493-495 (patched)
> > <https://reviews.apache.org/r/71665/diff/6/?file=2183602#file2183602line493>
> >
> >     Do you think we should add a timeout here to handle the case of a socket which
doesn't complete the handshake? Maybe in a follow-up patch?

Added a TODO... and a JIRA: https://issues.apache.org/jira/browse/MESOS-10071


> On Dec. 12, 2019, 4 p.m., Greg Mann wrote:
> > 3rdparty/libprocess/src/ssl/openssl_socket.cpp
> > Lines 549 (patched)
> > <https://reviews.apache.org/r/71665/diff/6/?file=2183602#file2183602line549>
> >
> >     Since you create a UPID for the socket later, why not defer to that context
here as well?

We don't use the `compute_thread` here because
1) `compute_thread` has type `Option<UPID>`, but there is no equivalent override for
`defer`.
2) `compute_thread` will be `None` in this case, since this is a listening socket.


- Joseph


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


On Dec. 16, 2019, 1:58 p.m., Joseph Wu wrote:
> 
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> https://reviews.apache.org/r/71665/
> -----------------------------------------------------------
> 
> (Updated Dec. 16, 2019, 1:58 p.m.)
> 
> 
> Review request for mesos, Benno Evers, Benjamin Mahler, Greg Mann, and Till Toenshoff.
> 
> 
> 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.
> 
> A change to the poll socket was necessary to prevent the SSL
> socket from holding a self-reference indefinitely.
> 
> 
> Diffs
> -----
> 
>   3rdparty/libprocess/include/process/socket.hpp 48860f8646d388685f0a60ad2a2f613b1f4be61a

>   3rdparty/libprocess/src/posix/poll_socket.cpp ecc2bd492c4edd2f6ab0aae52d50bb3954881893

>   3rdparty/libprocess/src/ssl/openssl_socket.hpp PRE-CREATION 
>   3rdparty/libprocess/src/ssl/openssl_socket.cpp PRE-CREATION 
>   3rdparty/libprocess/src/windows/poll_socket.cpp e2a84694ac554b4c23242fd93d93800c0334a943

> 
> 
> Diff: https://reviews.apache.org/r/71665/diff/7/
> 
> 
> 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
> 
>


Mime
  • Unnamed multipart/alternative (inline, None, 0 bytes)
View raw message