Skip to content

Releases: litespeedtech/lsquic

New API calls and bug fixes

03 Feb 16:42
Compare
Choose a tag to compare
  • [API] lsquic_ssl_sess_to_resume_info() is the new way to get session info.
  • [API] Add user pointer to ea_generate_scid callback.
  • [API] Add lsquic_dcid_from_packet() -- a fast function to parse out DCID.
  • [API] Add es_max_batch_size to control outgoing packet batch size.
  • [BUGFIX] Disallow sending of header while promise is being written.
  • [BUGFIX] Flush stream when buffered bytes exhaust stream cap.
  • [BUGFIX] Deactivate HQ frame if writing push promise fails.
  • Perform sanity check on peer transport parameters and fail the handshake if some flow control limits are too low. This can be turned off, see es_check_tp_sanity.
  • http_server: fix how requests are read in "hq" mode.

Bug fixes, QUIC Interop Runner support

27 Jan 16:09
Compare
Choose a tag to compare
  • [BUGFIX] Replace dispatch read/write events assertion with a check.
  • [BUGFIX] gQUIC connection close: there is no HEADERS stream without HTTP flag, see issue #220.
  • http_client, http_server: add hq protocol support and other flags for use with QUIC Interop Runner.
  • Fix: use IP_PMTUDISC_PROBE (not IP_PMTUDISC_DO) on Linux to set Don't-Fragment flag on outgoing packets.
  • Fix send_packets_one_by_one on Windows platform when sending multiple iovs, see issue #218.
  • Exit echo_client on Windows immediately, see issue #219.

Bug fixes: receive history, out-of-order assert, et al

18 Jan 19:09
Compare
Choose a tag to compare
  • [BUGFIX] Assertion in send controller when path validation fails.
  • [BUGFIX] Assertion in BBR when sending out-of-order packets is detected.
  • [BUGFIX] Drop overflow receive history ranges when cloning.
  • Log correct size of the incoming packet.
  • Fix internal stream function.

Add lsquic_conn_get_sni()

13 Jan 13:44
Compare
Choose a tag to compare
  • [API] Add lsquic_conn_get_sni(), fixes issue #203.

Bug fixes: cancel challenges, delay critical stream destruction, et al

08 Jan 16:53
Compare
Choose a tag to compare
  • [BUGFIX] gQUIC: do not destroy critical streams when connection is closed. See issue #201.
  • [BUGFIX] Drop #if LSQUIC_CONN_STATS from lsquic.h. See issue #211.
  • [BUGFIX] Challenge cancellation when path validation fails.
  • [BUGFIX] Do not send FIN if RST is scheduled to be sent on a stream.
  • [BUGFIX] gQUIC's is_tickable() when connection is closing.
  • [BUGFIX] Q050 processing of GOAWAY frames.

Fix memory corruption in receive history copy-ranges

06 Jan 22:57
Compare
Choose a tag to compare
  • [BUGFIX] Memory corruption in receive history copy-ranges function.

API to set batch size; a few small fixes

06 Jan 14:35
Compare
Choose a tag to compare
  • [API] New knob to set outgoing packet batch size.
  • Aborted connection now become tickable immediately.
  • Abort connection when HTTP/3 frame cannot be opened (can only happen when malloc fails).

Fix memory corruption in receive history copy-ranges

06 Jan 22:47
Compare
Choose a tag to compare
  • [BUGFIX] Memory corruption in receive history copy-ranges function.

Drop keylog APIs; improve ALPN debug logging

31 Dec 13:39
Compare
Choose a tag to compare
  • [API] Remove keylog callbacks. See issue #188.
  • Add a bit more ALPN logging.

Several stop-sending bug fixes; new optional callback

23 Dec 15:00
Compare
Choose a tag to compare
  • [BUGFIX] Do not drop incoming data when STOP_SENDING is received.
  • [BUGFIX] Receipt of STOP_SENDING should not cause read-reset.
  • [BUGFIX] Allow stream writes after receiving RESET.
  • [BUGFIX] Typo in stream: ANDing enum with wrong flag.
  • [BUGFIX] Reset elision: do not use zero as special stream ID value, for zero is a valid stream ID in IETF QUIC.
  • [API] Add optional on_conncloseframe_received() callback.
  • Use zero error code in RESET stream sent in response to STOP_SENDING.