commit: 7caf564409af2b3a5cd3df3ed0feb65c7fc061e3 Author: Sam James <sam <AT> gentoo <DOT> org> AuthorDate: Fri Jan 3 11:30:38 2025 +0000 Commit: Sam James <sam <AT> gentoo <DOT> org> CommitDate: Fri Jan 3 11:31:05 2025 +0000 URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=7caf5644
net-libs/ngtcp2: fix uninitialised variables Backport upstream fixes (thank you!) for uninitialised variables exposed by GCC 15's padding changes. Closes: https://bugs.gentoo.org/947300 Signed-off-by: Sam James <sam <AT> gentoo.org> .../ngtcp2/files/ngtcp2-1.10.0-gcc15-uninit.patch | 46 +++++++++++++++++ net-libs/ngtcp2/ngtcp2-1.10.0-r2.ebuild | 60 ++++++++++++++++++++++ 2 files changed, 106 insertions(+) diff --git a/net-libs/ngtcp2/files/ngtcp2-1.10.0-gcc15-uninit.patch b/net-libs/ngtcp2/files/ngtcp2-1.10.0-gcc15-uninit.patch new file mode 100644 index 000000000000..7ce0cf2b6c3c --- /dev/null +++ b/net-libs/ngtcp2/files/ngtcp2-1.10.0-gcc15-uninit.patch @@ -0,0 +1,46 @@ +https://bugs.gentoo.org/947300 +https://github.com/ngtcp2/ngtcp2/pull/1464 +https://github.com/ngtcp2/ngtcp2/commit/60ab2b73aa02e6c99597b975724c6b58008c4869 +https://github.com/ngtcp2/ngtcp2/commit/416698347d60968eba635182dfdedc44d1aa7c3b + +From 60ab2b73aa02e6c99597b975724c6b58008c4869 Mon Sep 17 00:00:00 2001 +From: Tatsuhiro Tsujikawa <[email protected]> +Date: Fri, 3 Jan 2025 10:05:55 +0900 +Subject: [PATCH] tests: Fix uninitialized variable reference + +--- a/tests/ngtcp2_transport_params_test.c ++++ b/tests/ngtcp2_transport_params_test.c +@@ -419,11 +419,16 @@ void test_ngtcp2_transport_params_convert_to_latest(void) { + ngtcp2_cid rcid, scid, dcid; + uint8_t available_versions[sizeof(uint32_t) * 3]; + ngtcp2_sockaddr_in6 *sa_in6; ++ size_t i; + + rcid_init(&rcid); + scid_init(&scid); + dcid_init(&dcid); + ++ for (i = 0; i < sizeof(available_versions); i += sizeof(uint32_t)) { ++ ngtcp2_put_uint32be(&available_versions[i], (uint32_t)(0xff000000u + i)); ++ } ++ + ngtcp2_transport_params_default_versioned(NGTCP2_TRANSPORT_PARAMS_V1, + &srcbuf); + + +From 416698347d60968eba635182dfdedc44d1aa7c3b Mon Sep 17 00:00:00 2001 +From: Tatsuhiro Tsujikawa <[email protected]> +Date: Fri, 3 Jan 2025 10:13:56 +0900 +Subject: [PATCH] Fix uninitialized connection close frame_type + +--- a/lib/ngtcp2_conn.c ++++ b/lib/ngtcp2_conn.c +@@ -13765,6 +13765,7 @@ ngtcp2_ssize ngtcp2_pkt_write_connection_close( + + fr.type = NGTCP2_FRAME_CONNECTION_CLOSE; + fr.connection_close.error_code = error_code; ++ fr.connection_close.frame_type = 0; + fr.connection_close.reasonlen = reasonlen; + fr.connection_close.reason = (uint8_t *)reason; + + diff --git a/net-libs/ngtcp2/ngtcp2-1.10.0-r2.ebuild b/net-libs/ngtcp2/ngtcp2-1.10.0-r2.ebuild new file mode 100644 index 000000000000..b88f76b1fbc3 --- /dev/null +++ b/net-libs/ngtcp2/ngtcp2-1.10.0-r2.ebuild @@ -0,0 +1,60 @@ +# Copyright 1999-2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit cmake-multilib + +if [[ ${PV} == 9999 ]] ; then + EGIT_REPO_URI="https://github.com/ngtcp2/ngtcp2.git" + inherit git-r3 +else + SRC_URI="https://github.com/ngtcp2/ngtcp2/releases/download/v${PV}/${P}.tar.xz" + KEYWORDS="~amd64 ~arm ~arm64 ~hppa ~loong ~mips ~ppc ~ppc64 ~riscv ~sparc ~x86" +fi + +DESCRIPTION="Implementation of the IETF QUIC Protocol" +HOMEPAGE="https://github.com/ngtcp2/ngtcp2/" + +LICENSE="MIT" +SLOT="0/0" +IUSE="+gnutls openssl +ssl static-libs test" +# Without static-libs, src_test just won't run any tests and "pass". +REQUIRED_USE="ssl? ( || ( gnutls openssl ) ) test? ( static-libs )" + +BDEPEND="virtual/pkgconfig" +RDEPEND=" + ssl? ( + gnutls? ( >=net-libs/gnutls-3.7.2:=[${MULTILIB_USEDEP}] ) + openssl? ( >=dev-libs/openssl-1.1.1:=[${MULTILIB_USEDEP}] ) + ) +" +DEPEND=" + ${RDEPEND} + test? ( >=dev-util/cunit-2.1[${MULTILIB_USEDEP}] ) +" +RESTRICT="!test? ( test )" + +PATCHES=( + "${FILESDIR}"/${PN}-1.10.0-munit-c23.patch + "${FILESDIR}"/${P}-gcc15-uninit.patch +) + +multilib_src_configure() { + local mycmakeargs=( + -DENABLE_STATIC_LIB=$(usex static-libs) + -DENABLE_GNUTLS=$(usex gnutls) + -DENABLE_OPENSSL=$(usex openssl) + -DENABLE_BORINGSSL=OFF + -DENABLE_PICOTLS=OFF + -DENABLE_WOLFSSL=OFF + -DCMAKE_DISABLE_FIND_PACKAGE_Libev=ON + -DCMAKE_DISABLE_FIND_PACKAGE_Libnghttp3=ON + -DBUILD_TESTING=$(usex test) + ) + cmake_src_configure +} + +multilib_src_test() { + cmake_build check +}
