-
Notifications
You must be signed in to change notification settings - Fork 74
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
TLS tunnel over Lwt_io.channel #428
Conversation
What state is this in? Is there anyone interested in conduit reviewing feature PRs? I still don't understand conduits purpose, and only do maintenance (mainly because I want to release mirage) ;) |
I've rebased and removed the draft status, since the tls dependency has since been released :) |
I went with exposing the TLS tunneling over an existing |
Co-authored-by: Antonin Décimo <[email protected]>
LGTM |
CHANGES: * Support TLS tunnel over Lwt_io.channel (mirage/ocaml-conduit#428, @art-w)
I'm marking this PR as a draft, because it exposes the functionalities of TLS-over-TLS added by this PR mirleft/ocaml-tls#499 which hasn't yet been reviewed... but I have some questions on how to best present this feature in Conduit :)
For context, @MisterDA has a working implementation of
cohttp-lwt-unix
client requests with http/https proxying, which relies onconduit-lwt-unix
for TLS and on this PR for the "https over http(s)", which happens because https proxies provide a safe tunnel for the client to negotiate the TLS connection with the server. For this to work though, we need to able to reuse an existing connection instead of having Conduit create a new socket. The mirleft/ocaml-tls#499 PR has more details on how this works, but I've also added an example in Conduit to test the flow if you are curious.