summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBjarke Istrup Pedersen <gurligebis@gentoo.org>2015-11-16 11:40:08 +0000
committerBjarke Istrup Pedersen <gurligebis@gentoo.org>2015-11-16 11:40:08 +0000
commit5ee676005526e626e5bcdd76b59c6a7e5996b1e0 (patch)
tree39ee2126ec4d290fd68291eeeac1dd325d66605e /net-wireless/wpa_supplicant
parentsys-kernel/aufs-sources: Bump to latest aufs, genpatches and linux release (diff)
downloadgentoo-5ee676005526e626e5bcdd76b59c6a7e5996b1e0.tar.gz
gentoo-5ee676005526e626e5bcdd76b59c6a7e5996b1e0.tar.bz2
gentoo-5ee676005526e626e5bcdd76b59c6a7e5996b1e0.zip
net-wireless/wpa-supplicant: Fix broken compile against LibreSSL
Package-Manager: portage-2.2.24
Diffstat (limited to 'net-wireless/wpa_supplicant')
-rw-r--r--net-wireless/wpa_supplicant/files/wpa_supplicant-2.5-libressl.patch71
-rw-r--r--net-wireless/wpa_supplicant/wpa_supplicant-2.5-r1.ebuild3
2 files changed, 74 insertions, 0 deletions
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 000000000000..458628c577dc
--- /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?= <kabel@blackhole.sk>
+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 b183c3643a0a..9f041ed3a0a4 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() {