summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'app-crypt/qca/files/qca-2.1.1-libressl-230-sha0.patch')
-rw-r--r--app-crypt/qca/files/qca-2.1.1-libressl-230-sha0.patch48
1 files changed, 48 insertions, 0 deletions
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 <heirecka@exherbo.org>
+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