commit - 07480b90f4ee9246fdc55bbcdd0370c031923420
commit + 33a7c297f9976d9d23fa2912c3ad56e0d91b091a
blob - 058d1919ba16827a0f2c32e04405586ccb316117
blob + 19746f9f6e583080de34e95de1b6cf3d9929833d
--- Makefile
+++ Makefile
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 - 011d047d5401c07146103693f7b58fc5289bdf94
blob + 1f97bd28f4172df60f52b0b2bae40bc4fa0817a0
--- Makefile.gnu
+++ Makefile.gnu
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 - 8b2d2131ea121f527e174e6b59a4bdde8f844193
blob + 2961793635330ed82f566e8870166a7f012e7e7a
--- main.c
+++ main.c
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;
dkim_errx(message, "Can't finalize signature context");
goto fail;
}
+#ifdef HAVE_ED25519
} else {
if (EVP_DigestFinal_ex(message->dctx, bdigest,
&digestsz) != 1) {
dkim_errx(message, "Failed to finalize signature");
goto fail;
}
+#endif
}
if ((tmp = malloc(linelen)) == NULL) {
dkim_err(message, "Can't allocate space for signature");
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");