lsquic

LiteSpeed QUIC and HTTP/3 Library

MIT License

Stars
1.5K

Bot releases are hidden (Show)

lsquic - Bugfix release: use ls-qpack 2.0.4, finish max packet size

Published by litespeedtech over 4 years ago

  • [BUGFIX] Use ls-qpack 2.0.4
  • [BUGFIX] Honor max packet size on the client and when path changes.
  • http_server: fix prepare_decode() function.
lsquic - Bugfix release: re-enable send, maximum packet size

Published by litespeedtech over 4 years ago

  • [BUGFIX] Place connections on tickable queue when sending is reenabled.
  • [BUGFIX] A connection is tickable if it has unsent packets.
  • [BUGFIX] Heed peer's max_packet_size transport parameter.
lsquic - Use lsxpack_header structure to send HTTP headers

Published by litespeedtech over 4 years ago

  • [API] Use lsxpack_header structure to send HTTP headers.
  • [OPTIMIZATION] nocopy's readable_bytes() function.
  • http_server: fix typo in error message
  • Use ls-hpack 2.1.0.
  • Use ls-qpack 2.0.0.
lsquic - Fix ACK ping-pong

Published by litespeedtech over 4 years ago

  • [BUGFIX] ACK ping-pong: TIMESTAMP frame is not to be acked.
lsquic - Fix ACK ping-pong

Published by litespeedtech over 4 years ago

  • [BUGFIX] ACK ping-pong: TIMESTAMP frame is not to be acked.
lsquic - Fix the new lsxpack header API

Published by litespeedtech over 4 years ago

lsquic - Fix a couple of minor bugs

Published by litespeedtech over 4 years ago

lsquic - API: use lsxpack_header; bug fixes

Published by litespeedtech over 4 years ago

  • [API] Use lsxpack_header structure to process incoming headers.
  • [BUGFIX] Fix assertion when zero-padding Initial packet.
  • [BUGFIX] Use idle timeout before we learn of peer's value.
  • Use ls-hpack 2.0.0 -- has lsxpack_header changes.
  • Use ls-qpack 0.14.0 -- new, common with ls-hpack, XXH seed (not used yet).
  • Code cleanup: prefix exported functions with "lsquic_".
lsquic - Timestamps extension

Published by litespeedtech over 4 years ago

  • [FEATURE] QUIC timestamps extension.
  • [API] New: ea_alpn that is used when not in HTTP mode.
  • [BUGFIX] SNI is mandatory only for HTTP/3 and gQUIC.
  • [BUGFIX] Benign double-free -- issue #110.
  • [BUGFIX] Printing of transport parameters.
lsquic - Support Internet Draft 27

Published by litespeedtech over 4 years ago

  • [FEATURE] QUIC and HTTP/3 Internet Draft 27 support.
  • [FEATURE] Add experimental delayed ACKs extension.
  • Drop support for Internet Draft 24.
  • Code cleanup.
lsquic - Bugfix release

Published by litespeedtech over 4 years ago

  • [BUGFIX] HTTP/3 framing: don't misinterpret rare occurence as error.
  • [BUGFIX] Send gap warning due to missing poisoned packet.
  • Stream unit test for scenario in issue #106.
lsquic - BBR bug fix; refactor transport parameters

Published by litespeedtech over 4 years ago

  • [BUGFIX] BBR: call cci_sent() with correct arguments and at correct time (see issue #103).
  • Refactor transport parameters module.
  • Minor code cleanup.
lsquic - Post-Interop bugfix release

Published by litespeedtech over 4 years ago

  • [BUGFIX] Send HANDSHAKE_DONE only after Finished is received.
  • [BUGFIX] Don't treat garbage UDP padding as library error; ignore it instead.
  • [BUGFIX] Fix compilation on FreeBSD (missing header).
  • Code cleanup: remove unnecessary #includes.
lsquic - Bugfix release: Interop feedback

Published by litespeedtech over 4 years ago

  • [BUGFIX] Cancel path responses and challenges on old path when switching to new path.
  • [BUGFIX] Do not delay ACKs for Initial and Handshake packets.
  • [BUGFIX] Send PATH_CHALLENGE if path changed before mini conn promotion.
  • Logging improvements.
  • http_client: discard data faster.
lsquic - Fix coalescing; spin bit enhancements

Published by litespeedtech over 4 years ago

  • [BUGFIX] Coalesced packets could get longer than normal packet size.
  • Add spin bit configuration option es_spin (-o spin=[01]).
  • Disable spin bit in 1/16 of connections.
  • Improve logging a bit.
lsquic - Support Internet Draft 25

Published by litespeedtech over 4 years ago

  • [FEATURE] QUIC and HTTP/3 Internet Draft 25 support.
  • [API] Drop support for ID-23.
  • [BUGFIX] Set key phase bit on outgoing packets correctly.
  • Code cleanup.
lsquic - Drop Q039; improvements and code cleanup

Published by litespeedtech over 4 years ago

  • [API] Drop support for Q039.
  • Improve ACK-queuing logic. Send an ACK once in a while if peer keeps on sending non-ack-eliciting packets.
  • Improve Alt-Svc string: Q050 and later are not included in the old-style "quic" string.
  • Send stateless resets if connection could not be promoted.
  • Schedule MAX_DATA if needed when DATA_BLOCKED is received.
  • Use ls-qpack 0.11.2 -- needed for server push optimization.
  • Code cleanup: handle some error cases, improve logging.
lsquic - Use ls-qpack 0.11.1

Published by litespeedtech almost 5 years ago

  • [BUGFIX] Use ls-qpack 0.11.1
  • [OPTIMIZATION] Generate random bytes in batches.
  • Change loss_bits transport parameter ID to 0x1057 following latest draft.
  • Randomize period with which PINGs are sent to elicit ACKs.
  • Some refactoring and code cleanup.
lsquic - Bugfix; optimization; code cleanup

Published by litespeedtech almost 5 years ago

  • [BUGFIX] Invalid read when parsing IETF transport parameters (this was benign).
  • [OPTIMIZATION] Frame bundling when using buffered packets in IETF QUIC: a) flush QPACK decoder stream and b) include ACKs in opportunistic fashion.
  • Fix HTTP/3 framing unit test.
  • Code cleanup.
lsquic - Bugfix; loss bits update; code cleanup

Published by litespeedtech almost 5 years ago

  • [BUGFIX] Initial packet size check for IETF mini conn applies to UDP payload, not QUIC packet.
  • Support old and new school loss_bits transport parameter.
  • Use Q run length of 64 as suggested in the loss bits Draft.
  • Undo square wave count when packet is delayed.
  • Code cleanup; minor fixes.