Commit graph

47 commits

Author SHA1 Message Date
LiteSpeed Tech
96214405b1
Update badge image to use travis-ci.com 2020-12-17 09:29:39 -05:00
Dmitri Tikhonov
4429f8ea1e Release 2.24.0
- [FEATURE] QUIC and HTTP/3 Internet Draft 31 support.  Drop ID-30
  and ID-31 support.
- [BUGFIX] Divide-by-zero in newly enabled conn stats code when no
  packets were sent.
- [BUGFIX] Memory leak in gQUIC client when server hello cannot be
  parsed.
- [BUGFIX] Server Initial packet size calculation.
- Log user-agent and CONN_CLOSE reason when peer reports error.
- Example programs: Specify ALPN for echo and md5 clients and servers
  (issue #184).
- Example programs: Don't add "QUIC_" prefix to lines in keylog file
  (issue #185).
- http_server: Fix fd leak in preadv mode; fix preadv() usage when
  reading from disk.
2020-10-28 08:10:17 -04:00
Dmitri Tikhonov
758aff32b9 Release 2.23.2
- Add QPACK stats collection and experimentation mode, see the new
  es_qpack_experiment setting.
- Log busy connection stats every second using the new "conn-stats"
  log module.
- Log about skipping only once.
- Update HTTP/3 greased frame type formula.
- Use ls-qpack v2.2.1.
2020-10-21 09:05:26 -04:00
Dmitri Tikhonov
e55a45021d Fix BoringSSL version in README.md 2020-10-07 09:45:03 -04:00
Dmitri Tikhonov
fbc6cc0413 Release 2.22.0
- [FEATURE] Extensible HTTP Priorities (HTTP/3 only).
- [FEATURE] Add conn context to packet-out memory interface (PR #175).
- [BUGFIX] gQUIC proof generation: allocate buffer big enough for
  signature (issue #173).
- [BUGFIX] Make library thread-safe: drop use of global variables
  (issue #133, issue #167).
- [BUGFIX] Deactivate only *recent* HQ frame, not any HQ frame.
- [BUGFIX] gQUIC server: associate compressed cert with SSL_CTX,
  instead of keeping them in a separate hash, potentially leading
  to mismatches.
- [BUGFIX] Stream data discard infinite loop: break on FIN.
- cmake: add install target via -DCMAKE_INSTALL_PREFIX (PR #171).
- Support randomized packet number to begin a connection.
- Mini and full IETF connection size optimization.
- http_client: specify HTTP priorities based on stream conditions.
2020-10-07 09:41:26 -04:00
Dmitri Tikhonov
cb1e8c1022 Update BoringSSL version to b117a3a0b7bd11fe6ebd503ec6b45d6b910b41a1 2020-10-05 10:41:36 -04:00
Dmitri Tikhonov
b62ec17fd2 Release 2.21.0
- [FEATURE] QUIC and HTTP/3 Internet Draft 31 support.
- [API] Let user generate Souce Connection IDs.
- [FEATURE] Allow building lsquic as shared library.
- [OPTIMIZATION] Receive history: use a single contiguous memory
  block for everything.
- Deprecate QUIC versions ID-27 and ID-30.
2020-09-29 08:56:43 -04:00
Dmitri Tikhonov
2e1429b465 Look for .so BoringSSL libs if LSQUIC_SHARED_LIB option is on 2020-09-28 11:58:02 -04:00
Aaron France
038a944155
allow for making a shared library (Ref: #137) (#152) 2020-09-28 11:56:05 -04:00
Dmitri Tikhonov
b1a7c3f944 Release 2.20.0
- [FEATURE] QUIC and HTTP/3 Internet Draft 30 support.
- [FEATURE] Unreliable Datagram Extension support.
- [FEATURE] Adaptive congestion controller.
- [BUGFIX] Do not send MAX_STREAM_DATA frames on crypto streams.
- [BUGFIX] Fail with CRYPTO_BUFFER_EXCEEDED when too much CRYPTO
  data comes in.
- [BUFFIX] Spin bit is now strictly per path; value is reset on
  DCID change.
- [BUGFIX] Check that max value of max_streams_uni and
  max_streams_bidi TPs is 2^60.
- [BUGFIX] Close IETF mini conn immediately if crypto session
  cannot be initialized.
- Deprecate ID-28 (no browser uses it): it's no longer in the
  default versions list.
- New programs duck_server and duck_client that implement the
  experimental siduck-00 protocol.  They quack!
- IETF crypto streams: don't limit ourselves from sending.
- Command-line programs: turn off QL loss bits if -G is used, as
  Wireshark cannot decrypt QUIC packets when this extension is used.
- Turn all h3 framing unit tests back on.
- Fix malo initialization when compiled in no-pool mode.
2020-09-15 16:42:13 -04:00
Dmitri Tikhonov
7483dee074 Release 2.18.0
- [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.
2020-07-06 17:35:21 -04:00
Dmitri Tikhonov
f913a2972b Release 2.16.2
- [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.
2020-06-12 08:04:42 -04:00
Dmitri Tikhonov
f50b91483b Update AppVeyor badge (now lsquic, not lsquic-client) 2020-06-03 08:15:16 -04:00
Dmitri Tikhonov
fb3e20e0bc Fix Windows support 2020-06-03 00:20:46 -04:00
Dmitri Tikhonov
08927b281c Update list of supported versions in README.md 2020-05-27 10:35:58 -04:00
Dmitri Tikhonov
9a690580c9 Rename test/unittests to tests/ and test/ to bin/ 2020-05-17 12:42:32 -04:00
Dmitri Tikhonov
7b08963c02 Use later version of BoringSSL 2020-04-01 14:41:35 -04:00
Dmitri Tikhonov
a5fa05f958 Release 2.13.0
- [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_".
2020-03-12 09:02:56 -04:00
Joshua Reynolds
740e26dce6
Link to external docs & update year 2020-03-02 19:51:40 -06:00
Dmitri Tikhonov
bc520ef752 Release 2.11.0
- [FEATURE] QUIC and HTTP/3 Internet Draft 27 support.
- [FEATURE] Add experimental delayed ACKs extension.
- Drop support for Internet Draft 24.
- Code cleanup.
2020-02-24 12:02:57 -05:00
Dmitri Tikhonov
9fc120419d Release 2.10.0
- [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.
2020-01-28 09:35:09 -05:00
Dmitri Tikhonov
fb96f4dd43 Release 2.9.0
- [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.
2020-01-20 09:41:37 -05:00
Dmitri Tikhonov
7a8b2ece3a Release 2.8.0
- [FEATURE] Add support for Q050.
- [OPTIMIZATION] Reduce mallocs in gQUIC handshake.
- [BUGFIX] Disable redo of failed STREAM frame insertion with debug
  logging.
2019-12-23 16:14:20 -05:00
Dmitri Tikhonov
767cf6112c Release 2.6.2
- [BUGFIX] SCID!=ODCID rule applies to Retry packets, not regular
  packets.
- [BUGFIX] Zero-RTT: BoringSSL no longer flips read/write secrets.
- [BUGFIX] Truncate ACK frame rather instead of aborting IETF
  connection.
- [BUGFIX] Client: don't send duplicate reset tokens.
- [BUGFIX] Remove invalid assertion in H3 framing code.
- Silence a warning in send ctl by restructuring switch() statement.
2019-11-11 14:05:54 -05:00
Dmitri Tikhonov
4947ba950d Release 2.4.5
- [OPTIMIZATION]: flush encoder stream only when necessary.
- [BUGFIX] Use ls-qpack v0.10.2 for new API -- and for a bug fix.
- [BUGFIX] Typo in IETF conn SETTINGS writer.
- Use latest BoringSSL.
2019-10-08 15:54:01 -04:00
Dmitri Tikhonov
f87fb49cbd Update README.md: Internet Draft 23 is supported 2019-09-18 11:39:34 -04:00
LiteSpeed Tech
2718741832
Fix Docker build (#79) 2019-09-16 10:17:30 -04:00
Dmitri Tikhonov
c38e7df733 Fix build steps in README.md 2019-09-16 09:09:08 -04:00
LiteSpeed Tech
5392f7a3b0
Release 2.2.0: server included, ID-22 supported (#76) 2019-09-11 11:27:58 -04:00
LiteSpeed Tech
199c01ab93
Update build instructions in the README 2019-02-01 02:24:29 -05:00
LiteSpeed Tech
93b02ebee8
Add AppVeyor badge to README 2019-01-30 22:29:55 -05:00
LiteSpeed Tech
6259599e6e
Add Cirrus CI badge to README 2019-01-28 23:37:37 -05:00
LiteSpeed Tech
1b3a179789
README: IETF QUIC support is on a branch; add link 2019-01-23 10:01:00 -05:00
Dmitri Tikhonov
9626cfc25b 1.11.0: [FEATURE] Add support for Q044 2018-08-15 15:06:58 -04:00
Dmitri Tikhonov
97028223ac Drop support for Q041 2018-05-09 14:43:22 -04:00
Dmitri Tikhonov
052a1c28ad Drop support for versions Q037, Q038, and Q042 2018-05-09 14:01:46 -04:00
Dmitri Tikhonov
d5eb659e46 Update README: version Q043 is now supported 2018-05-09 09:34:48 -04:00
Dmitri Tikhonov
aff2a1d865 Update README and CONTRIBUTORS 2018-05-04 16:24:56 -04:00
Dmitri Tikhonov
9918a066f1 Point Travis-CI image to correct URI 2018-04-23 15:12:41 -04:00
Dmitri Tikhonov
1fc8f998cd Add Travis status 2018-04-23 14:54:57 -04:00
Dmitri Tikhonov
5296a94ba2 Fix bug in lsquic_engine_connect() exposed by recent changes. 2018-04-20 15:19:44 -04:00
Dmitri Tikhonov
da710addee Update CHANGELOG, a few changes 2018-04-02 15:16:01 -04:00
Brian Prodoehl
306ecefeb3 Update README with Docker instructions. 2017-10-03 15:37:20 -04:00
Dmitri Tikhonov
67b0dc159d Latest changes
- A few fixes to code and README
2017-09-29 11:18:32 -04:00
Dmitri Tikhonov
1b97e4af1f Latest changes
- Add support for Q041; drop support for Q040
2017-09-28 14:50:30 -04:00
Dmitri Tikhonov
e019799402 Latest changes
- Add support for Mac OS
- Add support for Raspberry Pi
- Fix BoringSSL compilation: include <openssl/hmac.h> explicitly
2017-09-26 14:21:37 -04:00
Dmitri Tikhonov
50aadb33c7 LSQUIC Client: Initial release 2017-09-22 17:00:03 -04:00