From 48dfd5bed3c6b04af0752d085f0e852a1dd1d13f Mon Sep 17 00:00:00 2001 From: Johannes Huber Date: Tue, 19 Apr 2016 16:18:48 +0200 Subject: app-crypt/qca: Fix build with libressl 2.3.0 Revision bump adds two upstream patch to fix build with >=dev-libs/libressl-2.3.0. Gentoo-bug: 573278 Reported-by: maurerpe Package-Manager: portage-2.2.28 --- .../qca/files/qca-2.1.1-libressl-230-sha0.patch | 48 ++++++++++++++++++++++ .../qca/files/qca-2.1.1-libressl-230-sslv3.patch | 28 +++++++++++++ 2 files changed, 76 insertions(+) create mode 100644 app-crypt/qca/files/qca-2.1.1-libressl-230-sha0.patch create mode 100644 app-crypt/qca/files/qca-2.1.1-libressl-230-sslv3.patch (limited to 'app-crypt/qca/files') diff --git a/app-crypt/qca/files/qca-2.1.1-libressl-230-sha0.patch b/app-crypt/qca/files/qca-2.1.1-libressl-230-sha0.patch new file mode 100644 index 000000000000..3e112c622a50 --- /dev/null +++ b/app-crypt/qca/files/qca-2.1.1-libressl-230-sha0.patch @@ -0,0 +1,48 @@ +commit 0dbed8eb38afd1561907a52283091c37e7b85156 +Author: Heiko Becker +Date: Thu Sep 24 23:05:21 2015 +0200 + + qca-ossl: Fix build without support for SHA-0 + + LibreSSL >= 2.3.0 removed support for SHA-0, so there's no EVP_sha + anymore. + Wikipedia says about SHA-0: "160-bit hash function published in 1993 + under the name SHA. It was withdrawn shortly after publication due to + an undisclosed "significant flaw" and replaced by the slightly revised + version SHA-1.' + + REVIEW: 125387 + +diff --git a/plugins/qca-ossl/CMakeLists.txt b/plugins/qca-ossl/CMakeLists.txt +index 3124f02..cdeaeca 100644 +--- a/plugins/qca-ossl/CMakeLists.txt ++++ b/plugins/qca-ossl/CMakeLists.txt +@@ -25,6 +25,13 @@ if(OPENSSL_FOUND) + message(WARNING "qca-ossl will be compiled without AES CTR mode encryption support") + endif(HAVE_OPENSSL_AES_CTR) + ++ check_function_exists(EVP_sha HAVE_OPENSSL_SHA0) ++ if(HAVE_OPENSSL_SHA0) ++ add_definitions(-DHAVE_OPENSSL_SHA0) ++ else(HAVE_OPENSSL_SHA0) ++ message(WARNING "qca-ossl will be compiled without SHA-0 digest algorithm support") ++ endif(HAVE_OPENSSL_SHA0) ++ + set(QCA_OSSL_SOURCES qca-ossl.cpp) + + my_automoc( QCA_OSSL_SOURCES ) +diff --git a/plugins/qca-ossl/qca-ossl.cpp b/plugins/qca-ossl/qca-ossl.cpp +index b34ecc1..61d9e43 100644 +--- a/plugins/qca-ossl/qca-ossl.cpp ++++ b/plugins/qca-ossl/qca-ossl.cpp +@@ -7135,8 +7135,10 @@ public: + return new opensslInfoContext(this); + else if ( type == "sha1" ) + return new opensslHashContext( EVP_sha1(), this, type); ++#ifdef HAVE_OPENSSL_SHA0 + else if ( type == "sha0" ) + return new opensslHashContext( EVP_sha(), this, type); ++#endif + else if ( type == "ripemd160" ) + return new opensslHashContext( EVP_ripemd160(), this, type); + #ifdef HAVE_OPENSSL_MD2 diff --git a/app-crypt/qca/files/qca-2.1.1-libressl-230-sslv3.patch b/app-crypt/qca/files/qca-2.1.1-libressl-230-sslv3.patch new file mode 100644 index 000000000000..accefc49c3d3 --- /dev/null +++ b/app-crypt/qca/files/qca-2.1.1-libressl-230-sslv3.patch @@ -0,0 +1,28 @@ +commit 20a587d77636186edb044cd2b71d6d90fe98d232 +Author: Heiko Becker +Date: Thu Sep 24 22:54:41 2015 +0200 + + qca-ossl: Fix build without SSLv3 + + This fixes building with LibreSSL >= 2.3.0 which has removed support + for SSLv3 completely. As far as I know OpenSSL can be configured to + build without it, so it might be helpful there as well. + + REVIEW: 125386 + +diff --git a/plugins/qca-ossl/qca-ossl.cpp b/plugins/qca-ossl/qca-ossl.cpp +index cfb1e9f..b34ecc1 100644 +--- a/plugins/qca-ossl/qca-ossl.cpp ++++ b/plugins/qca-ossl/qca-ossl.cpp +@@ -5403,9 +5403,11 @@ public: + ctx = SSL_CTX_new(SSLv2_client_method()); + break; + #endif ++#ifndef OPENSSL_NO_SSL3_METHOD + case TLS::SSL_v3: + ctx = SSL_CTX_new(SSLv3_client_method()); + break; ++#endif + case TLS::TLS_v1: + ctx = SSL_CTX_new(TLSv1_client_method()); + break; -- cgit v1.2.3-65-gdbad