diff options
author | V3n3RiX <venerix@koprulu.sector> | 2024-01-30 11:49:23 +0000 |
---|---|---|
committer | V3n3RiX <venerix@koprulu.sector> | 2024-01-30 11:49:23 +0000 |
commit | 840a65e2af3f2cc7527e723a28f6e627a9592fb7 (patch) | |
tree | 66e124d9e55317fe43e1af9984e75c156df5cb29 /dev-cpp/scitokens-cpp | |
parent | 73e3b099187df1c4f2df056e45f345a56d2535aa (diff) |
gentoo auto-resync : 30:01:2024 - 11:49:23
Diffstat (limited to 'dev-cpp/scitokens-cpp')
4 files changed, 149 insertions, 0 deletions
diff --git a/dev-cpp/scitokens-cpp/Manifest b/dev-cpp/scitokens-cpp/Manifest index 460049c638ba..89288820122a 100644 --- a/dev-cpp/scitokens-cpp/Manifest +++ b/dev-cpp/scitokens-cpp/Manifest @@ -1,5 +1,8 @@ +AUX scitokens-cpp-1.1.0-invalid-vector-access.patch 904 BLAKE2B a2bdf20f09ed3e44ce46a4a253a9a24da2a5a549b480653863dadf650df12ee30301d6dec1731f7cc1e292eb14279b1c369ba7990fceccbeed291a2e5e14c08f SHA512 f5bb785c1eb59f0509aac70efd162079c286a8142045bc9856ec92d197bfdafb0ba743618ddd9708b6dcaadbb73f77a4162c0d9823ff19d5a90d7c77af69421b DIST scitokens-cpp-1.0.2.tar.gz 311221 BLAKE2B 8f77f4f5ded34f7c572567c980ef0dabaf7e36d4395d41046a1bd8e1343299309ea81efb23b0120532cba365463a9ad2c5ff857f85be5df922830541513c11cd SHA512 c15784342eb70eb0ec1cd87d5a1e89446b8aa3bb070bfdef58960c2d94739b05d186ee33807ebc066a450a0211b3dd7c04ea613fd4870d7a2d0f8fe30e8a7453 DIST scitokens-cpp-1.1.0.tar.gz 311446 BLAKE2B a515d834df04125ae9167cb4656def7df43c9f1ba6d701379257cdd0fd51b61a119e6222591fbe9c1d7ac7000b1b4590d12e9f9238810c0791397a9d9846f6f7 SHA512 e71474afbde45149fbd642918e802f7430603a14add7171525fd08fdfbfb9dc4ae5b151341d2c11b294f352cdf76315e5c1f089daca12a1c9db304f6b2c89276 EBUILD scitokens-cpp-1.0.2-r1.ebuild 1404 BLAKE2B 4330cd02e728052d6656af16e63b8f7449573088c2d4b4b6a3dfc0ed6560c0887f58fe1fd595b7b220627e3b2c45b9ea8d4271e767ce141e008fc0fb26dcef10 SHA512 6c56e37ec5bf5f1385f50e69492fd39b0974fbd8fed7aa2990a9c3d417fc15fcb2021d466be49144702037c8158e3b6a07acd88a923c13bb56c8297d4d134df7 +EBUILD scitokens-cpp-1.0.2-r2.ebuild 1475 BLAKE2B 687b039f53fbef9634a6e70c268c51dd4e86a202843f50037965abc16a3f0b0cefc5a37404b3f635522fc0c2f8aa68900f2c19084cba3c61838953faddcc8040 SHA512 65c29af2a00206baf002b75f3fc79d23a715cbbb0b2eb18aa1b6fd4ce9bf54227a51f2434c6ba26df6bd5eb945ae60f2b09bb1f6957ad5800ce85b66e50af69a +EBUILD scitokens-cpp-1.1.0-r1.ebuild 1475 BLAKE2B 687b039f53fbef9634a6e70c268c51dd4e86a202843f50037965abc16a3f0b0cefc5a37404b3f635522fc0c2f8aa68900f2c19084cba3c61838953faddcc8040 SHA512 65c29af2a00206baf002b75f3fc79d23a715cbbb0b2eb18aa1b6fd4ce9bf54227a51f2434c6ba26df6bd5eb945ae60f2b09bb1f6957ad5800ce85b66e50af69a EBUILD scitokens-cpp-1.1.0.ebuild 1406 BLAKE2B ece69ad335c397ec20a477dbe848ea1f86b7ab9b7a87e19550a37b53d77c1fa2f6ef33eb6d6078bde3725beb2a0fb7a3e766f78ce4486c90d54961066bed677a SHA512 8092a3fe73e5431ae80f18eaa0efc7077003f0f57da7ea658a83575c7bc35f48cdbf61e82be09d2e88c1b5d1b3d719d079ad62602ec702cb7e608f75eb60d40f MISC metadata.xml 1067 BLAKE2B a3af60b824b07a0db1f2497b7a8d8dea6a4c5a0a225be98e0bd2c35e701197210d0905c213fda060536cacf68e7b0181bad0f849c3dc9eac709af8c1c1df9169 SHA512 e87768329cb90205fb98cba59ddb911414c202cf03de358030aca79766b9834b3a3be4f00ba1a50f5171281852b85b5dc0211a6b7943c4cf0de94e794dd4827a diff --git a/dev-cpp/scitokens-cpp/files/scitokens-cpp-1.1.0-invalid-vector-access.patch b/dev-cpp/scitokens-cpp/files/scitokens-cpp-1.1.0-invalid-vector-access.patch new file mode 100644 index 000000000000..db524b4245d5 --- /dev/null +++ b/dev-cpp/scitokens-cpp/files/scitokens-cpp-1.1.0-invalid-vector-access.patch @@ -0,0 +1,24 @@ +Fix invalid std::vector access (visible with tests on hardened systems) + +From: Mattias Ellert <mattias.ellert@physics.uu.se> +Bug: https://github.com/scitokens/scitokens-cpp/pull/126 +Bug: https://bugs.gentoo.org/922679 + +--- + src/scitokens_internal.cpp | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +--- a/src/scitokens_internal.cpp ++++ b/src/scitokens_internal.cpp +@@ -978,9 +978,9 @@ bool scitokens::Validator::store_public_ec_key(const std::string &issuer, + auto x_num = BN_num_bytes(x_bignum.get()); + auto y_num = BN_num_bytes(y_bignum.get()); + std::vector<unsigned char> x_bin; +- x_bin.reserve(x_num); ++ x_bin.resize(x_num); + std::vector<unsigned char> y_bin; +- y_bin.reserve(y_num); ++ y_bin.resize(y_num); + BN_bn2bin(x_bignum.get(), &x_bin[0]); + BN_bn2bin(y_bignum.get(), &y_bin[0]); + std::string x_str(reinterpret_cast<char *>(&x_bin[0]), x_num); diff --git a/dev-cpp/scitokens-cpp/scitokens-cpp-1.0.2-r2.ebuild b/dev-cpp/scitokens-cpp/scitokens-cpp-1.0.2-r2.ebuild new file mode 100644 index 000000000000..9cc0a0384407 --- /dev/null +++ b/dev-cpp/scitokens-cpp/scitokens-cpp-1.0.2-r2.ebuild @@ -0,0 +1,61 @@ +# Copyright 1999-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit cmake + +if [[ ${PV} == *9999* ]]; then + inherit git-r3 + EGIT_REPO_URI="https://github.com/scitokens/scitokens-cpp" +else + SRC_URI="https://github.com/scitokens/${PN}/archive/refs/tags/v${PV}.tar.gz -> ${P}.tar.gz" + KEYWORDS="~amd64 ~x86" +fi + +DESCRIPTION="C++ implementation of the SciTokens library with a C library interface" +HOMEPAGE="https://scitokens.org/" + +LICENSE="Apache-2.0" +SLOT="0" +IUSE="test" + +DEPEND=" + dev-cpp/jwt-cpp[picojson] + dev-db/sqlite + dev-libs/openssl:0= + net-misc/curl:0= + kernel_linux? ( sys-apps/util-linux ) +" +RDEPEND="${DEPEND}" +BDEPEND=" + virtual/pkgconfig + test? ( dev-cpp/gtest ) +" +RESTRICT="!test? ( test )" + +PATCHES=( + "${FILESDIR}"/${PN}-1.1.0-invalid-vector-access.patch +) + +src_prepare() { + # Unbundle dev-cpp/gtest, dev-cpp/jwt-cpp + rm -r vendor || die + # Fix include path for picojson. + find src/ \( -name '*.cpp' -o -name '*.h' \) -type f -print0 | \ + xargs -0 sed -r -e "s:picojson/picojson\.h:picojson.h:g" -i || die + # Disable network-based tests relying on external services. + if use test; then + sed -i -e '/^TEST_F/s#RefreshTest#DISABLED_RefreshTest#' \ + -e '/^TEST_F/s#RefreshExpiredTest#DISABLED_RefreshExpiredTest#' test/main.cpp || die + fi + cmake_src_prepare +} + +src_configure() { + local mycmakeargs=( + -DSCITOKENS_BUILD_UNITTESTS="$(usex test)" + -DSCITOKENS_EXTERNAL_GTEST=YES + ) + cmake_src_configure +} diff --git a/dev-cpp/scitokens-cpp/scitokens-cpp-1.1.0-r1.ebuild b/dev-cpp/scitokens-cpp/scitokens-cpp-1.1.0-r1.ebuild new file mode 100644 index 000000000000..9cc0a0384407 --- /dev/null +++ b/dev-cpp/scitokens-cpp/scitokens-cpp-1.1.0-r1.ebuild @@ -0,0 +1,61 @@ +# Copyright 1999-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit cmake + +if [[ ${PV} == *9999* ]]; then + inherit git-r3 + EGIT_REPO_URI="https://github.com/scitokens/scitokens-cpp" +else + SRC_URI="https://github.com/scitokens/${PN}/archive/refs/tags/v${PV}.tar.gz -> ${P}.tar.gz" + KEYWORDS="~amd64 ~x86" +fi + +DESCRIPTION="C++ implementation of the SciTokens library with a C library interface" +HOMEPAGE="https://scitokens.org/" + +LICENSE="Apache-2.0" +SLOT="0" +IUSE="test" + +DEPEND=" + dev-cpp/jwt-cpp[picojson] + dev-db/sqlite + dev-libs/openssl:0= + net-misc/curl:0= + kernel_linux? ( sys-apps/util-linux ) +" +RDEPEND="${DEPEND}" +BDEPEND=" + virtual/pkgconfig + test? ( dev-cpp/gtest ) +" +RESTRICT="!test? ( test )" + +PATCHES=( + "${FILESDIR}"/${PN}-1.1.0-invalid-vector-access.patch +) + +src_prepare() { + # Unbundle dev-cpp/gtest, dev-cpp/jwt-cpp + rm -r vendor || die + # Fix include path for picojson. + find src/ \( -name '*.cpp' -o -name '*.h' \) -type f -print0 | \ + xargs -0 sed -r -e "s:picojson/picojson\.h:picojson.h:g" -i || die + # Disable network-based tests relying on external services. + if use test; then + sed -i -e '/^TEST_F/s#RefreshTest#DISABLED_RefreshTest#' \ + -e '/^TEST_F/s#RefreshExpiredTest#DISABLED_RefreshExpiredTest#' test/main.cpp || die + fi + cmake_src_prepare +} + +src_configure() { + local mycmakeargs=( + -DSCITOKENS_BUILD_UNITTESTS="$(usex test)" + -DSCITOKENS_EXTERNAL_GTEST=YES + ) + cmake_src_configure +} |