commit: 5ee676005526e626e5bcdd76b59c6a7e5996b1e0 Author: Bjarke Istrup Pedersen <gurligebis <AT> gentoo <DOT> org> AuthorDate: Mon Nov 16 11:40:08 2015 +0000 Commit: Bjarke Istrup Pedersen <gurligebis <AT> gentoo <DOT> org> CommitDate: Mon Nov 16 11:40:08 2015 +0000 URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=5ee67600
net-wireless/wpa-supplicant: Fix broken compile against LibreSSL Package-Manager: portage-2.2.24 .../files/wpa_supplicant-2.5-libressl.patch | 71 ++++++++++++++++++++++ .../wpa_supplicant/wpa_supplicant-2.5-r1.ebuild | 3 + 2 files changed, 74 insertions(+) diff --git a/net-wireless/wpa_supplicant/files/wpa_supplicant-2.5-libressl.patch b/net-wireless/wpa_supplicant/files/wpa_supplicant-2.5-libressl.patch new file mode 100644 index 0000000..458628c --- /dev/null +++ b/net-wireless/wpa_supplicant/files/wpa_supplicant-2.5-libressl.patch @@ -0,0 +1,71 @@ +From c987191de92bacbf27df5d345a9d18aea8ea8a98 Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Marek=20Beh=C3=BAn?= <[email protected]> +Date: Mon, 16 Nov 2015 02:18:22 +0100 +Subject: [PATCH] Check for LIBRESSL_VERSION_NUMBER in tls_openssl.c + +LibreSSL does not yet support the new API, so do not use it +when LIBRESSL_VERSION_NUMBER macro is defined. +--- + src/crypto/tls_openssl.c | 12 ++++++------ + 1 file changed, 6 insertions(+), 6 deletions(-) + +diff --git a/src/crypto/tls_openssl.c b/src/crypto/tls_openssl.c +index c2bb8c5..3883465 100644 +--- a/src/crypto/tls_openssl.c ++++ b/src/crypto/tls_openssl.c +@@ -3163,7 +3163,7 @@ static int tls_parse_pkcs12(struct tls_data *data, SSL *ssl, PKCS12 *p12, + } + + if (certs) { +-#if OPENSSL_VERSION_NUMBER >= 0x10002000L ++#if OPENSSL_VERSION_NUMBER >= 0x10002000L && !defined(LIBRESSL_VERSION_NUMBER) + SSL_clear_chain_certs(ssl); + while ((cert = sk_X509_pop(certs)) != NULL) { + X509_NAME_oneline(X509_get_subject_name(cert), buf, +@@ -3746,7 +3746,7 @@ int tls_connection_get_random(void *ssl_ctx, struct tls_connection *conn, + if (conn == NULL || keys == NULL) + return -1; + ssl = conn->ssl; +-#if OPENSSL_VERSION_NUMBER < 0x10100000L ++#if OPENSSL_VERSION_NUMBER < 0x10100000L || defined(LIBRESSL_VERSION_NUMBER) + if (ssl == NULL || ssl->s3 == NULL || ssl->session == NULL) + return -1; + +@@ -3775,7 +3775,7 @@ int tls_connection_get_random(void *ssl_ctx, struct tls_connection *conn, + #ifndef CONFIG_FIPS + static int openssl_get_keyblock_size(SSL *ssl) + { +-#if OPENSSL_VERSION_NUMBER < 0x10100000L ++#if OPENSSL_VERSION_NUMBER < 0x10100000L || defined(LIBRESSL_VERSION_NUMBER) + const EVP_CIPHER *c; + const EVP_MD *h; + int md_size; +@@ -3845,7 +3845,7 @@ static int openssl_tls_prf(struct tls_connection *conn, + "mode"); + return -1; + #else /* CONFIG_FIPS */ +-#if OPENSSL_VERSION_NUMBER < 0x10100000L ++#if OPENSSL_VERSION_NUMBER < 0x10100000L || defined(LIBRESSL_VERSION_NUMBER) + SSL *ssl; + u8 *rnd; + int ret = -1; +@@ -4328,7 +4328,7 @@ int tls_connection_set_cipher_list(void *tls_ctx, struct tls_connection *conn, + + wpa_printf(MSG_DEBUG, "OpenSSL: cipher suites: %s", buf + 1); + +-#if OPENSSL_VERSION_NUMBER >= 0x10100000L ++#if OPENSSL_VERSION_NUMBER >= 0x10100000L && !defined(LIBRESSL_VERSION_NUMBER) + #if defined(EAP_FAST) || defined(EAP_FAST_DYNAMIC) || defined(EAP_SERVER_FAST) + if (os_strstr(buf, ":ADH-")) { + /* +@@ -4917,7 +4917,7 @@ static int tls_sess_sec_cb(SSL *s, void *secret, int *secret_len, + struct tls_connection *conn = arg; + int ret; + +-#if OPENSSL_VERSION_NUMBER < 0x10100000L ++#if OPENSSL_VERSION_NUMBER < 0x10100000L || defined(LIBRESSL_VERSION_NUMBER) + if (conn == NULL || conn->session_ticket_cb == NULL) + return 0; + +-- +2.4.10 diff --git a/net-wireless/wpa_supplicant/wpa_supplicant-2.5-r1.ebuild b/net-wireless/wpa_supplicant/wpa_supplicant-2.5-r1.ebuild index b183c36..9f041ed 100644 --- a/net-wireless/wpa_supplicant/wpa_supplicant-2.5-r1.ebuild +++ b/net-wireless/wpa_supplicant/wpa_supplicant-2.5-r1.ebuild @@ -127,6 +127,9 @@ src_prepare() { # SO WOULD BE NICE TO JUST DROP IT, IF IT IS NOT NEEDED. # bug (374089) #epatch "${FILESDIR}/${P}-dbus-WPAIE-fix.patch" + + # bug (565270) + epatch "${FILESDIR}/${P}-libressl.patch" } src_configure() {
