commit: 9c156d7fcfb4d76fbb14570df5e9a8d1e77e183e Author: Julien Roy <julien <AT> jroy <DOT> ca> AuthorDate: Wed Dec 21 02:57:55 2022 +0000 Commit: Julien Roy <julien <AT> jroy <DOT> ca> CommitDate: Wed Dec 21 02:58:32 2022 +0000 URL: https://gitweb.gentoo.org/repo/proj/guru.git/commit/?id=9c156d7f
app-crypt/clevis: fix for openssl:3 Closes: https://bugs.gentoo.org/887205 Signed-off-by: Julien Roy <julien <AT> jroy.ca> app-crypt/clevis/clevis-18.ebuild | 1 + app-crypt/clevis/files/clevis-openssl.patch | 44 +++++++++++++++++++++++++++++ 2 files changed, 45 insertions(+) diff --git a/app-crypt/clevis/clevis-18.ebuild b/app-crypt/clevis/clevis-18.ebuild index da0dc9637..a08573ab8 100644 --- a/app-crypt/clevis/clevis-18.ebuild +++ b/app-crypt/clevis/clevis-18.ebuild @@ -26,4 +26,5 @@ BDEPEND="" PATCHES=( "${FILESDIR}/${PN}-dracut.patch" "${FILESDIR}/${PN}-meson.patch" + "${FILESDIR}/${PN}-openssl.patch" ) diff --git a/app-crypt/clevis/files/clevis-openssl.patch b/app-crypt/clevis/files/clevis-openssl.patch new file mode 100644 index 000000000..5b9090980 --- /dev/null +++ b/app-crypt/clevis/files/clevis-openssl.patch @@ -0,0 +1,44 @@ +From ee1dfedb9baca107e66a0fec76693c9d479dcfd9 Mon Sep 17 00:00:00 2001 +From: Sergio Correia <scorr...@redhat.com> +Date: Mon, 3 May 2021 22:36:36 -0300 +Subject: [PATCH] sss: use BN_set_word(x, 0) instead of BN_zero() + +Different OpenSSL versions define BN_zero() differently -- sometimes +returning an integer, sometimes as void --, so let's use instead +BN_set_word() instead, not to have issues when building with these +different versions. +--- + src/pins/sss/sss.c | 6 +++--- + 1 file changed, 3 insertions(+), 3 deletions(-) + +diff --git a/src/pins/sss/sss.c b/src/pins/sss/sss.c +index a37215d7..7486d6c5 100644 +--- a/src/pins/sss/sss.c ++++ b/src/pins/sss/sss.c +@@ -214,7 +214,7 @@ sss_point(const json_t *sss, size_t *len) + if (BN_rand_range(xx, pp) <= 0) + return NULL; + +- if (BN_zero(yy) <= 0) ++ if (BN_set_word(yy, 0) <= 0) + return NULL; + + for (size_t i = 0; i < json_array_size(e); i++) { +@@ -272,7 +272,7 @@ sss_recover(const json_t *p, size_t npnts, const uint8_t *pnts[]) + if (!ctx || !pp || !acc || !tmp || !k) + return NULL; + +- if (BN_zero(k) <= 0) ++ if (BN_set_word(k, 0) <= 0) + return NULL; + + len = jose_b64_dec(p, NULL, 0); +@@ -303,7 +303,7 @@ sss_recover(const json_t *p, size_t npnts, const uint8_t *pnts[]) + + /* acc *= (0 - xi) / (xo - xi) */ + +- if (BN_zero(tmp) <= 0) ++ if (BN_set_word(tmp, 0) <= 0) + return NULL; + + if (BN_mod_sub(tmp, tmp, xi, pp, ctx) <= 0)