summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMaciej Mrozowski <reavertm@gentoo.org>2010-04-18 02:28:43 +0000
committerMaciej Mrozowski <reavertm@gentoo.org>2010-04-18 02:28:43 +0000
commitf7a829a37f7c021c14865a51e92599ed7f254ca0 (patch)
treeb03eac6a66a778f0f2534c9c5c21887760f07e29 /app-crypt/qca-ossl/files
parentVersion bump: 7.2.411 (diff)
downloadhistorical-f7a829a37f7c021c14865a51e92599ed7f254ca0.tar.gz
historical-f7a829a37f7c021c14865a51e92599ed7f254ca0.tar.bz2
historical-f7a829a37f7c021c14865a51e92599ed7f254ca0.zip
Fix bug 313571 - openssl-1 support, it also removes MD2 support
Package-Manager: portage-2.2_rc67/cvs/Linux x86_64
Diffstat (limited to 'app-crypt/qca-ossl/files')
-rw-r--r--app-crypt/qca-ossl/files/qca-ossl-openssl-1.0.0.patch155
1 files changed, 155 insertions, 0 deletions
diff --git a/app-crypt/qca-ossl/files/qca-ossl-openssl-1.0.0.patch b/app-crypt/qca-ossl/files/qca-ossl-openssl-1.0.0.patch
new file mode 100644
index 000000000000..7c6fa5bd4edb
--- /dev/null
+++ b/app-crypt/qca-ossl/files/qca-ossl-openssl-1.0.0.patch
@@ -0,0 +1,155 @@
+diff -ru ../qca-ossl-2.0.0-beta3/CMakeLists.txt ./CMakeLists.txt
+--- ../qca-ossl-2.0.0-beta3/CMakeLists.txt 2007-06-29 23:10:53.000000000 +0200
++++ ./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 ../qca-ossl-2.0.0-beta3/qca-ossl.cpp ./qca-ossl.cpp
+--- ../qca-ossl-2.0.0-beta3/qca-ossl.cpp 2007-12-11 07:34:57.000000000 +0100
++++ ./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)" )