commit:     8fcd2710762948cc3f8ad1b060ec86a43e6c35e6
Author:     Cédric Krier <cedk <AT> gentoo <DOT> org>
AuthorDate: Sat Feb 15 13:58:06 2025 +0000
Commit:     Cédric Krier <cedk <AT> gentoo <DOT> org>
CommitDate: Sat Feb 15 13:59:06 2025 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=8fcd2710

mail-filter/opensmtpd-filter-dkimsign: support ed25519

Closes: https://bugs.gentoo.org/949031
Signed-off-by: Cédric Krier <cedk <AT> gentoo.org>

 .../opensmtpd-filter-dkimsign-0.6-ed25519.patch    | 85 ++++++++++++++++++++++
 ...ild => opensmtpd-filter-dkimsign-0.6-r1.ebuild} |  5 +-
 2 files changed, 89 insertions(+), 1 deletion(-)

diff --git 
a/mail-filter/opensmtpd-filter-dkimsign/files/opensmtpd-filter-dkimsign-0.6-ed25519.patch
 
b/mail-filter/opensmtpd-filter-dkimsign/files/opensmtpd-filter-dkimsign-0.6-ed25519.patch
new file mode 100644
index 000000000000..284264fc151d
--- /dev/null
+++ 
b/mail-filter/opensmtpd-filter-dkimsign/files/opensmtpd-filter-dkimsign-0.6-ed25519.patch
@@ -0,0 +1,85 @@
+commit 07480b90f4ee9246fdc55bbcdd0370c031923420
+from: Martijn van Duren <[email protected]>
+date: Thu Dec 15 11:16:37 2022 UTC
+
+Remove HAVE_ED25519 now that we have ED25519 in LibreSSL
+
+commit - 60e9f82dc81c599272bc0061157850239f54ae10
+commit + 07480b90f4ee9246fdc55bbcdd0370c031923420
+blob - 19746f9f6e583080de34e95de1b6cf3d9929833d
+blob + 058d1919ba16827a0f2c32e04405586ccb316117
+--- Makefile
++++ Makefile
+@@ -7,9 +7,6 @@ MANDIR=                ${LOCALBASE}/man/man
+ 
+ SRCS+=                main.c mheader.c
+ 
+-.ifdef HAVE_ED25519
+-CFLAGS+=      -DHAVE_ED25519
+-.endif
+ .ifdef LIBCRYPTOPC
+ CRYPT_CFLAGS!=        pkg-config --cflags ${LIBCRYPTOPC}
+ CRYPT_LDFLAGS_L!=pkg-config --libs-only-L ${LIBCRYPTOPC}
+blob - 1f97bd28f4172df60f52b0b2bae40bc4fa0817a0
+blob + 011d047d5401c07146103693f7b58fc5289bdf94
+--- Makefile.gnu
++++ Makefile.gnu
+@@ -7,9 +7,6 @@ MANDIR=                ${LOCALBASE}/share/man/man8
+ 
+ SRCS+=                main.c mheader.c
+ 
+-ifdef HAVE_ED25519
+-CFLAGS+=      -DHAVE_ED25519
+-endif
+ ifdef LIBCRYPTOPC
+ CRYPT_CFLAGS!=        pkg-config --cflags ${LIBCRYPTOPC}
+ CRYPT_LDFLAGS_L!=pkg-config --libs-only-L ${LIBCRYPTOPC}
+blob - 2961793635330ed82f566e8870166a7f012e7e7a
+blob + 8b2d2131ea121f527e174e6b59a4bdde8f844193
+--- main.c
++++ main.c
+@@ -136,13 +136,11 @@ main(int argc, char *argv[])
+                               hashalg = optarg + 4;
+                               keyid = EVP_PKEY_RSA;
+                               sephash = 0;
+-#ifdef HAVE_ED25519
+                       } else if (strncmp(optarg, "ed25519-", 8) == 0) {
+                               hashalg = optarg + 8;
+                               cryptalg = "ed25519";
+                               keyid = EVP_PKEY_ED25519;
+                               sephash = 1;
+-#endif
+                       } else
+                               osmtpd_errx(1, "invalid algorithm");
+                       break;
+@@ -696,7 +694,6 @@ dkim_sign(struct osmtpd_ctx *ctx)
+                       dkim_errx(message, "Can't finalize signature context");
+                       goto fail;
+               }
+-#ifdef HAVE_ED25519
+       } else {
+               if (EVP_DigestFinal_ex(message->dctx, bdigest,
+                   &digestsz) != 1) {
+@@ -715,7 +712,6 @@ dkim_sign(struct osmtpd_ctx *ctx)
+                       dkim_errx(message, "Failed to finalize signature");
+                       goto fail;
+               }
+-#endif
+       }
+       if ((tmp = malloc(linelen)) == NULL) {
+               dkim_err(message, "Can't allocate space for signature");
+@@ -726,14 +722,12 @@ dkim_sign(struct osmtpd_ctx *ctx)
+                       dkim_errx(message, "Failed to finalize signature");
+                       goto fail;
+               }
+-#ifdef HAVE_ED25519
+       } else {
+               if (EVP_DigestSign(message->dctx, tmp, &linelen, bdigest,
+                   digestsz) != 1) {
+                       dkim_errx(message, "Failed to finalize signature");
+                       goto fail;
+               }
+-#endif
+       }
+       if ((b = malloc((((linelen + 2) / 3) * 4) + 1)) == NULL) {
+               dkim_err(message, "Can't create DKIM signature");

diff --git 
a/mail-filter/opensmtpd-filter-dkimsign/opensmtpd-filter-dkimsign-0.6.ebuild 
b/mail-filter/opensmtpd-filter-dkimsign/opensmtpd-filter-dkimsign-0.6-r1.ebuild
similarity index 88%
rename from 
mail-filter/opensmtpd-filter-dkimsign/opensmtpd-filter-dkimsign-0.6.ebuild
rename to 
mail-filter/opensmtpd-filter-dkimsign/opensmtpd-filter-dkimsign-0.6-r1.ebuild
index a97915ad91bb..708f9e8996d0 100644
--- a/mail-filter/opensmtpd-filter-dkimsign/opensmtpd-filter-dkimsign-0.6.ebuild
+++ 
b/mail-filter/opensmtpd-filter-dkimsign/opensmtpd-filter-dkimsign-0.6-r1.ebuild
@@ -1,4 +1,4 @@
-# Copyright 2024 Gentoo Authors
+# Copyright 2024-2025 Gentoo Authors
 # Distributed under the terms of the GNU General Public License v2
 
 EAPI=8
@@ -17,6 +17,9 @@ DEPEND="
        dev-libs/openssl
        "
 RDEPEND="${DEPEND}"
+PATCHES=(
+       "${FILESDIR}/${PN}-ed25519.patch"
+)
 
 src_prepare() {
        mv -f Makefile.gnu Makefile

Reply via email to