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
commit2346d5c8fba6b2ca11fc1e609fd58c40c1be6818 (patch)
treeb9035c3672518820d7f564766de7952093922673 /app-crypt/qca-ossl
parentVersion bump: 7.2.411 (diff)
downloadgentoo-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/ChangeLog8
-rw-r--r--app-crypt/qca-ossl/files/qca-ossl-openssl-1.0.0.patch155
-rw-r--r--app-crypt/qca-ossl/qca-ossl-2.0.0_beta3-r2.ebuild42
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
+}