Skip to content

Releases: tmccombs/tls-listener

v0.10.0

15 Mar 06:29
Compare
Choose a tag to compare

Security Advisory

Versions prior to this using the default configuration are vulnerable to a Slowloris attack.

This version mitigates the vulnerability.

Previous versions can mitigate the vulnerability by increasing the value passed to Builder::max_handshakes to a large
number (such as usize::MAX). Decreasing the handshake_timeout can also help, although it is still strongly recommended
to increase the max_handshakes more than the current default.

Changes

  • [breaking] Change poll_accept not to have a limit on the number of pending handshakes in the queue,
    so that connections that are not making progress towards completing the handshake will not block other
    connections from being accepted. This replaces Builder::max_handshakes with Builder::accept_batch_size.

v0.9.0

05 Dec 07:16
Compare
Choose a tag to compare

I apologize for yet another breaking release

This corresponds with the release of hyper 1.0, where it no longer makes sens to have direct support from this library.

Since I needed a breaking change anyway, I took the opportunity to make the API a little cleaner.

[0.9.0] - 2023-12-05

Features

  • [breaking] Remove until & remove option from accept
    • BREAKING CHANGE: remove until from AsyncAccept trait. Use
      StreamExt.take_until on the TlsListener instead.
    • BREAKING CHANGE: accept fn on AsyncAccept trait no longer returns an
      Option
    • BREAKING CHANGE: accept fn on TlsListener no longer returns an Option

Upgrade

  • [breaking] Update to hyper 1.0
    • BREAKING CHANGE: Removed hyper-h1 and hyper-h2 features

0.6.0

30 Dec 09:27
Compare
Choose a tag to compare

Added

  • Added additional tests and examples
  • Re-export tls engine crates as public modules.

Changed

  • Increased default handshake timeout to 10 seconds (technically a breaking change)

0.5.1

22 Mar 05:41
Compare
Choose a tag to compare

Added

Fixed

  • Fixed compilation on non-unix environments, where tokio-net doesn't include unix sockets
  • SpawningHandshakes will abort the tasks for pending connections when the linked futures are dropped. This should allow timeouts to cause the connectionto be closed.

0.5.0

20 Mar 07:48
49a011c
Compare
Choose a tag to compare

Added

  • Added [AsyncAccept::until] method, that creates a new AsyncAccept that will stop accepting connections after another future finishes.
  • Added hyper submodule to add additional support for hyper. Specifically, a newtype for the hyper Accept trait for AsyncAccept.
  • Added SpawningHandshakes struct behind the rt feature flag. This allows you to perform multiple handshakes in parallel with a multi-threaded runtime.

Changed

  • Backwards incompatible: AsyncAccept::poll_accept now returns, Poll<Option<Result<...>>> instead of Poll<Result<...>>. This allows the incoming stream of connections to stop, for example, if a graceful shutdown has been initiated. impls provided by this crate have been updated, but custom implementations of AsyncAccept, or direct usage of the trait may break.
  • Removed unnecessary type bounds (see #14). Potentially a breaking change, although I'd be suprised if any real code was affected.

0.4.3

20 Mar 07:47
Compare
Choose a tag to compare
  • Added TlsListener::replace_accept_pin() function to allow replacing the listener certificate at runtime, when the listener is pinned.

v0.4.2

13 Mar 08:01
Compare
Choose a tag to compare

Added [TlsListener::replace_acceptor()] function to allow replacing the listener certificate at runtime.

v0.4.1

09 Mar 07:00
Compare
Choose a tag to compare
Bump version to 0.4.1

0.3.0

19 Jan 07:57
Compare
Choose a tag to compare

This release primarily updates tokio-rustls to 0.23. Which slightly changes how to create the serverconfig.

0.2.0

02 Jan 06:31
Compare
Choose a tag to compare

This is basically a complete rewrite.

Things that changed:

  • Now uses rustls instead of native-tls
  • Supports tokio 1.0
  • Supports hyper 0.14
  • Added feature flags for hyper support