Date: Friday, November 15, 2013 @ 22:03:19 Author: pierre Revision: 199760
Disable MD2 support * use openssl 1.0 compatibility patch by Gentoo * fixes FS#37780 Added: qca-ossl/trunk/qca-ossl-openssl-1.0.0.patch Modified: qca-ossl/trunk/PKGBUILD Deleted: qca-ossl/trunk/no-whirlpool.patch ------------------------------+ PKGBUILD | 13 ++- no-whirlpool.patch | 21 ----- qca-ossl-openssl-1.0.0.patch | 155 +++++++++++++++++++++++++++++++++++++++++ 3 files changed, 164 insertions(+), 25 deletions(-) Modified: PKGBUILD =================================================================== --- PKGBUILD 2013-11-15 19:16:01 UTC (rev 199759) +++ PKGBUILD 2013-11-15 21:03:19 UTC (rev 199760) @@ -4,7 +4,7 @@ pkgname=qca-ossl pkgver=2.0.0 _pkgver=2.0.0-beta3 -pkgrel=6 +pkgrel=7 pkgdesc="Qt Cryptographic Architecture" arch=('i686' 'x86_64') url="http://delta.affinix.com/qca/" @@ -12,13 +12,18 @@ depends=('qca') makedepends=('icu') source=("http://delta.affinix.com/download/qca/2.0/plugins/${pkgname}-${_pkgver}.tar.bz2" - 'no-whirlpool.patch') + 'qca-ossl-openssl-1.0.0.patch') md5sums=('bdc62c01321385c7da8d27b3902910ce' - '1be7ee2e5f32733b90452fb46b9c69f9') + '3b443b8e0347cf3cdf8f6c70e519a18f') +prepare() { + cd $srcdir/${pkgname}-${_pkgver} + # Patch by Gentoo + patch -p1 -i $srcdir/qca-ossl-openssl-1.0.0.patch +} + build() { cd $srcdir/${pkgname}-${_pkgver} - patch -p1 -i $srcdir/no-whirlpool.patch ./configure \ --release \ --no-separate-debug-info Deleted: no-whirlpool.patch =================================================================== --- no-whirlpool.patch 2013-11-15 19:16:01 UTC (rev 199759) +++ no-whirlpool.patch 2013-11-15 21:03:19 UTC (rev 199760) @@ -1,21 +0,0 @@ -diff -up qca-ossl-2.0.0-beta3/qca-ossl.cpp.no-whirlpool qca-ossl-2.0.0-beta3/qca-ossl.cpp ---- qca-ossl-2.0.0-beta3/qca-ossl.cpp.no-whirlpool 2007-12-11 07:34:57.000000000 +0100 -+++ qca-ossl-2.0.0-beta3/qca-ossl.cpp 2009-01-26 14:59:42.000000000 +0100 -@@ -6597,7 +6597,7 @@ static QStringList all_hash_types() - #ifdef SHA512_DIGEST_LENGTH - list += "sha512"; - #endif --#ifdef OBJ_whirlpool -+#ifdef WHIRLPOOL_DIGEST_LENGTH - list += "whirlpool"; - #endif - return list; -@@ -6810,7 +6810,7 @@ public: - else if ( type == "sha512" ) - return new opensslHashContext( EVP_sha512(), this, type); - #endif --#ifdef OBJ_whirlpool -+#ifdef WHIRLPOOL_DIGEST_LENGTH - else if ( type == "whirlpool" ) - return new opensslHashContext( EVP_whirlpool(), this, type); - #endif Added: qca-ossl-openssl-1.0.0.patch =================================================================== --- qca-ossl-openssl-1.0.0.patch (rev 0) +++ qca-ossl-openssl-1.0.0.patch 2013-11-15 21:03:19 UTC (rev 199760) @@ -0,0 +1,155 @@ +diff -ru a/CMakeLists.txt b/CMakeLists.txt +--- a/CMakeLists.txt 2007-06-29 23:10:53.000000000 +0200 ++++ b/CMakeLists.txt 2010-04-18 04:05:09.000000000 +0200 +@@ -1,5 +1,12 @@ + # QCA OSSL + ++INCLUDE(CheckFunctionExists) ++SET(CMAKE_REQUIRED_LIBRARIES ${OPENSSL_LIBRARIES}) ++CHECK_FUNCTION_EXISTS(EVP_md2 HAVE_OPENSSL_MD2) ++IF (HAVE_OPENSSL_MD2) ++ ADD_DEFINITIONS(-DHAVE_OPENSSL_MD2) ++ENDIF (HAVE_OPENSSL_MD2) ++ + SET(QCA_OSSL_SOURCES qca-ossl.cpp) + + MY_AUTOMOC( QCA_OSSL_SOURCES ) +diff -ru a/qca-ossl.cpp b/qca-ossl.cpp +--- a/qca-ossl.cpp 2007-12-11 07:34:57.000000000 +0100 ++++ b/qca-ossl.cpp 2010-04-18 04:08:46.000000000 +0200 +@@ -42,6 +42,15 @@ + #define OSSL_097 + #endif + ++#if defined(OPENSSL_VERSION_NUMBER) && OPENSSL_VERSION_NUMBER >= 0x10000000L ++// OpenSSL 1.0.0 makes a few changes that aren't very C++ friendly... ++// Among other things, CHECKED_PTR_OF returns a void*, but is used in ++// contexts requiring STACK pointers. ++#undef CHECKED_PTR_OF ++#define CHECKED_PTR_OF(type, p) \ ++ ((_STACK*) (1 ? p : (type*)0)) ++#endif ++ + using namespace QCA; + + namespace opensslQCAPlugin { +@@ -1771,8 +1780,10 @@ + md = EVP_sha1(); + else if(alg == EMSA3_MD5) + md = EVP_md5(); ++#ifdef HAVE_OPENSSL_MD2 + else if(alg == EMSA3_MD2) + md = EVP_md2(); ++#endif + else if(alg == EMSA3_RIPEMD160) + md = EVP_ripemd160(); + else if(alg == EMSA3_Raw) +@@ -1789,8 +1800,10 @@ + md = EVP_sha1(); + else if(alg == EMSA3_MD5) + md = EVP_md5(); ++#ifdef HAVE_OPENSSL_MD2 + else if(alg == EMSA3_MD2) + md = EVP_md2(); ++#endif + else if(alg == EMSA3_RIPEMD160) + md = EVP_ripemd160(); + else if(alg == EMSA3_Raw) +@@ -3385,9 +3398,11 @@ + case NID_md5WithRSAEncryption: + p.sigalgo = QCA::EMSA3_MD5; + break; ++#ifdef HAVE_OPENSSL_MD2 + case NID_md2WithRSAEncryption: + p.sigalgo = QCA::EMSA3_MD2; + break; ++#endif + case NID_ripemd160WithRSA: + p.sigalgo = QCA::EMSA3_RIPEMD160; + break; +@@ -3871,9 +3886,11 @@ + case NID_md5WithRSAEncryption: + p.sigalgo = QCA::EMSA3_MD5; + break; ++#ifdef HAVE_OPENSSL_MD2 + case NID_md2WithRSAEncryption: + p.sigalgo = QCA::EMSA3_MD2; + break; ++#endif + case NID_ripemd160WithRSA: + p.sigalgo = QCA::EMSA3_RIPEMD160; + break; +@@ -4061,9 +4078,11 @@ + case NID_md5WithRSAEncryption: + p.sigalgo = QCA::EMSA3_MD5; + break; ++#ifdef HAVE_OPENSSL_MD2 + case NID_md2WithRSAEncryption: + p.sigalgo = QCA::EMSA3_MD2; + break; ++#endif + case NID_ripemd160WithRSA: + p.sigalgo = QCA::EMSA3_RIPEMD160; + break; +@@ -6582,7 +6601,9 @@ + list += "sha1"; + list += "sha0"; + list += "ripemd160"; ++#ifdef HAVE_OPENSSL_MD2 + list += "md2"; ++#endif + list += "md4"; + list += "md5"; + #ifdef SHA224_DIGEST_LENGTH +@@ -6597,9 +6618,11 @@ + #ifdef SHA512_DIGEST_LENGTH + list += "sha512"; + #endif ++/* + #ifdef OBJ_whirlpool + list += "whirlpool"; + #endif ++*/ + return list; + } + +@@ -6757,7 +6780,9 @@ + list += all_hash_types(); + list += all_mac_types(); + list += all_cipher_types(); ++#ifdef HAVE_OPENSSL_MD2 + list += "pbkdf1(md2)"; ++#endif + list += "pbkdf1(sha1)"; + list += "pbkdf2(sha1)"; + list += "pkey"; +@@ -6788,8 +6813,10 @@ + return new opensslHashContext( EVP_sha(), this, type); + else if ( type == "ripemd160" ) + return new opensslHashContext( EVP_ripemd160(), this, type); ++#ifdef HAVE_OPENSSL_MD2 + else if ( type == "md2" ) + return new opensslHashContext( EVP_md2(), this, type); ++#endif + else if ( type == "md4" ) + return new opensslHashContext( EVP_md4(), this, type); + else if ( type == "md5" ) +@@ -6810,14 +6837,18 @@ + else if ( type == "sha512" ) + return new opensslHashContext( EVP_sha512(), this, type); + #endif ++/* + #ifdef OBJ_whirlpool + else if ( type == "whirlpool" ) + return new opensslHashContext( EVP_whirlpool(), this, type); + #endif ++*/ + else if ( type == "pbkdf1(sha1)" ) + return new opensslPbkdf1Context( EVP_sha1(), this, type ); ++#ifdef HAVE_OPENSSL_MD2 + else if ( type == "pbkdf1(md2)" ) + return new opensslPbkdf1Context( EVP_md2(), this, type ); ++#endif + else if ( type == "pbkdf2(sha1)" ) + return new opensslPbkdf2Context( this, type ); + else if ( type == "hmac(md5)" )