Commit graph

422 commits

Author SHA1 Message Date
quink-black
61b4eaa64e
Make it easier to include boringssl and lsquic via add_subdirectory() (#354)
FIND_LIBRARY will fail if boringssl didn't get build yet, so the
following cmake build rule doesn't work:

add_subdirectory(third_party/boringssl)
set(BORINGSSL_LIB ${CMAKE_CURRENT_BINARY_DIR}/third_party/boringssl)
add_subdirectory(third_party/lsquic)

The patch fixed it by allow setting BORINGSSL_LIB_foo explicitly,
e.g.,
add_subdirectory(third_party/boringssl)
set(BORINGSSL_LIB_ssl ssl)
set(BORINGSSL_LIB_crypto crypto)
set(BORINGSSL_LIB_decrepit decrepit)
add_subdirectory(third_party/lsquic)
2022-04-23 14:24:03 -04:00
LiteSpeed Tech
bc20c35000
Disable cache for boringSSL, which causes build to fail. 2022-01-11 17:06:22 -05:00
George Wang
497ec21d16 Release 3.0.4 2022-01-11 11:17:44 -05:00
George Wang
f9e1c11a39 Merge branch 'master' of github.com:litespeedtech/lsquic 2022-01-11 11:10:41 -05:00
wangfuyu
d190ae8e66
m) fix: handshake may failed if client send too many early data (#352)
Co-authored-by: wangfuyu <ivanfywang@gmail.com>
2022-01-11 11:10:18 -05:00
George Wang
6ff1e9b834 [MISC] replace TAB with 4 spaces. 2021-12-16 21:54:52 -05:00
Tyler Young
f07b3eae43
[WIP] use vcpkg for getopt; build windows shared lib enhancements (#350)
* fix MSVC compiler shared library issues - mostly around 'extern const'

* add vcpkg install getopt to appveyor-windows.yml

show appveyor where to get getopt from vcpkg (non-static lib to avoid LGPL violation)

* add missing else case in lsquic_shared_support.h for windows static lib path

* have cmake spit out it's version

have cmake copy dependent dlls to build dir for tests on windows (getopt.dll)

* copy getopt.dll dep for tests

added commented version that requires >= 3.21 but handles any dll deps

* try caching boringssl dir to reduce CI build time since it's always same commit specified in config file

define VCPKG_ROOT in env since I can't seem to find it by VCPKG_ROOT or VCPKG_INSTALLED_DIR in appveyor's cmake v3.16 + vcpkg

* make windows cache dependent on yml and cmd

* sync up with changes to ls-qpack
2021-12-15 11:38:20 -05:00
Sijie Yang
df67278304
Use same style of boolean checking in conn_ok_to_close() (#347) 2021-11-08 09:06:06 -05:00
wangfuyu
646652a67c
update boringssl version info to support h3 (#346)
* update boringssl version info to support h3

RFC9001: QUIC transport parameters are carried in a TLS extension.
Different versions of QUIC might define a different method for negotiating transport configuration.

h3: quic_transport_parameters(0x39)

* Fix comments about support draft verions
2021-11-07 07:57:39 -05:00
Sijie Yang
83eb86cb6d
Fix typo in internals.rst (#342) 2021-10-27 22:10:52 -04:00
George Wang
e1c20fcbee Update ls-qpack to v2.2.2 . 2021-10-27 11:41:47 -04:00
anatasluo
103d146831
fix: fix compile error caused by store_ctx (#338)
When I compile lsquic with boringssl, I got
following error:

error: storage size of ‘store_ctx’ isn’t known

Signed-off-by: anatasluo <luolongjuna@gmail.com>
2021-10-17 14:25:55 -04:00
George Wang
082507cd10 Release 3.0.3 2021-09-30 11:23:56 -04:00
fastcome1985
f5bc76471f
[BUGFIX]IETF QUIC v1(RFC9000) Retry Packet Integrity use draft-ietf-quic-tls-33 (or RFC9001) (#332)
Co-authored-by: luojianxiang <luojianxiang05@gmailcom>
2021-09-29 15:50:33 -04:00
wangfuyu
843f807b95
m) fix: check if connection is out of startup phase by comparing cwnd but not cwnd_gain with target_window (#328) 2021-09-27 09:23:15 -04:00
wangweiwei
fb96e96193
[BUGFIX]add datasize to po_regen_sz which will not be retransmitted. (#327) 2021-09-24 21:24:28 -04:00
wangweiwei
4026a4b616
[BUGFIX]DATAGRAM frame can't be retransmitted (#325) 2021-09-23 22:59:54 -04:00
George Wang
01c36b79df [BUGFIX] Properly enable ACK but disable RETX of DATAGRAM frame. 2021-09-18 09:30:15 -04:00
wangfuyu
4b2a063fcf
m) correct log in func generate_ping_frame (#319) 2021-09-17 14:08:39 -04:00
wangfuyu
5684638017
m) fix: quic server may assert failed when invalid SETTINGS frame in (#317)
ref: issue #316
2021-09-15 11:47:16 -04:00
wangweiwei
ff412f2f22
Update lsquic_packet_common.h (#315) 2021-09-10 08:46:39 -04:00
wangweiwei
70e6fdd86a
Update README.md (#309)
lsquic can built&run on iOS platform.
2021-08-17 09:09:00 -04:00
George Wang
7fc1254850 Release 3.0.2 2021-06-29 16:11:29 -04:00
kenstir
0dbfd88edd
Fix #298 (#299)
Handle SSL_get_current_cipher returning NULL
2021-06-22 12:59:29 -04:00
Matt Durgavich
6464d33767
Use C99 format specifiers to properly print uint64_t (#297)
Co-authored-by: Matt Durgavich <mdurgavich@vivox.com>
2021-06-21 22:37:06 -04:00
George Wang
d549a33b21 Release 3.0.1 2021-06-16 16:03:55 -04:00
George Wang
b2e1404ca7 [BUGFIX] lsquic_gquic_be_parse_packet_in_finish() need to make sure the packet has flag PI_GQUIC.
Fix issue #262
2021-06-15 18:16:25 -04:00
wangfuyu
ed94ac1253
m) do not try to delete stk from shi_ctx (#295)
stk never be inserted to shi_ctx, so we don't need try to delete it.

Co-authored-by: wangfuyu <ivanfywang@gmail.com>
2021-06-15 10:35:00 -04:00
George Wang
47440e4eaf Only force TICK_CLOSE flag when CONNECTION_CLOSE frame received. 2021-06-11 22:18:01 -04:00
LiteSpeed Tech
d1628a5677
Update index.rst 2021-06-05 19:20:53 -04:00
LiteSpeed Tech
95648693ab
Update README.md 2021-06-05 19:18:13 -04:00
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