Skip to content

Releases: litespeedtech/lsquic

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.

Fix migration corner cases and stream unit test

17 Dec 20:14
Compare
Choose a tag to compare
  • [BUGFIX] Migration corner cases: drop or pad over path challenge and response frames when necessary.
  • Fix stream unit test.

Handle packet reordering; add parameter to get_ssl_ctx() callback

09 Dec 15:16
Compare
Choose a tag to compare
  • [OPTIMIZATION] Adjust packet reordering threshold when spurious losses are detected.
  • [API] Pass pointer to local sockaddr to ea_get_ssl_ctx() callback.

Option to delay on_close; new on_reset callback

04 Dec 19:07
Compare
Choose a tag to compare
  • [API, FEATURE] Add es_delay_onclose option to delay on_close until all data is ACKed. Use new function lsquic_stream_has_unacked_data() to learn whether peer acknowledged all data written to stream.
  • [API] Add optional on_reset() stream callback to get notifications when RESET or STOP_SENDING frames are received.
  • [BUGFIX] On STOP_SENDING, make conn tickable is writeable, not readable.

Delayed ACKs; limit receive history

24 Nov 14:49
Compare
Choose a tag to compare
  • [FEATURE] Improve Delayed ACKs extension and turn it on by default.
  • Limit receive history to a finite amount of memory.

Bug fixes: CC, CIDs, memory leak

18 Nov 15:08
Compare
Choose a tag to compare
  • [BUGFIX] Check whether ECN counts are set in ACK struct before using them.
  • [BUGFIX] Calculate TLP timer correctly when only one packet is in flight.
  • [BUGFIX] Min RTO delay is 200 milliseconds, not 1 second.
  • [BUGFIX] Memory leak in QPACK decoder handler: discard hset when necessary.
  • Allow retired and drained CIDs to be reused after a timeout.

Bug fixes

17 Nov 19:02
Compare
Choose a tag to compare
  • [BUGFIX] min RTO delay is 200 ms , not 1 second.
  • [BUGFIX] calculate TLP timer correctly when only one packet is in flight.
  • [BUGFIX] discard CRYPTO frames from lower levels after connection promotion.
  • [BUGFIX] cancel path response if path could not be initialized.
  • [BUGFIX] if push promise fails, do not invoke hset destructor.

Bug fixes: client BBR, memory leak

11 Nov 13:34
Compare
Choose a tag to compare
  • [BUGFIX] Get rough RTT estimate on receipt of Handshake packet. This prevents BBR on the client from miscalculating pacing rate, slowing down sending of ACK packets.
  • [BUGFIX] Packets sent during handshake are app-limited.
  • [BUGFIX] Bandwidth sampler starts in app-limited mode.
  • [BUGFIX] Memory leak: free QPACK handler context in stream dtor.
  • Logging improvements.

Migration and coalescing bug fixes

05 Nov 16:13
Compare
Choose a tag to compare
  • [BUGFIX] Allow peer to migrate when its SCID is zero-length.
  • [BUGFIX] PADDING size calculation: only one Short packet can be coalesced. (This should have been part of the fix in 2.24.1).
  • Abort connect if received NEW_CONNECTION_ID but current DCID is zero-length.
  • Improve log messages

SSL_CTX for client; bug fixes

04 Nov 16:19
Compare
Choose a tag to compare
  • [API] Allow use of ea_get_ssl_ctx() on the client (optional). PR #186.
  • [BUGFIX] Expand datagram with ack-eliciting Initial to 1200 bytes after connection promotion.
  • [BUGFIX] Discard CRYPTO frames from lower encryption levels after connection promotion.
  • [BUGFIX] Cancel path response if path could not be initialized.