commit:     74cff2ebe3f99bcbf115c77cf564591918e9ab54
Author:     orbea <orbea <AT> riseup <DOT> net>
AuthorDate: Wed May 31 13:16:50 2023 +0000
Commit:     orbea <orbea <AT> riseup <DOT> net>
CommitDate: Wed May 31 13:16:50 2023 +0000
URL:        https://gitweb.gentoo.org/repo/proj/libressl.git/commit/?id=74cff2eb

net-nds/openldap: use upstream libressl patch

Signed-off-by: orbea <orbea <AT> riseup.net>

 .../openldap/files/openldap-2.6.4-libressl.patch   | 38 ++++++++++++++++++++++
 net-nds/openldap/openldap-2.6.3-r7.ebuild          |  6 +---
 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 <[email protected]>
+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 \

Reply via email to