Skip to content

Releases: mirage/ocaml-conduit

Support ocaml-tls in mirage, rework the mirage API

11 Jun 14:24
Compare
Choose a tag to compare
  • Full support for ocaml-tls.0.5.0
  • Breaking API change for mirage-conduit. Now all the flows are dynamic,
    the functors are becoming first-class values so no big functor to build
    first.

Set TCP_NODELAY on unix domain sockets

03 Jun 08:22
Compare
Choose a tag to compare
Pre-release
  • Partial support for ocaml-tls.0.5.0
  • setsockopt TCP_NODELAY fails on a Unix domain socket (#63 by @djs55)

Make Mirage_TLS an optional dependency

18 Apr 10:45
Compare
Choose a tag to compare

Make TLS optional in Conduit_mirage, and disable it by default so that it is a developer-only option until it is properly released. It can be enabled by setting the HAVE_MIRAGE_LWT env variable.

Plug Unix resource leaks and support latest Async_ssl

17 Apr 17:13
Compare
Choose a tag to compare
  • Support Async_SSL version 112.24.00 and higher.
  • Add a TLS echo server in tests/async/
  • [lwt] Do not leak socket fd when a connect or handshake
    operation fails (#56 via Edwin Torok).
  • [async] Do not leak pipes in SSL handling (#54 from Trevor Smith).

TLS compatibility

24 Mar 20:10
Compare
Choose a tag to compare
  • Add TLS client support for Mirage (#50)
  • Do not overwrite the default name resolver for Mirage (#49)
  • Add TLS support using the pure OCaml TLS stack (#46).
  • Replace the Mirage Make_flow functor with Dynamic_flow that is
    easier to extend with more flow types.

Add error message display function

27 Jan 00:08
Compare
Choose a tag to compare
  • Add an error_message function to simplify error display (#38).
  • Improvements to documentation (#37).

Reduce debug logging by default

05 Dec 13:49
Compare
Choose a tag to compare
  • Do not emit debug output when the CONDUIT_DEBUG variable is not set.
  • Do not create symlinks in a local build, which helps with OPAM pins.
  • Improve ocamldoc for Conduit_lwt_unix.

Add native OCaml-TLS support

04 Dec 18:07
Compare
Choose a tag to compare
  • Add Lwt-unix support for the native OCaml/TLS stack as an alternative
    to OpenSSL. This can be activated by setting the CONDUIT_TLS environment
    variable to native. If this is not set and OpenSSL is available, then
    OpenSSL is used by in preference to the pure OCaml implementation.
  • Add sexp convertors for Conduit_lwt_unix.ctx and Conduit_mirage.ctx
    and the Resolver service types.
  • Fix the Mirage tests to the Mirage 2.0.1+ Conduit interfaces.
  • Add more debugging output when the CONDUIT_DEBUG variable is set on Unix.
  • Interface breaking: The client and server types in Conduit_lwt_unix
    now explicitly label the fields of the tuples with a polymorphic variant.
    This allows them to remain independent of this library but still be
    more self-descriptive (i.e. Port of int instead of just int).

Improve connection closing semantics

07 Nov 16:53
Compare
Choose a tag to compare

When terminating conduits, always close the output channel first before the input channel, so that any pending data in the underlying fd is flushed.

Significant interface improvements for Lwt, Async and Mirage

02 Nov 23:21
Compare
Choose a tag to compare
  • Add an explicit ctx content to track every conduit's runtime state.
  • Allow the source interface for a conduit to be set.
  • Support a password callback for the SSL layer (#4).
  • [lwt] Add stop parameters in main-loop of the server (#5).
  • Add Conduit_mirage with Mirage functor suport.
  • Add ocamldoc of most interfaces.
  • Add a CONDUIT_DEBUG environment variable to the Unix backends for
    live debugging.
  • Add a conn value to the callback to query more information about the
    current connection (#2).
  • Expose the representation of Conduit_lwt_unix.flow in the external signature.
    This lets library users obtain the original Lwt_unix.file_descr when using
    Conduit libraries like Cohttp.