diff options
author | Maciej Mrozowski <reavertm@gentoo.org> | 2010-04-18 02:28:43 +0000 |
---|---|---|
committer | Maciej Mrozowski <reavertm@gentoo.org> | 2010-04-18 02:28:43 +0000 |
commit | f7a829a37f7c021c14865a51e92599ed7f254ca0 (patch) | |
tree | b03eac6a66a778f0f2534c9c5c21887760f07e29 /app-crypt/qca-ossl/files | |
parent | Version bump: 7.2.411 (diff) | |
download | historical-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.patch | 155 |
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)" ) |