lsquic

LiteSpeed QUIC and HTTP/3 Library

MIT License

Stars
1.5K

Bot releases are hidden (Show)

lsquic - Use ls-qpack 0.10.5

Published by litespeedtech almost 5 years ago

  • [OPTIMIZATION, BUGFIX] Use ls-qpack v0.10.5.
lsquic - Non-HTTP/3 client and server examples; bug fixes

Published by litespeedtech about 5 years ago

  • Add echo client and server to the distibution.
  • Add MD5 client and server to the distibution.
  • Fix http_client: check command-line arguments better, prevent crash.
  • Fix IETF conn: can_write_ack() should only care about APP PNS.
  • Client: delay stream creation until handshake succeds.
  • Reset HTTP stream whose write end is closed prematurely.
  • Fix tickable(): mirror behavior of tick() wrt buffered packets.
  • Log reason why engine is tickable.
lsquic - Minor code and logging improvements

Published by litespeedtech about 5 years ago

lsquic - Post-interop bugfix release

Published by litespeedtech about 5 years ago

  • [API] Add lsquic_alpn2ver() to aid parsing Alt-Svc header.
  • [BUGFIX] NULL dereference when H3 frame header would be split.
  • [BUGFIX] Do not close fixed-size H3 frame prematurely.
  • [BUGFIX] Allow PING frames in IETF mini conn.
  • [BUGFIX] Mini conns: don't send any packets after receiving CONNECTION_CLOSE.
  • [BUGFIX] Client migration: reserve slot for DCID from transport params.
  • [BUGFIX] Allow max_early_data_size=0 -- early_data might not be there.
  • [BUGFIX] Use an invalid stream number to reset BPT cache (zero is now a valid stream number).
  • [SPEC] Use FINAL_SIZE_ERROR when FIN mismatch is detected.
  • [OPTIMIZATION] Closed connection only gets one chance to send packets.
  • [OPTIMIZATION] Flush headers stream before packetizing stream data.
  • [OPTIMIZATION] process QPACK encoder STREAM frames immediately.
  • Update ls-qpack to v0.10.1.
lsquic - Mongrel ALPN and bugfix release

Published by litespeedtech about 5 years ago

  • Add GQUIC versions to the list of h3 ALPNs for Alt-Svc header. For example, h3-Q043. Chrome will switch to using this format at some point in the future.
  • [BUGFIX] Send correct value in max_streams_uni transport param
  • [SPEC] Abort IETF QUIC connection if max_early_data_size is not set to 0xFFFFFFFF
lsquic - Bugfix release

Published by litespeedtech about 5 years ago

  • [BUGFIX] H3 framing: fix zero-byte write when space is available
  • [BUGFIX] Don't send STREAM frame when incoming unidirectgional stream is closed
  • [BUGFIX] Cancel all pending writes by stream reset by a GOAWAY
  • [BUGFIX] Fix use-after-free in IETF full conn
  • [OPTIMIZATION] Wait for session tickets for two seconds and then drop SSL object and crypto streams
lsquic - QUIC and HTTP/3 Internet Draft 23 support

Published by litespeedtech about 5 years ago

lsquic - Fix memory leaks, unit tests

Published by litespeedtech about 5 years ago

lsquic - Use BBR congestrion control algorithm

Published by litespeedtech about 5 years ago

  • [FEATURE] BBR congestion control is on by default
  • [BUGFIX] BBR app-limited logic
  • [BUGFIX] Fix uninitialized warnings in IETF
  • [BUGFIX] Update ls-qpack to v0.9.14
  • [CLEANUP] Code cleanup
lsquic - First lsquic (not lsquic-client) release

Published by litespeedtech about 5 years ago

Support Q039, Q043, Q046, and ID-22 version of HTTP/3

lsquic - HPACK compression performance improvement

Published by litespeedtech over 5 years ago

lsquic - Bug fix, HPACK optimization

Published by litespeedtech over 5 years ago

lsquic - [FEATURE] Add support for Q046

Published by litespeedtech over 5 years ago

lsquic - Elide stale ACK frames from packets in buffered queue

Published by litespeedtech over 5 years ago

ACK frames placed in packets in buffered queues (optimization introduced in 1.17.15) can be preceded by an ACK frame generated later. In this case, the older ACK frame should not be sent out, as Chromium-based servers flags decrease in the ACK frame's Largest Observed value as an error.

lsquic - Fix Akamai handshake

Published by litespeedtech over 5 years ago

  • [BUGFIX] Use correct public key from PUBS based on KEXS index.
  • [BUGFIX] Check flags before dispatching writes, avoiding assert.
  • [BUGFIX] Set :scheme to "https" (instead of "HTTP").
lsquic - A couple of zero-RTT bug fixes

Published by litespeedtech over 5 years ago

lsquic - Zero-RTT bugfix release

Published by litespeedtech over 5 years ago

  • [BUGFIX] Begin negotiation with version provided in 0-RTT info.
  • [BUGFIX] Version checking in zero_rtt deserialize function.
lsquic - 0-RTT support; bug fixes; Windows works again

Published by litespeedtech over 5 years ago

  • [FEATURE, API Change] 0-RTT support. Add function to export 0-RTT information; it can be supplied to a subsequent connect() call.
  • [FEATURE] Add -0 flag to http_client to exercise 0-RTT support.
  • [BUGFIX] Resuscitate the Windows build.
  • [BUGFIX] Send HTTP settings (max header list size) if necessary.
  • [BUGFIX] Buffered packets can contain ACK frames.
  • [BUGFIX] Make packet writeable once all STREAM frames are elided.
  • [BUGFIX] Fix potential null dereference when realloc fails.
  • cmake: simplify build configuration.
lsquic - Bug fixes and performance improvements

Published by litespeedtech over 5 years ago

  • [API Change] Can specify clock granularity in engine settings.
  • [BUGFIX] Pacer uses fixed clock granularity. Since the change on 2018-04-09, it is not necessary to try to approximate the next tick time in the pacer: it can use fix clock granularity specified by the user.
  • [BUGFIX] Do not tick constantly before handshake is done.
  • [BUGFIX] Do not exit tick prematurely: reuse packet with ACK. Even if we cannot allocate more packets, we could still be able to write o one already allocated.
  • [BUGFIX] Do not schedule pacer if there are no lost packets.
lsquic - Optimizations for immediate write code paths

Published by litespeedtech over 5 years ago