Releases: litespeedtech/lsquic
Releases · litespeedtech/lsquic
New API calls and bug fixes
- [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
- [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
- [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()
- [API] Add lsquic_conn_get_sni(), fixes issue #203.
Bug fixes: cancel challenges, delay critical stream destruction, et al
- [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
- [BUGFIX] Memory corruption in receive history copy-ranges function.
API to set batch size; a few small fixes
- [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
- [BUGFIX] Memory corruption in receive history copy-ranges function.
Drop keylog APIs; improve ALPN debug logging
- [API] Remove keylog callbacks. See issue #188.
- Add a bit more ALPN logging.
Several stop-sending bug fixes; new optional callback
- [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.