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)" )

Reply via email to