Created attachment 228916 [details] Update to 0.10.0 Breaking Changes: -The h3::Config::set_max_header_list_size() method was renamed to h3::Config::set_max_field_section_size() to align to the renaming of the corresponding HTTP/3 setting in the spec. -Support for building with Android NDK < 19 was dropped. Highlights: -Support for Proportional Rate Reduction (RFC6937) for the CUBIC congestion control algorithm. -Support for Hystart++ draft-03 for both CUBIC and Reno. -Support for loss recovery adaptive packet reordering thresholds. -New APIs added to send and receive DATAGRAM frames as Vec<u8> to avoid copying data (see Connection::dgram_send_vec() and Connection::dgram_recv_vec()). -Support for qlog draft-02. -New APIs added to: expose the server name requested by the client (Connection::server_name()), expose the locally-generated connection error (Connection::local_error()), expose whether the connection timed-out (Connection::is_timed_out()). -Many bug fixes and performance improvements. https://github.com/cloudflare/quiche/releases/tag/0.10.0
LGTM! Thanks
Ping
0.10.0 also had a bump in BoringSSL version[0] which attached diff ignores. I'm not sure if it's on purpose. I tried updating that, and now ended up with following compiler error on (13-RELEASE): [ 69%] Building C object CMakeFiles/crypto.dir/src/crypto/trust_token/trust_token.c.o [52/9708] [ 69%] Building C object CMakeFiles/crypto.dir/src/crypto/trust_token/voprf.c.o [ 70%] Building C object CMakeFiles/crypto.dir/src/crypto/x509/a_digest.c.o /wrkdirs/overlays/abbe-freebsd-ports/net/quiche/work/quiche-0.10.0/deps/boringssl/src/crypto/refcount_c11.c:29:15: error: expected parameter declarator static_assert(alignof(CRYPTO_refcount_t) == alignof(_Atomic CRYPTO_refcount_t), ^ /usr/include/stdalign.h:46:19: note: expanded from macro 'alignof' #define alignof _Alignof ^ /wrkdirs/overlays/abbe-freebsd-ports/net/quiche/work/quiche-0.10.0/deps/boringssl/src/crypto/refcount_c11.c:29:15: error: expected ')' /usr/include/stdalign.h:46:19: note: expanded from macro 'alignof' #define alignof _Alignof ^ /wrkdirs/overlays/abbe-freebsd-ports/net/quiche/work/quiche-0.10.0/deps/boringssl/src/crypto/refcount_c11.c:29:14: note: to match this '(' static_assert(alignof(CRYPTO_refcount_t) == alignof(_Atomic CRYPTO_refcount_t), ^ /wrkdirs/overlays/abbe-freebsd-ports/net/quiche/work/quiche-0.10.0/deps/boringssl/src/crypto/refcount_c11.c:29:1: warning: type specifier missing, defaults to 'int' [-Wimplicit-int] static_assert(alignof(CRYPTO_refcount_t) == alignof(_Atomic CRYPTO_refcount_t), ^ /wrkdirs/overlays/abbe-freebsd-ports/net/quiche/work/quiche-0.10.0/deps/boringssl/src/crypto/refcount_c11.c:31:15: error: expected parameter declarator static_assert(sizeof(CRYPTO_refcount_t) == sizeof(_Atomic CRYPTO_refcount_t), ^ /wrkdirs/overlays/abbe-freebsd-ports/net/quiche/work/quiche-0.10.0/deps/boringssl/src/crypto/refcount_c11.c:31:15: error: expected ')' /wrkdirs/overlays/abbe-freebsd-ports/net/quiche/work/quiche-0.10.0/deps/boringssl/src/crypto/refcount_c11.c:31:14: note: to match this '(' static_assert(sizeof(CRYPTO_refcount_t) == sizeof(_Atomic CRYPTO_refcount_t), ^ /wrkdirs/overlays/abbe-freebsd-ports/net/quiche/work/quiche-0.10.0/deps/boringssl/src/crypto/refcount_c11.c:31:1: warning: type specifier missing, defaults to 'int' [-Wimplicit-int] static_assert(sizeof(CRYPTO_refcount_t) == sizeof(_Atomic CRYPTO_refcount_t), ^ /wrkdirs/overlays/abbe-freebsd-ports/net/quiche/work/quiche-0.10.0/deps/boringssl/src/crypto/refcount_c11.c:34:16: warning: type specifier missing, defaults to 'int' [-Wimplicit-int] static_assert((CRYPTO_refcount_t)-1 == CRYPTO_REFCOUNT_MAX, ^ /wrkdirs/overlays/abbe-freebsd-ports/net/quiche/work/quiche-0.10.0/deps/boringssl/src/crypto/refcount_c11.c:34:34: error: expected ')' static_assert((CRYPTO_refcount_t)-1 == CRYPTO_REFCOUNT_MAX, ^ /wrkdirs/overlays/abbe-freebsd-ports/net/quiche/work/quiche-0.10.0/deps/boringssl/src/crypto/refcount_c11.c:34:14: note: to match this '(' static_assert((CRYPTO_refcount_t)-1 == CRYPTO_REFCOUNT_MAX, ^ /wrkdirs/overlays/abbe-freebsd-ports/net/quiche/work/quiche-0.10.0/deps/boringssl/src/crypto/refcount_c11.c:34:1: warning: type specifier missing, defaults to 'int' [-Wimplicit-int] static_assert((CRYPTO_refcount_t)-1 == CRYPTO_REFCOUNT_MAX, ^ 4 warnings and 5 errors generated. --- CMakeFiles/crypto.dir/src/crypto/refcount_c11.c.o --- *** [CMakeFiles/crypto.dir/src/crypto/refcount_c11.c.o] Error code 1 make[4]: stopped in /wrkdirs/overlays/abbe-freebsd-ports/net/quiche/work/target/x86_64-unknown-freebsd/release/build/quiche-9a5e171e73c73a84/out/build [ 70%] Building C object CMakeFiles/crypto.dir/src/crypto/x509/a_sign.c.o 1 error make[4]: stopped in /wrkdirs/overlays/abbe-freebsd-ports/net/quiche/work/target/x86_64-unknown-freebsd/release/build/quiche-9a5e171e73c73a84/out/build --- CMakeFiles/crypto.dir/all --- I'll see if I can figure it out. If you've any idea then do share. References: [0] https://github.com/cloudflare/quiche/commit/1c881359a1106c52827f7acbba1eb33b773a6aac Thanks!
Created attachment 230594 [details] Update to 0.10.0 with BoringSSL updated Attached patch augments Gian-Simon's patch with bumped up BoringSSL dependency. The mentioned error is fixed by not defining _XOPEN_SOURCE which is not required on FreeBSD for the same purpose as it's required on GNU/Linux. Thanks!
LGTM - Thanks!
A commit in branch main references this bug: URL: https://cgit.FreeBSD.org/ports/commit/?id=128954986d4eae2f01653dff2820cc12994df9f5 commit 128954986d4eae2f01653dff2820cc12994df9f5 Author: Gian-Simon Purkert <gspurki@gmail.com> AuthorDate: 2022-01-03 10:03:51 +0000 Commit: Ashish SHUKLA <ashish@FreeBSD.org> CommitDate: 2022-01-03 10:06:44 +0000 net/quiche: Update to 0.10.0 - Also update the BoringSSL dependency PR: 259334 Approved by: Junho Choi <junho.choi at gmail dot com> (maintainer) net/quiche/Makefile | 9 ++++++--- net/quiche/distinfo | 10 +++++----- 2 files changed, 11 insertions(+), 8 deletions(-)
Committed, thanks!