opendkim: 2.10.3 -> 2.11.0-Beta2 (#110317)

The last stable opendkim release is from 2015 and does not handle some
signatures such as ed25519 which was standardized for DKIM in 2018.
Both Fedora and Debian ship with 2.11.0 alphas/betas in their stable
releases. Since the development branch has not seen any new commits
since 2018, I doubt there will be a new stable release any time soon.
This commit is contained in:
Milan 2021-01-31 14:08:10 +01:00 committed by GitHub
parent ef84ed93dd
commit cb06a8a558
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 7 additions and 88 deletions

View File

@ -1,13 +1,15 @@
{ lib, stdenv, fetchurl, pkg-config, libbsd, openssl, libmilter
{ lib, stdenv, fetchFromGitHub, pkg-config, libbsd, openssl, libmilter
, autoreconfHook, perl, makeWrapper }:
stdenv.mkDerivation rec {
pname = "opendkim";
version = "2.10.3";
version = "2.11.0-Beta2";
src = fetchurl {
url = "mirror://sourceforge/opendkim/files/${pname}-${version}.tar.gz";
sha256 = "06v8bqhh604sz9rh5bvw278issrwjgc4h1wx2pz9a84lpxbvm823";
src = fetchFromGitHub {
owner = "trusteddomainproject";
repo = "OpenDKIM";
rev = "rel-opendkim-${lib.replaceChars ["."] ["-"] version}";
sha256 = "0nx3in8sa6xna4vfacj8g60hfzk61jpj2ldag80xzxip9c3rd2pw";
};
configureFlags= [
@ -20,8 +22,6 @@ stdenv.mkDerivation rec {
buildInputs = [ libbsd openssl libmilter perl ];
patches = [ ./openssl-1.1.patch ];
postInstall = ''
wrapProgram $out/sbin/opendkim-genkey \
--prefix PATH : ${openssl.bin}/bin

View File

@ -1,81 +0,0 @@
--- a/configure.ac
+++ b/configure.ac
@@ -864,26 +864,28 @@
AC_SEARCH_LIBS([ERR_peek_error], [crypto], ,
AC_MSG_ERROR([libcrypto not found]))
- AC_SEARCH_LIBS([SSL_library_init], [ssl], ,
- [
- if test x"$enable_shared" = x"yes"
- then
- AC_MSG_ERROR([Cannot build shared opendkim
- against static openssl libraries.
- Configure with --disable-shared
- to get this working or obtain a
- shared libssl library for
- opendkim to use.])
- fi
-
- # avoid caching issue - last result of SSL_library_init
- # shouldn't be cached for this next check
- unset ac_cv_search_SSL_library_init
- LIBCRYPTO_LIBS="$LIBCRYPTO_LIBS -ldl"
- AC_SEARCH_LIBS([SSL_library_init], [ssl], ,
- AC_MSG_ERROR([libssl not found]), [-ldl])
- ]
- )
+
+ AC_LINK_IFELSE(
+ [AC_LANG_PROGRAM([[#include <openssl/ssl.h>]],
+ [[SSL_library_init();]])],
+ [od_have_ossl="yes";],
+ [od_have_ossl="no";])
+ if test x"$od_have_ossl" = x"no"
+ then
+ if test x"$enable_shared" = x"yes"
+ then
+ AC_MSG_ERROR([Cannot build shared opendkim
+ against static openssl libraries.
+ Configure with --disable-shared
+ to get this working or obtain a
+ shared libssl library for
+ opendkim to use.])
+ fi
+
+ LIBCRYPTO_LIBS="$LIBCRYPTO_LIBS -ldl"
+ AC_SEARCH_LIBS([SSL_library_init], [ssl], ,
+ AC_MSG_ERROR([libssl not found]), [-ldl])
+ fi
AC_CHECK_DECL([SHA256_DIGEST_LENGTH],
AC_DEFINE([HAVE_SHA256], 1,
--- a/opendkim/opendkim-crypto.c
+++ b/opendkim/opendkim-crypto.c
@@ -222,7 +222,11 @@
{
assert(pthread_setspecific(id_key, ptr) == 0);
+#if OPENSSL_VERSION_NUMBER >= 0x10100000
+ OPENSSL_thread_stop();
+#else
ERR_remove_state(0);
+#endif
free(ptr);
@@ -392,11 +396,15 @@
{
if (crypto_init_done)
{
+#if OPENSSL_VERSION_NUMBER >= 0x10100000
+ OPENSSL_thread_stop();
+#else
CRYPTO_cleanup_all_ex_data();
CONF_modules_free();
EVP_cleanup();
ERR_free_strings();
ERR_remove_state(0);
+#endif
if (nmutexes > 0)
{