opendkim: rebuild against OpenSSL

This commit is contained in:
John 2021-01-06 18:18:29 +01:00
parent 546e740cbf
commit 2eda07e229
3 changed files with 98 additions and 4 deletions

View File

@ -2692,7 +2692,7 @@ libgl2ps.so.1 gl2ps-1.3.9_1
libKF5CoreAddons.so.5 kcoreaddons-5.26.0_1 libKF5CoreAddons.so.5 kcoreaddons-5.26.0_1
librpmatch.so.0 musl-rpmatch-1.0_1 librpmatch.so.0 musl-rpmatch-1.0_1
libmilter.so.1.0.2 libmilter-1.0.2_1 libmilter.so.1.0.2 libmilter-1.0.2_1
libopendkim.so.10 opendkim-2.10.3_1 libopendkim.so.10 opendkim-2.10.3_12
libtevent.so.0 tevent-0.9.28_1 libtevent.so.0 tevent-0.9.28_1
libldb.so.2 ldb-2.2.0_1 libldb.so.2 ldb-2.2.0_1
libpyldb-util.so.2 libpyldb-util-2.2.0_1 libpyldb-util.so.2 libpyldb-util-2.2.0_1

View File

@ -0,0 +1,90 @@
Description: Build and work with either openssl 1.0.2 or 1.1.0
* Add patch to build with either openssl 1.0.2 or 1.1.0 (Closes: #828466)
- Thanks to Sebastian Andrzej Siewior for the patch
Author: Sebastian Andrzej Siewior
Bug-Debian: http://bugs.debian.org/828466
Origin: vendor
Forwarded: no
Reviewed-By: Scott Kitterman <scott@kitterman.com>
Last-Update: <YYYY-MM-DD>
--- configure.ac
+++ configure.ac
@@ -864,26 +864,28 @@ then
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,
--- opendkim/opendkim-crypto.c
+++ opendkim/opendkim-crypto.c
@@ -222,7 +222,11 @@ dkimf_crypto_free_id(void *ptr)
{
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 @@ dkimf_crypto_free(void)
{
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)
{

View File

@ -1,11 +1,11 @@
# Template file for 'opendkim' # Template file for 'opendkim'
pkgname=opendkim pkgname=opendkim
version=2.10.3 version=2.10.3
revision=11 revision=12
build_style=gnu-configure build_style=gnu-configure
configure_args="--with-milter=${XBPS_CROSS_BASE}/usr" configure_args="--with-milter=${XBPS_CROSS_BASE}/usr"
hostmakedepends="pkg-config" hostmakedepends="pkg-config automake gettext libtool"
makedepends="libbsd-devel libressl-devel libmilter-devel" makedepends="libbsd-devel openssl-devel libmilter-devel"
short_desc="DKIM library" short_desc="DKIM library"
maintainer="John Regan <john@jrjrtech.com>" maintainer="John Regan <john@jrjrtech.com>"
license="BSD-3-Clause, Sendmail" license="BSD-3-Clause, Sendmail"
@ -14,6 +14,10 @@ distfiles="${SOURCEFORGE_SITE}/project/${pkgname}/${pkgname}-${version}.tar.gz"
checksum=43a0ba57bf942095fe159d0748d8933c6b1dd1117caf0273fa9a0003215e681b checksum=43a0ba57bf942095fe159d0748d8933c6b1dd1117caf0273fa9a0003215e681b
python_version=2 #unverified python_version=2 #unverified
pre_configure() {
autoreconf -fi
}
post_install() { post_install() {
vlicense LICENSE vlicense LICENSE
vlicense LICENSE.Sendmail vlicense LICENSE.Sendmail