[Openvpn-devel,v2] configure: disable engines if OPENSSL_NO_ENGINE is defined

Message ID 20230909134956.5902-1-orbea@riseup.net
State Accepted
Headers show
Series [Openvpn-devel,v2] configure: disable engines if OPENSSL_NO_ENGINE is defined | expand

Commit Message

orbea Sept. 9, 2023, 1:49 p.m. UTC
From: orbea <orbea@riseup.net>

Starting with LibreSSL 3.8.1 the engines have been removed which causes
the OpenVPN build to fail. This can be solved during configure by
checking if OPENSSL_NO_ENGINE is defined in opensslconf.h.

Signed-off-by: orbea <orbea@riseup.net>
---
 configure.ac | 8 +++++++-
 1 file changed, 7 insertions(+), 1 deletion(-)

Comments

Gert Doering Sept. 10, 2023, 3:05 p.m. UTC | #1
Acked-by: Gert Doering <gert@greenie.muc.de>

Compile-tested on our GH Actions farm (OpenSSL 1.1 and 3.0, on various
OSes).  Not tested against LibreSSL.

Your patch has been applied to the master and release/2.6 branch (compat).

commit 34bf473e19118eecf525e7401ef37b1cbf661e67 (master)
commit a22f017ac249df1170a9480b5d7a1f9cc81201e5 (release/2.6)
Author: orbea
Date:   Sat Sep 9 06:49:56 2023 -0700

     configure: disable engines if OPENSSL_NO_ENGINE is defined

     Signed-off-by: orbea <orbea@riseup.net>
     Acked-by: Gert Doering <gert@greenie.muc.de>
     Message-Id: <20230909134956.5902-1-orbea@riseup.net>
     URL: https://www.mail-archive.com/openvpn-devel@lists.sourceforge.net/msg26994.html
     Signed-off-by: Gert Doering <gert@greenie.muc.de>


--
kind regards,

Gert Doering

Patch

diff --git a/configure.ac b/configure.ac
index 2f65cbd5..266b66f0 100644
--- a/configure.ac
+++ b/configure.ac
@@ -927,11 +927,17 @@  if test "${with_crypto_library}" = "openssl"; then
 				    [AC_LANG_PROGRAM(
 					    [[
 	    #include <openssl/opensslv.h>
+	    #include <openssl/opensslconf.h>
 					    ]],
 					    [[
 	    /*	     Version encoding: MNNFFPPS - see opensslv.h for details */
 	    #if OPENSSL_VERSION_NUMBER >= 0x30000000L
-	    #error Engine supported disabled by default in OpenSSL 3.0+
+	    #error Engine support disabled by default in OpenSSL 3.0+
+	    #endif
+
+	    /*	     BoringSSL and LibreSSL >= 3.8.1 removed engine support */
+	    #ifdef OPENSSL_NO_ENGINE
+	    #error Engine support disabled in openssl/opensslconf.h
 	    #endif
 					    ]]
 				    )],