Skip to content

Releases: litespeedtech/lsquic

Improve BBR at high BDP

07 Dec 15:48
133998f

Choose a tag to compare

  • [IMPROVEMENT] Improve BBR performance at high BDP by removing a
    hardcoded limit inherited from the original BBR code in Chrome.

New API to throttle send rate; bug fixes

01 Dec 13:17
3a42550

Choose a tag to compare

  • [API] Add per-connection send rate throttling.
  • [BUGFIX] Fix data corruption in delayed mini-conn packets (#593).
  • [BUGFIX] Allow split buffered packet to generate one packet. (This
    can happen when DPLPMTUD increases a path's MTU.) (#505).
  • [BUGFIX] HTTP/3 client GOAWAY frame generation (#343).
  • [TUNING] QUIC Interop: add zerortt support.
  • Improve logs in the Extensible HTTP/3 Priority (HPI) module.
  • Comment cleanup: update QUIC draft references to RFC references.
  • Teach http_client to send "priority" header.
  • Parallelize unit tests so that they finish faster.
  • Include QUIC Interop Runner docker files in the distribution.

Fix MTU probe, no-progress timeout, and others

06 Nov 11:44
8bd478e

Choose a tag to compare

  • [BUGFIX] Fix the no-progress timeout logic (issue #531, PR #574).
    The idle timeout and the "user progress" timeout now use different
    alarms for cleaner code.
  • [BUGFIX] Fix MTU probe packets causing stream write stalls (issue #541,
    PR #576). MTU probes were incorrectly counted as delayed packets,
    preventing streams from becoming writable and causing onwrite callbacks
    to never fire.
  • [BUGFIX] Fix Docker image builds: add missing header includes (PR #558).
  • [BUGFIX] Fix Android NDK build: disable address sanitizer (PR #570).
  • [BUGFIX] Fix shared library path lookup for TLS library (PR #566).
  • [BUGFIX] Remove assert for gQUIC special case (0 data size).
  • [IMPROVEMENT] Add LSQUIC_LIBSSL build option to specify which SSL
    library to use, skipping auto-detection. Use LIBSSL_LIB instead of
    LIBSSL_DIR for searching library files.
  • [IMPROVEMENT] Align usage of EVP_MD_CTX for OpenSSL/BoringSSL
    compatibility (PR #559). Switch from BoringSSL-only EVP_MD_CTX_init/
    cleanup to cross-compatible EVP_MD_CTX_new/free.
  • [IMPROVEMENT] Condition CRYPTO_library_init to BoringSSL only (PR #560).
  • [IMPROVEMENT] Fix Docker build: BoringSSL now requires cmake 3.22
    (PR #575).
  • [IMPROVEMENT] Fix CMakeLists.txt: add missing "D" before
    LSQUIC_WEBTRANSPORT_SERVER_SUPPORT (PR #567).
  • Make new SSL library detection code backward compatible with old
    -DBORINGSSL_xxxx definitions.

Fix memory leak, tweaks for openssl, use inline functions

13 Aug 15:18

Choose a tag to compare

  • Fix a memory leak in packet processing.
  • Refactor macros to inline functions.
  • Refactor build system and some crypto APIs to be compatible with OpenSSL.

WebTransport, amplification fix, server preferred address, connection info API

18 Jun 18:07

Choose a tag to compare

  • Add WebTransport support. (#543)
  • Fix IETF QUIC IP spoofing amplification attack.
  • Improve preferred address migration implementation, pass interop tests.
  • Add lsquic_conn_get_info() API to retrieve information about a connection.

Address hash flood attack, post-quantum support

18 Feb 13:47

Choose a tag to compare

  • Address hash flood attack for lsquic_hash by switching to rapidhash with stronger random seed.
  • Fix packet packing problem for post-quantum support.
  • Add configuration to control version negotiation and amplification factor.

Infinite loop fix, API updates, QUICv2 fix, post-quantum fix

18 Feb 12:33

Choose a tag to compare

  • Update to ls-qpack v2.6.1 to fix a infinite loop.
  • Add lsquic_engine_get_conns_count() API
  • Updated ea_generate_scid() API
  • Fix retry packet SCID generation to follow the engine API.
  • Fix QUICv2 header protection key when a retry packet is involved.

Fix busy loop

25 Sep 15:51

Choose a tag to compare

  • Fix a busy loop due to WANT_WRITE flag for a closed stream.

Fix handshake padding, packet split

11 Sep 04:33

Choose a tag to compare

  • Properly pad handshake packet to minimum 1200 bytes.
  • Fix a corner case in packet split

Fix bpq_count

12 Jun 22:41

Choose a tag to compare

  • Fix bpq_count (issue #504)