Skip to content
Snippets Groups Projects
  1. Sep 08, 2020
    • Dmitri Tikhonov's avatar
      c3c69ba3
    • Dmitri Tikhonov's avatar
      Release 2.19.9 · 2f2f4363
      Dmitri Tikhonov authored
      - [FEATURE] Add lsquic_stream_pwritev().  This function allows one to
        reduce the number of system calls required to read a file from disk
        by using lsquic_stream_pwritev() together with preadv(2).
      - [BUGFIX] When stream is reset, it is writeable -- let user collect
        the error.
      - [BUGFIX] Calculate correct conn flow control if reading ends early.
      - [BUGFIX] Remove stream from read and write queues on internal
        shutdown.  This is a regression introduced in 2.19.7.
      - [BUGFIX] Swapped arguments in IETF RESET_FRAME generation.
      - Turn off mini conn history when compiling with Visual Studio; this
        allows the project to compile on Windows again.
      - http_client: Add -3 flag to stop reading from streams early; code
        cleanup.
      - Don't use -Werror.
      2f2f4363
  2. Sep 02, 2020
    • Dmitri Tikhonov's avatar
      Release 2.19.8 · 49f1f4f6
      Dmitri Tikhonov authored
      - [FEATURE] Update the timestamp extension to latest version.
      - [FEATURE] Cope with appearance of ECN blackholes.
      - [OPTIMIZATION] return packno offset and size when header is generated.
      - [BUGFIX] ignore old ACK frames in mini conns.
      - [BUGFIX] Mark initial server path as initialized.
      - [BUGFIX] Do not merge ACK if ECN counts do not match.
      - Turn incoming packet number history in mini conn back on.
      - Record mini conn event history again when compiled in debug mode.
      - IETF mini conn: log when ACK is queued.
      - Clean up and refactor code in several places.
      49f1f4f6
  3. Aug 26, 2020
    • Dmitri Tikhonov's avatar
      Release 2.19.7 · 03fef29b
      Dmitri Tikhonov authored
      - Handle ECT-CE event: issue a loss event.
      - Log the fact that we ignore SETTINGS_MAX_HEADER_LIST_SIZE.
      - Use Max Push ID in GOAWAY frame to cancel promises.
      - Add support for HTTP/3 CANCEL_PUSH frame.
      - lsquic_stream_is_pushed: streams without headers are never pushed.
      - [BUGFIX] Regression in lsquic_stream_shutdown_internal: now it shuts down.
      - Improve logic whether to generate CONNECTION_CLOSE.
      03fef29b
  4. Aug 20, 2020
    • Dmitri Tikhonov's avatar
      Release 2.19.6 · 93e1e886
      Dmitri Tikhonov authored
      - Don't process incoming ECN marks if ECN is not enabled.
      - Schedule ACK when incoming packet is marked with CE.
      93e1e886
  5. Aug 11, 2020
    • Dmitri Tikhonov's avatar
      Release 2.19.5 · 5488f41e
      Dmitri Tikhonov authored
      - [BUGFIX] Generate frame record when moving an ACK from one buffered
        packet to another.
      5488f41e
  6. Aug 06, 2020
    • Dmitri Tikhonov's avatar
      Release 2.19.4 · 3a537672
      Dmitri Tikhonov authored
      - [BUGFIX] Do not return an oversize MTU probe to connection twice.
      - [FEATURE] Delayed Acks updated to latest draft.  Still experimental.
      - Minor code cleanup in IETF full connection.
      3a537672
  7. Aug 04, 2020
  8. Jul 30, 2020
    • Dmitri Tikhonov's avatar
      Release 2.19.2 · 244e8c6f
      Dmitri Tikhonov authored
      - [BUGFIX] Do not reduce PLPMTU size by network overhead.
      - [BUGFIX] Windows build.
      244e8c6f
  9. Jul 29, 2020
  10. Jul 22, 2020
    • Dmitri Tikhonov's avatar
      Release 2.18.2 · b329a00e
      Dmitri Tikhonov authored
      - [BUGFIX] Send prediction: lone path challenges do not get squeezed out
      - Fix crash in http_client: now -K and -B can be used simultaneously
      b329a00e
  11. Jul 14, 2020
    • Dmitri Tikhonov's avatar
      Release 2.18.1 · 692a9102
      Dmitri Tikhonov authored
      - [FEATURE] Implement the "QUIC bit grease" extension.
      - [BUGFIX] Selecting CID used for logging on client.
      - [BUGFIX] Header protection assertion.
      - [BUGFIX] Server: enable SSL key logging when cert lookup callback
        is not set.
      - Remove some dead code.
      692a9102
  12. Jul 06, 2020
    • Dmitri Tikhonov's avatar
      Release 2.18.0 · 7483dee0
      Dmitri Tikhonov authored
      - [API] Rename "0-RTT" to "session resumption." In IETF QUIC, "0-RTT"
        always refers to early data, meaning a request that the server can
        reply to in the very first return flight.  A more appropriate name
        for what we support on the client site is "session resumption," which
        is standard TLS terminology.  Later, when we add support for 0-RTT
        (early data), we can use the 0-RTT terminology again, this time in
        proper context.
      - [BUGFIX] Do not set certificate callback if ea_lookup_cert is NULL.
      - [BUGFIX] Make connection tickable when it's marked as closed.
      - [BUGFIX] Fail certificate lookup if SNI is not present in HTTP mode.
      - Several documentation fixes and improvements.
      - Minor code cleanup.
      7483dee0
  13. Jun 24, 2020
    • Dmitri Tikhonov's avatar
      Release 2.17.2 · da99665b
      Dmitri Tikhonov authored
      - [BUGFIX] Infinite loop in stream: advance read offset when discarding data.
      - [OPTIMIZATION] Header protection: only initialize cipher once.
      - [OPTIMIZATION] Batch header protection application.
      da99665b
  14. Jun 18, 2020
    • Dmitri Tikhonov's avatar
      e957eb06
    • Dmitri Tikhonov's avatar
      Release 2.17.0 · 4051ae3a
      Dmitri Tikhonov authored
      - [FEATURE] QUIC and HTTP/3 Internet Draft 29 support.
      - [BUGFIX] Check that scheduled packets are also sendable when
        calculating a connection's "tickable" property.
      - [BUGFIX] Don't count scheduled packets as in-flight when pacer is
        checked on tick.
      - gQUIC: delay calling on_new for pushed stream until headers are
        available.
      - Allow nested calls to lsquic_engine_connect().
      4051ae3a
  15. Jun 15, 2020
    • Dmitri Tikhonov's avatar
      Release 2.16.3 · 307ca7fe
      Dmitri Tikhonov authored
      - [OPTIMIZATION] Stash up to two reordered packets in IETF mini conn
        instead of dropping them.
      - [BUGFIX] Crash: check decrypt context before using it.  This regression
        was introduced in 2.16.2.
      307ca7fe
  16. Jun 12, 2020
    • Dmitri Tikhonov's avatar
      Release 2.16.2 · f913a297
      Dmitri Tikhonov authored
      - [BUGFIX] ID-28: do not use TLS middlebox compatibility mode in
        ClientHello.  This change requires using a newer version of BoringSSL.
      - [BUGFIX] Free connections in Advisory Tick Time Queue in engine dtor.
      - [BUGFIX] IETF QUIC client: narrow migration check to a single path.
      - [BUGFIX] NULL dereference: set function pointers for alarm for path
        challenges 2 and 3.
      - [BUGFIX] HTTP/3 headers may be followed immediately by trailers.
      - [BUGFIX] Log messages when SCID changes.
      f913a297
  17. Jun 09, 2020
    • Dmitri Tikhonov's avatar
      Release 2.16.1 · 8ae5ecb4
      Dmitri Tikhonov authored
      - [FEATURE] Use "no-progress timeout" after which connection is closed.
      - [BUGFIX] Select new SCID when current SCID is retired.
      - [BUGFIX] Don't warn about dropped Initial packet sequence gaps during
        mini/full handoff.
      - [BUGFIX] Send correct conn error when HTTP/3 frame is truncated.
      - [BUGFIX] Mini conn: consider amplification when deciding to return
        TICK_SEND.
      - [BUGFIX] Don't double-count tag length in amplification logic.
      - [BUGFIX] Don't squeeze out lone path challenges.
      - [BUGFIX] Log messages dealing with scheduled packet queue squeezing.
      - [BUGFIX] don't wipe current path if no path challenge responses
        come back.
      - [BUGFIX] When path is reset, don't lose path_id which is used for
        logging.
      - Downgrade flow control violations to info log level from warnings.
      - Fix connection cap extra check, avoid checks in nested calls.
      - Fix some unit tests when extra checks are enabled.
      - Use ls-hpack 2.2.1.
      - Turn off unconditional extra checks for IETF clients.
      - Extra checks: don't ver...
      8ae5ecb4
  18. Jun 03, 2020
  19. May 27, 2020
    • Dmitri Tikhonov's avatar
      Release 2.15.0 · fb73393f
      Dmitri Tikhonov authored
      - [FEATURE] QUIC and HTTP/3 Internet Draft 28 support.
      - [BUGFIX] Ignore Retry packets after other packets are decrypted
        successfully.
      - [BUGFIX] Transport parameter decoding: CID no longer has 4-byte
        length minimum.
      - http_client: fix and optimize lsxpack_header allocator.
      - Drop support for Internet Draft 25.
      fb73393f
  20. May 19, 2020
  21. May 12, 2020
    • Dmitri Tikhonov's avatar
      Release 2.14.7 · b78e44ee
      Dmitri Tikhonov authored
      - [BUGFIX] ALPN-to-version mapping: do not skip h3-Q050.
      - [BUGFIX] Frame reader: skip headers if target stream is closed.
      b78e44ee
  22. May 06, 2020
    • Dmitri Tikhonov's avatar
      Release 2.14.6 · b55a5117
      Dmitri Tikhonov authored
      - [BUGFIX] Fix amplification mitigation in 0-RTT case.
      - [BUGFIX] IETF mini connection should not tickable if cannot send
        a packet due to amplification.
      - [BUGFIX] Fail if active_connection_id_limit TP is smaller than 2.
      - [BUGFIX] Qlog server certificates for IETF QUIC connections.
      - [BUGFIX] Uninitialized struct padding usage in tokgen (benign).
      - [BUGFIX] Incorrect argument to shi_lookup() (benign).
      b55a5117
  23. Apr 29, 2020
    • Dmitri Tikhonov's avatar
      Release 2.14.5 · 72585dc9
      Dmitri Tikhonov authored
      - [BUGFIX] In coalesced datagram, ignore packets whose CID does not match.
      - [BUGFIX] Frame reader: skip headers if target stream is not found.
      - [BUGFIX] Log message in QPACK decoder handler.
      72585dc9
  24. Apr 24, 2020
    • Dmitri Tikhonov's avatar
      Release 2.14.4 · 1c105cf2
      Dmitri Tikhonov authored
      - [BUGFIX] Heed es_rw_once for pushed HTTP/3 streams.
      - [BUGFIX] IETF client: set correct flags on bidirectional streams.
      - [BUGFIX] Generate Cancel Stream QPACK instructions for abandoned
        streams.
      - [BUGFIX] Do not call header callbacks after stream is closed.
      - Use ls-qpack 2.1.1
      1c105cf2
  25. Apr 15, 2020
    • Dmitri Tikhonov's avatar
      Release 2.14.3 · 08c45823
      Dmitri Tikhonov authored
      - [BUGFIX] gQUIC: pass correct stream to hsi_create_header_set() callback.
      - [BUGFIX] Use ls-hpack 2.1.1
      - Improve stream code readability.
      - Use ls-qpack 2.0.5
      08c45823
  26. Apr 08, 2020
    • Dmitri Tikhonov's avatar
      Release 2.14.2 · 7ae4a10d
      Dmitri Tikhonov authored
      - [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.
      7ae4a10d
  27. Apr 07, 2020
    • Dmitri Tikhonov's avatar
      Release 2.14.1 · 77a28812
      Dmitri Tikhonov authored
      - [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.
      77a28812
  28. Mar 30, 2020
    • Dmitri Tikhonov's avatar
      Release 2.14.0 · 55613f44
      Dmitri Tikhonov authored
      - [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.
      55613f44
  29. Mar 23, 2020
  30. Mar 13, 2020
  31. Mar 12, 2020
    • Dmitri Tikhonov's avatar
    • Dmitri Tikhonov's avatar
      Release 2.13.0 · a5fa05f9
      Dmitri Tikhonov authored
      - [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_".
      a5fa05f9
  32. Mar 02, 2020
    • Dmitri Tikhonov's avatar
      Release 2.12.0 · afe3d363
      Dmitri Tikhonov authored
      - [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.
      afe3d363
  33. Feb 24, 2020
  34. Feb 14, 2020
    • Dmitri Tikhonov's avatar
      Release 2.10.6 · aa820211
      Dmitri Tikhonov authored
      - [BUGFIX] HTTP/3 framing: don't misinterpret rare occurence as error.
      - [BUGFIX] Send gap warning due to missing poisoned packet.
      aa820211
  35. Feb 13, 2020
    • Dmitri Tikhonov's avatar
      Release 2.10.5 · 1bdb91d1
      Dmitri Tikhonov authored
      - [BUGFIX] BBR: call cci_sent() with correct arguments and at correct time.
      - Refactor transport parameters module.
      - Minor code cleanup.
      1bdb91d1