aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authororbea <orbea@riseup.net>2023-05-31 06:16:50 -0700
committerorbea <orbea@riseup.net>2023-05-31 06:16:50 -0700
commit74cff2ebe3f99bcbf115c77cf564591918e9ab54 (patch)
treedc8bdbf1f3672d9ba24f3753ad1e35e78688c5a9
parentnet-nds/openldap: unkeyword 2.6.3-r7 for ~x86-solaris (diff)
downloadlibressl-74cff2ebe3f99bcbf115c77cf564591918e9ab54.tar.gz
libressl-74cff2ebe3f99bcbf115c77cf564591918e9ab54.tar.bz2
libressl-74cff2ebe3f99bcbf115c77cf564591918e9ab54.zip
net-nds/openldap: use upstream libressl patch
Signed-off-by: orbea <orbea@riseup.net>
-rw-r--r--net-nds/openldap/files/openldap-2.6.4-libressl.patch38
-rw-r--r--net-nds/openldap/openldap-2.6.3-r7.ebuild6
2 files changed, 39 insertions, 5 deletions
diff --git a/net-nds/openldap/files/openldap-2.6.4-libressl.patch b/net-nds/openldap/files/openldap-2.6.4-libressl.patch
new file mode 100644
index 0000000..48a8a43
--- /dev/null
+++ b/net-nds/openldap/files/openldap-2.6.4-libressl.patch
@@ -0,0 +1,38 @@
+https://bugs.gentoo.org/903001
+https://bugs.openldap.org/show_bug.cgi?id=10039
+https://git.openldap.org/openldap/openldap/-/merge_requests/613
+https://git.openldap.org/openldap/openldap/-/commit/cb73e60a49f85bf5207b2fd0f557013be29ac072
+
+From cb73e60a49f85bf5207b2fd0f557013be29ac072 Mon Sep 17 00:00:00 2001
+From: orbea <orbea@riseup.net>
+Date: Wed, 12 Apr 2023 12:55:46 -0700
+Subject: [PATCH] ITS#10039 Test for SSL_CTX_set_ciphersuites()
+
+When configuring OpenLDAP using --with-tls=openssl with LibreSSL the
+configure will fail to detect SSL_export_keyring_material_early() since
+LibreSSL doesn't support this function yet. However OpenLDAP doesn't
+actually use this function and only checks for it to ensure a modern
+OpenSSL API is used. This can be easily solved by checking for an
+equivalent modern OpenSSL function which both LibreSSL and OpenSSL both
+support such as SSL_CTX_set_ciphersuites(). Doing this allows the build
+and tests to succeed with modern LibreSSL versions. This was tested with
+LibreSSL >= 3.6.
+
+Bug: https://bugs.openldap.org/show_bug.cgi?id=10039
+---
+ configure.ac | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/configure.ac b/configure.ac
+index 2cf28ef346..c4e2a905e2 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -1243,7 +1243,7 @@ if test $ol_with_tls = openssl || test $ol_with_tls = auto ; then
+ [#endif]])],
+ , [AC_MSG_FAILURE([OpenSSL 1.1.1 or newer required])])
+
+- AC_CHECK_LIB(ssl, SSL_export_keying_material_early,
++ AC_CHECK_LIB(ssl, SSL_CTX_set_ciphersuites,
+ [have_openssl=yes], [have_openssl=no],
+ [-lcrypto])
+
diff --git a/net-nds/openldap/openldap-2.6.3-r7.ebuild b/net-nds/openldap/openldap-2.6.3-r7.ebuild
index 1d206ef..7c5657c 100644
--- a/net-nds/openldap/openldap-2.6.3-r7.ebuild
+++ b/net-nds/openldap/openldap-2.6.3-r7.ebuild
@@ -144,6 +144,7 @@ PATCHES=(
"${FILESDIR}"/${PN}-2.6.1-fix-missing-mapping.patch
"${FILESDIR}"/${PN}-2.6.1-fix-bashism-configure.patch
"${FILESDIR}"/${PN}-2.6.3-clang16.patch
+ "${FILESDIR}"/${PN}-2.6.4-libressl.patch
)
openldap_filecount() {
@@ -498,11 +499,6 @@ multilib_src_configure() {
tc-export AR CC CXX
- # Fix for libressl from OpenBSD:
- # bypass autoconf check for OpenSSL 1.1.1+ function which is not
- # actually used in OpenLDAP code
- export ac_cv_lib_ssl_SSL_export_keying_material_early=yes
-
ECONF_SOURCE="${S}" econf \
--libexecdir="${EPREFIX}"/usr/$(get_libdir)/openldap \
--localstatedir="${EPREFIX}"/var \