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 | 2346d5c8fba6b2ca11fc1e609fd58c40c1be6818 (patch) | |
tree | b9035c3672518820d7f564766de7952093922673 /app-crypt/qca-ossl | |
parent | Version bump: 7.2.411 (diff) | |
download | gentoo-2-2346d5c8fba6b2ca11fc1e609fd58c40c1be6818.tar.gz gentoo-2-2346d5c8fba6b2ca11fc1e609fd58c40c1be6818.tar.bz2 gentoo-2-2346d5c8fba6b2ca11fc1e609fd58c40c1be6818.zip |
Fix bug 313571 - openssl-1 support, it also removes MD2 support
(Portage version: 2.2_rc67/cvs/Linux x86_64)
Diffstat (limited to 'app-crypt/qca-ossl')
-rw-r--r-- | app-crypt/qca-ossl/ChangeLog | 8 | ||||
-rw-r--r-- | app-crypt/qca-ossl/files/qca-ossl-openssl-1.0.0.patch | 155 | ||||
-rw-r--r-- | app-crypt/qca-ossl/qca-ossl-2.0.0_beta3-r2.ebuild | 42 |
3 files changed, 204 insertions, 1 deletions
diff --git a/app-crypt/qca-ossl/ChangeLog b/app-crypt/qca-ossl/ChangeLog index 09f13b966ff1..ae96608a47df 100644 --- a/app-crypt/qca-ossl/ChangeLog +++ b/app-crypt/qca-ossl/ChangeLog @@ -1,6 +1,12 @@ # ChangeLog for app-crypt/qca-ossl # Copyright 1999-2010 Gentoo Foundation; Distributed under the GPL v2 -# $Header: /var/cvsroot/gentoo-x86/app-crypt/qca-ossl/ChangeLog,v 1.24 2010/03/26 23:54:21 yngwin Exp $ +# $Header: /var/cvsroot/gentoo-x86/app-crypt/qca-ossl/ChangeLog,v 1.25 2010/04/18 02:28:42 reavertm Exp $ + +*qca-ossl-2.0.0_beta3-r2 (18 Apr 2010) + + 18 Apr 2010; Maciej Mrozowski <reavertm@gentoo.org> + +files/qca-ossl-openssl-1.0.0.patch, +qca-ossl-2.0.0_beta3-r2.ebuild: + Fix bug 313571 - openssl-1 support 26 Mar 2010; Ben de Groot <yngwin@gentoo.org> qca-ossl-2.0.0_beta3-r1.ebuild: 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)" ) diff --git a/app-crypt/qca-ossl/qca-ossl-2.0.0_beta3-r2.ebuild b/app-crypt/qca-ossl/qca-ossl-2.0.0_beta3-r2.ebuild new file mode 100644 index 000000000000..814541fadfbc --- /dev/null +++ b/app-crypt/qca-ossl/qca-ossl-2.0.0_beta3-r2.ebuild @@ -0,0 +1,42 @@ +# Copyright 1999-2010 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: /var/cvsroot/gentoo-x86/app-crypt/qca-ossl/qca-ossl-2.0.0_beta3-r2.ebuild,v 1.1 2010/04/18 02:28:42 reavertm Exp $ + +EAPI="2" +inherit eutils qt4-r2 + +MY_P="${P/_/-}" +QCA_VER="${PV%.*}" + +DESCRIPTION="TLS, S/MIME, PKCS#12, crypto algorithms plugin for QCA" +HOMEPAGE="http://delta.affinix.com/qca/" +SRC_URI="http://delta.affinix.com/download/qca/${QCA_VER}/plugins/${MY_P}.tar.bz2" + +LICENSE="LGPL-2" +SLOT="2" +KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~ppc ~ppc64 ~sparc ~x86 ~x86-fbsd ~amd64-linux ~x86-linux" +IUSE="debug" + +DEPEND=">=app-crypt/qca-${QCA_VER}[debug?] + >=dev-libs/openssl-0.9.6" +RDEPEND="${DEPEND}" + +S=${WORKDIR}/${MY_P} + +PATCHES=( "${FILESDIR}/${PN}-openssl-1.0.0.patch" ) + +src_configure() { + use prefix || EPREFIX= + # Fix some locations + sed -e "s|/usr/|${EPREFIX}/usr/|g" -e "s|usr/local|usr/|g" -i configure + + # cannot use econf because of non-standard configure script + ./configure --qtdir="${EPREFIX}"/usr --no-separate-debug-info \ + $(use debug && echo "--debug" || echo "--release") || die + + eqmake4 +} + +src_install() { + emake INSTALL_ROOT="${D}" install || die +} |