commit:     5788ebc0a13f19bb93a49f2f9b8d10902cb0fcc1
Author:     Jason A. Donenfeld <zx2c4 <AT> gentoo <DOT> org>
AuthorDate: Mon Apr 16 17:29:55 2018 +0000
Commit:     Jason Donenfeld <zx2c4 <AT> gentoo <DOT> org>
CommitDate: Mon Apr 16 17:30:20 2018 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=5788ebc0

net-vpn/openvpn: fix compilation with libressl

Package-Manager: Portage-2.3.28, Repoman-2.3.9

 .../files/openvpn-2.4.5-libressl-macro-fix.patch   | 63 ++++++++++++++++++++++
 net-vpn/openvpn/openvpn-2.4.5.ebuild               |  1 +
 2 files changed, 64 insertions(+)

diff --git a/net-vpn/openvpn/files/openvpn-2.4.5-libressl-macro-fix.patch 
b/net-vpn/openvpn/files/openvpn-2.4.5-libressl-macro-fix.patch
new file mode 100644
index 00000000000..13b97600952
--- /dev/null
+++ b/net-vpn/openvpn/files/openvpn-2.4.5-libressl-macro-fix.patch
@@ -0,0 +1,63 @@
+diff --git a/configure.ac b/configure.ac
+index 626b4dd..2a8e87f 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -948,6 +948,18 @@ if test "${with_crypto_library}" = "openssl"; then
+                       EC_GROUP_order_bits
+               ]
+       )
++      AC_CHECK_DECLS(
++              [
++                      SSL_CTX_get_min_proto_version,
++                      SSL_CTX_get_max_proto_version,
++                      SSL_CTX_set_min_proto_version,
++                      SSL_CTX_set_max_proto_version,
++              ],
++              ,
++              ,
++              [[#include <openssl/ssl.h>]]
++
++      )
+ 
+       CFLAGS="${saved_CFLAGS}"
+       LIBS="${saved_LIBS}"
+diff --git a/src/openvpn/openssl_compat.h b/src/openvpn/openssl_compat.h
+index d375fab..340d452 100644
+--- a/src/openvpn/openssl_compat.h
++++ b/src/openvpn/openssl_compat.h
+@@ -661,7 +661,7 @@ EC_GROUP_order_bits(const EC_GROUP *group)
+ #define RSA_F_RSA_OSSL_PRIVATE_ENCRYPT       RSA_F_RSA_EAY_PRIVATE_ENCRYPT
+ #endif
+ 
+-#ifndef SSL_CTX_get_min_proto_version
++#if !HAVE_DECL_SSL_CTX_GET_MIN_PROTO_VERSION
+ /** Return the min SSL protocol version currently enabled in the context.
+  *  If no valid version >= TLS1.0 is found, return 0. */
+ static inline int
+@@ -684,7 +684,7 @@ SSL_CTX_get_min_proto_version(SSL_CTX *ctx)
+ }
+ #endif /* SSL_CTX_get_min_proto_version */
+ 
+-#ifndef SSL_CTX_get_max_proto_version
++#if !HAVE_DECL_SSL_CTX_GET_MAX_PROTO_VERSION
+ /** Return the max SSL protocol version currently enabled in the context.
+  *  If no valid version >= TLS1.0 is found, return 0. */
+ static inline int
+@@ -707,7 +707,7 @@ SSL_CTX_get_max_proto_version(SSL_CTX *ctx)
+ }
+ #endif /* SSL_CTX_get_max_proto_version */
+ 
+-#ifndef SSL_CTX_set_min_proto_version
++#if !HAVE_DECL_SSL_CTX_SET_MIN_PROTO_VERSION
+ /** Mimics SSL_CTX_set_min_proto_version for OpenSSL < 1.1 */
+ static inline int
+ SSL_CTX_set_min_proto_version(SSL_CTX *ctx, long tls_ver_min)
+@@ -736,7 +736,7 @@ SSL_CTX_set_min_proto_version(SSL_CTX *ctx, long 
tls_ver_min)
+ }
+ #endif /* SSL_CTX_set_min_proto_version */
+ 
+-#ifndef SSL_CTX_set_max_proto_version
++#if !HAVE_DECL_SSL_CTX_SET_MAX_PROTO_VERSION
+ /** Mimics SSL_CTX_set_max_proto_version for OpenSSL < 1.1 */
+ static inline int
+ SSL_CTX_set_max_proto_version(SSL_CTX *ctx, long tls_ver_max)

diff --git a/net-vpn/openvpn/openvpn-2.4.5.ebuild 
b/net-vpn/openvpn/openvpn-2.4.5.ebuild
index 7143fb14c09..d93cd5da7e5 100644
--- a/net-vpn/openvpn/openvpn-2.4.5.ebuild
+++ b/net-vpn/openvpn/openvpn-2.4.5.ebuild
@@ -49,6 +49,7 @@ CONFIG_CHECK="~TUN"
 
 PATCHES=(
        "${FILESDIR}/${PN}-external-cmocka.patch"
+       "${FILESDIR}/${P}-libressl-macro-fix.patch"
 )
 
 pkg_setup()  {

Reply via email to