Commit graph

441 commits

Author SHA1 Message Date
LiteSpeed Tech
df5cc4b6a4
Update README.md 2021-06-05 19:12:57 -04:00
Michał Śledź
1e0dbec4ea
Fix paths in Dockerfile (#289) 2021-06-05 10:08:20 -04:00
George Wang
6f6009ab75 Release 3.0.0 2021-06-02 09:04:35 -04:00
George Wang
084338b1a2 Release 3.0.0 2021-06-02 00:39:15 -04:00
wangfuyu
3d35ba155f
Fix: connection may not be closed timely when CONNECTION_CLOSE frame in (#284)
* Fix: connection may not be closed timely when CONNECTION_CLOSE frame in

* Simplify TICK_CLOSE logic

Co-authored-by: wangfuyu <ivanfywang@gmail.com>
2021-05-31 11:24:52 -04:00
George Wang
077ef87880 Release 2.30.2 2021-04-20 15:22:24 -04:00
George Wang
7290fb0ce6 Update ls-hpack to 2.3.0 2021-04-20 12:20:33 -04:00
George Wang
55d69529bd Release 2.30.1 2021-04-16 14:54:30 -04:00
George Wang
927d9cb20d Release 2.30.0 2021-04-12 11:37:25 -04:00
George Wang
293df8d66b Release 2.30.0
- [FEATURE] Added support for sending/receiving multiple headers to address the
  case related to "100 continue" header handling.
- [BUGFIX] Addressed high CPU usage for a GOAWAY connection before sending
  CONNECTION_CLOSE.
- [BUGFIX] Addressed SIGFPE due to zero pacing rate. (ISSUE #254).
- [BUGFIX] Fixed a minor issue related to multi-paths.
2021-04-12 09:52:42 -04:00
wangfuyu
ab69788e51
Fix: must take xlct into account while determine_rtt (#248)
Co-authored-by: ivanfywang <ivanfywang@gmail.com>
2021-04-01 16:09:37 -04:00
Dmitri Tikhonov
eea998962a Release 2.29.6
- Documentation: describe lsquic internals ("guts").
- Two more fixes to compliance issues found by h3spec.
- Truncate, don't abort, SCIDs larger than 16 bytes (PR #244).
- Several small internal improvements and space optimizations.
2021-03-31 09:38:32 -04:00
wangfuyu
f3690fdcbf
Compatible with 16+ Bytes scid (#244)
Co-authored-by: ivanfywang <wentaomao@tencent.com>
2021-03-29 13:38:37 -04:00
George Wang
10e0dad8a4 Release 2.29.5
- Fix a few issues detected by h3spec for better compliance with HTTP/3 standard.
2021-03-17 12:58:22 -04:00
Dmitri Tikhonov
e1b8f1a8c3 Release 2.29.4
- [BUGFIX] Infinite loop in stream: returned HQ frame can be at any
  point on the list.
- [BUGFIX] Fail push promise immediately if STREAM_NOPUSH is set.
2021-03-08 10:44:37 -05:00
Dmitri Tikhonov
99a1ad0f24 Release 2.29.3
- [BUGFIX] Do not send RESET_STREAM if writing to stream is already
  finished.
- perf_client: wait for all ACKs before exiting.
- Improve how generated RESET_STREAM is logged.
- Fix compilation in different combos of adv_tick/conn_stats flags.
- Move qpack warning disablement into src/liblsquic/CMakeLists.txt.
2021-03-03 09:41:42 -05:00
Dmitri Tikhonov
f1d5a1a4de Release 2.29.2
- Fix regression in gQUIC server: bug #234.
2021-02-23 12:18:50 -05:00
Dmitri Tikhonov
8ecb980d26 Release 2.29.1
- Make it possible to build the library and unit tests without
  libevent.
- Build all command-line utilities in bin/
- Add perf_client and perf_server command-line utilities to test
  performance according to the "perf" protocol.
2021-02-18 10:09:35 -05:00
LiteSpeed Tech
4ffff819e8
README: add "docs passing" badge 2021-02-15 08:35:25 -05:00
Dmitri Tikhonov
eb023232f1 Update badges -- add MacOS 2021-02-12 09:41:35 -05:00
Dmitri Tikhonov
01a6e9a151 Add MacOS image to the Linux AppVeyor YAML file: should be the same 2021-02-12 09:03:44 -05:00
Dmitri Tikhonov
e483c09166 Don't run HTTP/3 framing test on Windows 2021-02-12 09:02:52 -05:00
Dmitri Tikhonov
8d534ef0fd Update badging in the README 2021-02-11 17:19:11 -05:00
Dmitri Tikhonov
cb447a705b Add AppVeyor file for Linux build 2021-02-11 17:17:00 -05:00
Dmitri Tikhonov
b54d1e6309 Make libevent optional; move binaries into bin/ 2021-02-11 17:14:27 -05:00
Dmitri Tikhonov
26e8f082c9 Release 2.29.0
- [FEATURE] QUIC and HTTP/3 Internet Draft 34 support and v1 support.
  The latter is turned off by default.
- Drop support for ID-28 and ID-32.
- [BUGFIX] IETF QUIC mini conn receive history (trechist): allow
  unlimited inserts by dropping smallest elements.
- [BUGFIX] gQUIC: set STTL to correct value, issue #226.
- [BUGFIX] Account for poison packet gap when MTU probe was too large.
2021-02-10 08:51:11 -05:00
Dmitri Tikhonov
ac0ce07bd0 Remove obsolete files 2021-02-10 08:47:05 -05:00
Dmitri Tikhonov
c2faf03244 Release 2.28.0
- [API] lsquic_ssl_sess_to_resume_info() is the new way to get
  session info.
- [API] Add user pointer to ea_generate_scid callback.
- [API] Add lsquic_dcid_from_packet() -- a fast function to parse
  out DCID.
- [API] Add es_max_batch_size to control outgoing packet batch size.
- [BUGFIX] Disallow sending of header while promise is being written.
- [BUGFIX] Flush stream when buffered bytes exhaust stream cap.
- [BUGFIX] Deactivate HQ frame if writing push promise fails.
- Perform sanity check on peer transport parameters and fail the
  handshake if some flow control limits are too low.  This can be
  turned off, see es_check_tp_sanity.
- http_server: fix how requests are read in "hq" mode.
2021-02-03 11:05:50 -05:00
Nan Xiao
9a7f663e1a
Fix typo in tutorial (#225) 2021-02-01 09:51:51 -05:00
Dmitri Tikhonov
5650ee6cd6 Release 2.27.6
- [BUGFIX] Replace dispatch read/write events assertion with a check.
- [BUGFIX] gQUIC connection close: there is no HEADERS stream without
  HTTP flag, see issue #220.
- http_client, http_server: add hq protocol support and other flags
  for use with QUIC Interop Runner.
- Fix: use IP_PMTUDISC_PROBE (not IP_PMTUDISC_DO) on Linux to set
  Don't-Fragment flag on outgoing packets.
- Fix send_packets_one_by_one on Windows platform when sending
  multiple iovs, see issue #218.
- Exit echo_client on Windows immediately, see issue #219.
2021-01-27 10:36:25 -05:00
wangweiwei
65c5d50287
fix bug in send_packets_one_by_one on windows platform when send multiple iovs 2021-01-22 13:16:16 -05:00
Pi Iyer
61e670e170
Fix typo in API docs 2021-01-18 15:48:03 -05:00
Dmitri Tikhonov
bbee242ac0 Release 2.27.5
- [BUGFIX] Assertion in send controller when path validation fails.
- [BUGFIX] Assertion in BBR when sending out-of-order packets is
  detected.
- [BUGFIX] Drop overflow receive history ranges when cloning.
- Log correct size of the incoming packet.
- Fix internal stream function.
2021-01-18 13:26:33 -05:00
LiteSpeed Tech
347a040589
Only run Travis-CI on master 2021-01-13 08:47:47 -05:00
Dmitri Tikhonov
e98ebfce75 Release 2.27.4
- [API] Add lsquic_conn_get_sni(), fixes issue #203.
2021-01-13 08:38:33 -05:00
E.L
7ff5beb4fc
Update .travis.yml
Run CI/CD when the branch is master
2021-01-12 10:42:07 +08:00
Dmitri Tikhonov
38e835983f API: add lsquic_conn_get_sni(), fixes issue #203 2021-01-11 13:52:57 -05:00
Dmitri Tikhonov
e2c4907022 Release 2.27.3
- [BUGFIX] gQUIC: do not destroy critical streams when connection is
  closed.  See issue #201.
- [BUGFIX] Drop #if LSQUIC_CONN_STATS from lsquic.h.  See issue #211.
- [BUGFIX] Challenge cancellation when path validation fails.
- [BUGFIX] Do not send FIN if RST is scheduled to be sent on a stream.
- [BUGFIX] gQUIC's is_tickable() when connection is closing.
- [BUGFIX] Q050 processing of GOAWAY frames.
2021-01-08 11:38:46 -05:00
Dmitri Tikhonov
1a0003e3b9 Release 2.27.2
- [BUGFIX] Memory corruption in receive history copy-ranges function.
2021-01-06 17:53:07 -05:00
Dmitri Tikhonov
06b2a2363e Release 2.27.1
- [API] New knob to set outgoing packet batch size.
- Aborted connection now become tickable immediately.
- Abort connection when HTTP/3 frame cannot be opened (can only happen
  when malloc fails).
2021-01-06 09:00:05 -05:00
Dmitri Tikhonov
6511378725 Release 2.27.0
- [API] Remove keylog callbacks.  See issue #188.
- Add a bit more ALPN logging.
2020-12-31 07:58:48 -05:00
Dmitri Tikhonov
292abba1f8 Release 2.26.2
- [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.
2020-12-23 09:06:05 -05:00
Dmitri Tikhonov
efa7f95dff Removed #define LSQUIC_SUPPORTS_CONNCLOSEFRAME_CALLBACK
See discussion in PR #205
2020-12-18 15:17:20 -05:00
Paul Sheer
123f116488 Support new lsquic_stream_if callback on_conncloseframe_received() to notify application of CONNECTION_CLOSE frame 2020-12-18 14:23:41 -05:00
Dmitri Tikhonov
71eb4000ac Release 2.26.1
- [BUGFIX] Migration corner cases: drop or pad over path challenge
  and response frames when necessary.
- Fix stream unit test.
2020-12-17 14:39:51 -05:00
LiteSpeed Tech
96214405b1
Update badge image to use travis-ci.com 2020-12-17 09:29:39 -05:00
Dmitri Tikhonov
fcbdf653b6 Release 2.26.0
- [OPTIMIZATION] Adjust packet reordering threshold when spurious losses
  are detected.
- [API] Pass pointer to local sockaddr to ea_get_ssl_ctx() callback.
2020-12-09 09:11:03 -05:00
Dmitri Tikhonov
7f96c7c7f3 Release 2.25.0
- [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.
2020-12-04 11:29:14 -05:00
Dmitri Tikhonov
57fe5a13ac Fix Windows build 2020-11-24 09:09:13 -05:00
Dmitri Tikhonov
f38b395a31 Release 2.24.5
- [FEATURE] Improve Delayed ACKs extension and turn it on by default.
- Limit receive history to a finite amount of memory.
2020-11-24 08:51:36 -05:00