summaryrefslogtreecommitdiff
path: root/dev-cpp/scitokens-cpp
diff options
context:
space:
mode:
authorV3n3RiX <venerix@koprulu.sector>2024-01-30 11:49:23 +0000
committerV3n3RiX <venerix@koprulu.sector>2024-01-30 11:49:23 +0000
commit840a65e2af3f2cc7527e723a28f6e627a9592fb7 (patch)
tree66e124d9e55317fe43e1af9984e75c156df5cb29 /dev-cpp/scitokens-cpp
parent73e3b099187df1c4f2df056e45f345a56d2535aa (diff)
gentoo auto-resync : 30:01:2024 - 11:49:23
Diffstat (limited to 'dev-cpp/scitokens-cpp')
-rw-r--r--dev-cpp/scitokens-cpp/Manifest3
-rw-r--r--dev-cpp/scitokens-cpp/files/scitokens-cpp-1.1.0-invalid-vector-access.patch24
-rw-r--r--dev-cpp/scitokens-cpp/scitokens-cpp-1.0.2-r2.ebuild61
-rw-r--r--dev-cpp/scitokens-cpp/scitokens-cpp-1.1.0-r1.ebuild61
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
+}