1
0
mirror of https://git.FreeBSD.org/ports.git synced 2024-11-23 00:43:28 +00:00

- Update devel/qca to version 2.1.0

- Plugins are no longer available separately so remove security/qca-* and
  replace them with options in devel/qca
- Adjust all ports that depended on security/qca-*
- This also fixes the build of the OpenSSL plugin when OpenSSL doesn't
  support SSLv2

Approved by:	kde (rakuco)
This commit is contained in:
Tijl Coosemans 2015-01-12 16:33:16 +00:00
parent 461b1d009b
commit 59d7ed041b
Notes: svn2git 2021-03-31 03:12:20 +00:00
svn path=/head/; revision=376838
28 changed files with 79 additions and 597 deletions

3
MOVED
View File

@ -7396,3 +7396,6 @@ ports-mgmt/p5-FreeBSD-Pkgs||2015-01-06|Has expired: Does not support pkgng
ports-mgmt/p5-App-Pm2Port||2015-01-06|Has expired: Does not know about USES=perl, generates incorrect pkg-plist
ports-mgmt/bpkg||2015-01-06|Has expired: Does not support pkgng
multimedia/mplayer-fonts||2015-01-11|Obsolete port
security/qca-cyrus-sasl|devel/qca|2015-01-12|Part of devel/qca now
security/qca-gnupg|devel/qca|2015-01-12|Part of devel/qca now
security/qca-ossl|devel/qca|2015-01-12|Part of devel/qca now

View File

@ -3,7 +3,7 @@
PORTNAME= tomahawk
PORTVERSION= 0.7.0
PORTREVISION= 3
PORTREVISION= 4
CATEGORIES= audio
MAINTAINER= arved@FreeBSD.org
@ -21,7 +21,6 @@ LIB_DEPENDS= libattica.so:${PORTSDIR}/x11-toolkits/attica \
libqjson.so:${PORTSDIR}/devel/qjson \
libquazip.so:${PORTSDIR}/archivers/quazip \
libtag.so:${PORTSDIR}/audio/taglib
RUN_DEPENDS= qca-ossl>=2.0.0.b3_4:${PORTSDIR}/security/qca-ossl
CMAKE_ARGS+= -DWITH_BREAKPAD:BOOL="OFF" \
-DCLUCENE_CONFIG_PATH:PATH="${LOCALBASE}/share/clucene"

View File

@ -2,38 +2,36 @@
# $FreeBSD$
PORTNAME= qca
PORTVERSION= 2.0.3
PORTREVISION= 1
PORTVERSION= 2.1.0
CATEGORIES= devel
MASTER_SITES= http://delta.affinix.com/download/qca/2.0/
DISTNAME= qca-${PORTVERSION}
MAINTAINER= kde@FreeBSD.org
COMMENT= Cross-platform crypto API for Qt
USES= tar:bzip2
USE_QT4= corelib qmake_build moc_build
HAS_CONFIGURE= yes
QT_NONSTANDARD= yes
CONFIGURE_ARGS+=--prefix=${PREFIX} \
--disable-tests
CONFIGURE_ENV+= QMAKESPEC=${QMAKESPEC}
USE_OPENSSL= yes
BUILD_DEPENDS= ${LOCALBASE}/share/certs/ca-root-nss.crt:${PORTSDIR}/security/ca_root_nss
RUN_DEPENDS= ${LOCALBASE}/share/certs/ca-root-nss.crt:${PORTSDIR}/security/ca_root_nss
USES= cmake:outsource
CMAKE_ARGS= -DBUILD_PLUGINS=none -DBUILD_TESTS=no -DQT4_BUILD=yes \
-DPKGCONFIG_INSTALL_PREFIX=${PREFIX}/libdata/pkgconfig \
-DQCA_FEATURE_INSTALL_DIR=${QT_MKSPECDIR}/features \
-DQCA_MAN_INSTALL_DIR=${MANPREFIX}/man
CMAKE_ENV= QC_CERTSTORE_PATH=${LOCALBASE}/share/certs/ca-root-nss.crt
USE_LDCONFIG= yes
DESTDIRNAME= INSTALL_ROOT
USE_QT4= corelib moc_build rcc_build
.if defined(PACKAGE_BUILDING)
CONFIGURE_ENV+= QC_VERBOSE=Y
.endif
OPTIONS_DEFINE= DEBUG
OPTIONS_DEFINE= GNUPG OPENSSL SASL
OPTIONS_DEFAULT=GNUPG OPENSSL
OPTIONS_SUB= yes
DEBUG_CONFIGURE_ON= --debug
DEBUG_CONFIGURE_OFF= --release --no-separate-debug-info
GNUPG_CMAKE_ON= -DWITH_gnupg_PLUGIN=yes
GNUPG_RUN_DEPENDS= gpg2:${PORTSDIR}/security/gnupg
pre-configure:
${REINPLACE_CMD} -e 's|%%PREFIX%%|${PREFIX}|g' ${WRKSRC}/configure
${MKDIR} ${WRKSRC}/libdata/pkgconfig
OPENSSL_CMAKE_ON= -DWITH_ossl_PLUGIN=yes
OPENSSL_USE= OPENSSL=yes
SASL_CMAKE_ON= -DWITH_cyrus-sasl_PLUGIN=yes
SASL_LIB_DEPENDS= libsasl2.so:${PORTSDIR}/security/cyrus-sasl2
.include <bsd.port.mk>

View File

@ -1,2 +1,2 @@
SHA256 (qca-2.0.3.tar.bz2) = 8da20c89f390954fdcfcd3c4deef379213ddb5ae9d6b5e0c917d23f5e474895f
SIZE (qca-2.0.3.tar.bz2) = 4530731
SHA256 (qca-2.1.0.tar.gz) = 226dcd76138c3738cdc15863607a96b3758a4c3efd3c47295939bcea4e7a9284
SIZE (qca-2.1.0.tar.gz) = 978473

View File

@ -0,0 +1,33 @@
Fix a few syntax errors such that the QC_CERTSTORE_PATH environment
variable is used correctly.
--- CMakeLists.txt.orig 2014-11-06 08:15:45 UTC
+++ CMakeLists.txt
@@ -262,13 +262,13 @@ message(STATUS "Checking for certstore..
if( WIN32 )
# USE BUILTIN
else ( WIN32 )
- if ( ENV{QC_CERTSTORE_PATH} )
- if(EXISTS ENV{QC_CERTSTORE_PATH})
+ if ( DEFINED ENV{QC_CERTSTORE_PATH} )
+ if(EXISTS $ENV{QC_CERTSTORE_PATH})
set( qca_CERTSTORE $ENV{QC_CERTSTORE_PATH})
- else(EXISTS ENV{QC_CERTSTORE_PATH})
+ else(EXISTS $ENV{QC_CERTSTORE_PATH})
# path to try
- endif(EXISTS ENV{QC_CERTSTORE_PATH})
- else( ENV{QC_CERTSTORE_PATH} )
+ endif(EXISTS $ENV{QC_CERTSTORE_PATH})
+ else( DEFINED ENV{QC_CERTSTORE_PATH} )
set( toTry
"/etc/ssl/certs/ca-certificates.crt"
"/usr/share/ssl/cert.pem"
@@ -282,7 +282,7 @@ else ( WIN32 )
set( qca_CERTSTORE ${_current_try})
endif(EXISTS ${_current_try})
endforeach (_current_try)
- endif( ENV{QC_CERTSTORE_PATH} )
+ endif( DEFINED ENV{QC_CERTSTORE_PATH} )
endif(WIN32)
if (qca_CERTSTORE)

View File

@ -1,59 +0,0 @@
--- ./configure.orig 2008-07-21 21:27:13.000000000 +0400
+++ ./configure 2009-03-15 18:24:58.000000000 +0300
@@ -382,7 +382,7 @@
echo makespec is $defmakespec
fi
-qm_spec=""
+qm_spec="$defmakespec"
# if the makespec is macx-xcode, force macx-g++
if [ "$defmakespec" = "macx-xcode" ]; then
qm_spec=macx-g++
@@ -799,10 +799,10 @@
}
str = QString(
- "prffiles.path = %1/mkspecs/features\n"
+ "prffiles.path = %%PREFIX%%/share/qt4/mkspecs/features\n"
"prffiles.files = crypto.prf\n"
"INSTALLS += prffiles\n"
- ).arg(QLibraryInfo::location(QLibraryInfo::DataPath));
+ );
conf->addExtra(str);
// write pkg-config files
@@ -852,11 +852,11 @@
str += pkg_template2.arg("QCA");
str += pkg_template3.arg("QtCore");
str += pkg_template4.arg("qca");
- f.setFileName("lib/pkgconfig/qca2.pc");
+ f.setFileName("libdata/pkgconfig/qca2.pc");
if(f.open(QFile::WriteOnly | QFile::Truncate))
f.write(str.toLatin1());
f.close();
- pcfiles += "lib/pkgconfig/qca2.pc";
+ pcfiles += "libdata/pkgconfig/qca2.pc";
}
if(do_pc_debug)
@@ -865,17 +865,17 @@
str += pkg_template2.arg("QCA_debug");
str += pkg_template3.arg("QtCore_debug");
str += pkg_template4.arg("qca_debug");
- f.setFileName("lib/pkgconfig/qca2_debug.pc");
+ f.setFileName("libdata/pkgconfig/qca2_debug.pc");
if(f.open(QFile::WriteOnly | QFile::Truncate))
f.write(str.toLatin1());
f.close();
- pcfiles += "lib/pkgconfig/qca2_debug.pc";
+ pcfiles += "libdata/pkgconfig/qca2_debug.pc";
}
if(!pcfiles.isEmpty())
{
str = QString(
- "pcfiles.path = \$\$LIBDIR/pkgconfig\n"
+ "pcfiles.path = %%PREFIX%%/libdata/pkgconfig\n"
"pcfiles.files = %1\n"
"INSTALLS += pcfiles\n"
).arg(pcfiles.join(" "));

View File

@ -1,59 +0,0 @@
--- ./src/botantools/botan/botan/secmem.h 2007-04-20 08:26:13.000000000 +1100
+++ ./src/botantools/botan/botan/secmem.h 2012-05-08 14:54:53.513833555 +1100
@@ -191,15 +191,15 @@
{
public:
MemoryVector<T>& operator=(const MemoryRegion<T>& in)
- { if(this != &in) set(in); return (*this); }
+ { if(this != &in) this->set(in); return (*this); }
MemoryVector(u32bit n = 0) { MemoryRegion<T>::init(false, n); }
MemoryVector(const T in[], u32bit n)
- { MemoryRegion<T>::init(false); set(in, n); }
+ { MemoryRegion<T>::init(false); this->set(in, n); }
MemoryVector(const MemoryRegion<T>& in)
- { MemoryRegion<T>::init(false); set(in); }
+ { MemoryRegion<T>::init(false); this->set(in); }
MemoryVector(const MemoryRegion<T>& in1, const MemoryRegion<T>& in2)
- { MemoryRegion<T>::init(false); set(in1); append(in2); }
+ { MemoryRegion<T>::init(false); this->set(in1); append(in2); }
};
/*************************************************
@@ -210,15 +210,15 @@
{
public:
SecureVector<T>& operator=(const MemoryRegion<T>& in)
- { if(this != &in) set(in); return (*this); }
+ { if(this != &in) this->set(in); return (*this); }
SecureVector(u32bit n = 0) { MemoryRegion<T>::init(true, n); }
SecureVector(const T in[], u32bit n)
- { MemoryRegion<T>::init(true); set(in, n); }
+ { MemoryRegion<T>::init(true); this->set(in, n); }
SecureVector(const MemoryRegion<T>& in)
- { MemoryRegion<T>::init(true); set(in); }
+ { MemoryRegion<T>::init(true); this->set(in); }
SecureVector(const MemoryRegion<T>& in1, const MemoryRegion<T>& in2)
- { MemoryRegion<T>::init(true); set(in1); append(in2); }
+ { MemoryRegion<T>::init(true); this->set(in1); append(in2); }
};
/*************************************************
@@ -229,14 +229,14 @@
{
public:
SecureBuffer<T,L>& operator=(const SecureBuffer<T,L>& in)
- { if(this != &in) set(in); return (*this); }
+ { if(this != &in) this->set(in); return (*this); }
SecureBuffer() { MemoryRegion<T>::init(true, L); }
SecureBuffer(const T in[], u32bit n)
{ MemoryRegion<T>::init(true, L); copy(in, n); }
private:
SecureBuffer<T, L>& operator=(const MemoryRegion<T>& in)
- { if(this != &in) set(in); return (*this); }
+ { if(this != &in) this->set(in); return (*this); }
};
}

View File

@ -1,11 +0,0 @@
--- ./src/src.pro.orig 2008-06-04 04:50:25.000000000 +0400
+++ ./src/src.pro 2009-03-15 18:39:38.000000000 +0300
@@ -110,7 +110,7 @@
incfiles.files += $$QCA_INC/qca.h $$QCA_INC/QtCrypto
!lib_bundle:INSTALLS += incfiles
- manfiles.path = $$DATADIR/man/man1
+ manfiles.path = $$PREFIX/man/man1
manfiles.files = $$QCA_BASE/man/qcatool2.1
INSTALLS += manfiles
}

View File

@ -1,5 +1,5 @@
bin/qcatool2
%%DEBUG%%bin/qcatool2.debug
bin/mozcerts
bin/qcatool
include/QtCrypto/QtCrypto
include/QtCrypto/qca.h
include/QtCrypto/qca_basic.h
@ -8,21 +8,25 @@ include/QtCrypto/qca_core.h
include/QtCrypto/qca_export.h
include/QtCrypto/qca_keystore.h
include/QtCrypto/qca_publickey.h
include/QtCrypto/qca_safetimer.h
include/QtCrypto/qca_securelayer.h
include/QtCrypto/qca_securemessage.h
include/QtCrypto/qca_support.h
include/QtCrypto/qca_textfilter.h
include/QtCrypto/qca_tools.h
include/QtCrypto/qca_version.h
include/QtCrypto/qcaprovider.h
include/QtCrypto/qpipe.h
lib/libqca.prl
lib/cmake/Qca/QcaConfig.cmake
lib/cmake/Qca/QcaConfigVersion.cmake
lib/cmake/Qca/QcaTargets-%%CMAKE_BUILD_TYPE%%.cmake
lib/cmake/Qca/QcaTargets.cmake
lib/libqca.so
lib/libqca.so.2
lib/libqca.so.2.0
lib/libqca.so.2.0.3
%%DEBUG%%lib/libqca.so.2.0.3.debug
lib/libqca.so.2.1.0
%%SASL%%lib/qca/crypto/libqca-cyrus-sasl.so
%%GNUPG%%lib/qca/crypto/libqca-gnupg.so
%%OPENSSL%%lib/qca/crypto/libqca-ossl.so
libdata/pkgconfig/qca2.pc
man/man1/qcatool2.1.gz
share/qca/certs/README
share/qca/certs/rootcerts.pem
share/qt4/mkspecs/features/crypto.prf
man/man1/qcatool.1.gz
%%QT_MKSPECDIR%%/features/crypto.prf

View File

@ -3,7 +3,7 @@
PORTNAME= kmess
PORTVERSION= 2.0.6.2
PORTREVISION= 7
PORTREVISION= 8
CATEGORIES= net-im kde
MASTER_SITES= SF/${PORTNAME}/Latest%20versions/${PORTVERSION}/
@ -11,7 +11,6 @@ MAINTAINER= syncer@gmail.com
COMMENT= MSN Messenger client for KDE
LIB_DEPENDS= libqca.so:${PORTSDIR}/devel/qca
RUN_DEPENDS= qca-ossl>=2.0.0.b3:${PORTSDIR}/security/qca-ossl
LATEST_LINK= ${PORTNAME}-kde4

View File

@ -2,7 +2,7 @@
PORTNAME= kopete
PORTVERSION= ${KDE4_VERSION}
PORTREVISION= 2
PORTREVISION= 3
CATEGORIES= net-im kde
MASTER_SITES= KDE/${KDE4_BRANCH}/${PORTVERSION}/src
DIST_SUBDIR= KDE/${PORTVERSION}
@ -26,8 +26,7 @@ LIB_DEPENDS= libidn.so:${PORTSDIR}/dns/libidn \
libjsoncpp.so:${PORTSDIR}/devel/jsoncpp
BUILD_DEPENDS= ${LOCALBASE}/include/linux/videodev2.h:${PORTSDIR}/multimedia/v4l_compat \
${LOCALBASE}/lib/mediastreamer/plugins/libmsilbc.so:${PORTSDIR}/audio/msilbc
RUN_DEPENDS= qca-ossl>=2.0.0.b3:${PORTSDIR}/security/qca-ossl \
${LOCALBASE}/lib/mediastreamer/plugins/libmsilbc.so:${PORTSDIR}/audio/msilbc
RUN_DEPENDS= ${LOCALBASE}/lib/mediastreamer/plugins/libmsilbc.so:${PORTSDIR}/audio/msilbc
USES= cmake:outsource pkgconfig shebangfix tar:xz webplugin:native
USE_GNOME= libxml2 libxslt

View File

@ -3,7 +3,7 @@
PORTNAME= psi
PORTVERSION= 0.15
PORTREVISION= 3
PORTREVISION= 4
CATEGORIES= net-im
MASTER_SITES= SF/${PORTNAME}/Psi/${PORTVERSION}
@ -12,8 +12,6 @@ COMMENT= Qt 4 based Jabber client
LIB_DEPENDS= libqca.so:${PORTSDIR}/devel/qca \
libminizip.so:${PORTSDIR}/archivers/minizip
RUN_DEPENDS= qca-ossl>=2.0.0.b3:${PORTSDIR}/security/qca-ossl \
qca-gnupg>=2.0.0.b3:${PORTSDIR}/security/qca-gnupg
HAS_CONFIGURE= yes
QT_NONSTANDARD= yes

View File

@ -3,6 +3,7 @@
PORTNAME= qoauth
PORTVERSION= 1.0.1
PORTREVISION= 1
CATEGORIES= net devel security
MASTER_SITES= http://files.ayoy.net/qoauth/release/${PORTVERSION}/src/
DISTNAME= ${PORTNAME}-${PORTVERSION}-src
@ -10,9 +11,7 @@ DISTNAME= ${PORTNAME}-${PORTVERSION}-src
MAINTAINER= kde@FreeBSD.org
COMMENT= Qt 4 support for OAuth-powered network services
BUILD_DEPENDS= qca-ossl>=2.0.0.b3:${PORTSDIR}/security/qca-ossl
LIB_DEPENDS= libqca.so:${PORTSDIR}/devel/qca
RUN_DEPENDS= qca-ossl>=2.0.0.b3:${PORTSDIR}/security/qca-ossl
USES= qmake tar:bzip2
USE_LDCONFIG= yes

View File

@ -3,6 +3,7 @@
PORTNAME= kadu
PORTVERSION= 1.4
PORTREVISION= 1
PORTEPOCH= 1
CATEGORIES= polish net-im
MASTER_SITES= SF/${PORTNAME}/${PORTNAME}/${PORTVERSION}/:kadu \
@ -27,7 +28,6 @@ LIB_DEPENDS= libmpdclient.so:${PORTSDIR}/audio/libmpdclient \
libgadu.so:${PORTSDIR}/polish/libgadu \
libotr.so:${PORTSDIR}/security/libotr \
libenchant.so:${PORTSDIR}/textproc/enchant
RUN_DEPENDS= qca-ossl>=2.0.0.b3:${PORTSDIR}/security/qca-ossl
# TODO ntrack and ntrack-qt (needs porting) ?
# TODO separate ports for plugins and themes (possible starting with 0.10)

View File

@ -839,9 +839,6 @@
SUBDIR += py-zope.security
SUBDIR += py-zope.securitypolicy
SUBDIR += py-zope.session
SUBDIR += qca-cyrus-sasl
SUBDIR += qca-gnupg
SUBDIR += qca-ossl
SUBDIR += qtkeychain
SUBDIR += quantis
SUBDIR += quantis-kmod

View File

@ -1,30 +0,0 @@
# $FreeBSD$
PORTNAME= qca-cyrus-sasl
DISTVERSION= 2.0.0-beta3
PORTREVISION= 2
CATEGORIES= security
MASTER_SITES= http://delta.affinix.com/download/qca/2.0/plugins/
MAINTAINER= kde@FreeBSD.org
COMMENT= QCA Cyrus SASL plugin
LIB_DEPENDS= libqca.so:${PORTSDIR}/devel/qca \
libsasl2.so:${PORTSDIR}/security/cyrus-sasl2
USES= tar:bzip2
USE_QT4= corelib qmake_build moc_build
HAS_CONFIGURE= yes
QT_NONSTANDARD= yes
CONFIGURE_ARGS+=--plugins-path=${PREFIX}/${QT_PLUGINDIR_REL} \
--with-sasl-inc=${LOCALBASE}/include \
--with-sasl-lib=${LOCALBASE}/lib
DESTDIRNAME= INSTALL_ROOT
OPTIONS_DEFINE= DEBUG
OPTIONS_SUB= yes
DEBUG_CONFIGURE_ON= --debug
DEBUG_CONFIGURE_OFF= --release --no-separate-debug-info
.include <bsd.port.mk>

View File

@ -1,2 +0,0 @@
SHA256 (qca-cyrus-sasl-2.0.0-beta3.tar.bz2) = d4370c238808811a0b5e9367069296a6330b169f091c5ea5d4d18eedb6bb11b9
SIZE (qca-cyrus-sasl-2.0.0-beta3.tar.bz2) = 24075

View File

@ -1,6 +0,0 @@
QCA aims to provide a straightforward and cross-platform crypto API,
using Qt datatypes and conventions.
This port installs Cyrus SASL plugin.
WWW: http://delta.affinix.com/qca/

View File

@ -1,4 +0,0 @@
%%QT_PLUGINDIR%%/crypto/libqca-cyrus-sasl.so
%%DEBUG%%%%QT_PLUGINDIR%%/crypto/libqca-cyrus-sasl.so.debug
@dirrmtry %%QT_PLUGINDIR%%/crypto
@dirrmtry %%QT_PLUGINDIR%%

View File

@ -1,27 +0,0 @@
# $FreeBSD$
PORTNAME= qca-gnupg
DISTVERSION= 2.0.0-beta3
PORTREVISION= 1
CATEGORIES= security
MASTER_SITES= http://delta.affinix.com/download/qca/2.0/plugins/
MAINTAINER= kde@FreeBSD.org
COMMENT= QCA GnuPG plugin
LIB_DEPENDS= libqca.so:${PORTSDIR}/devel/qca
USES= tar:bzip2
USE_QT4= corelib qmake_build moc_build
HAS_CONFIGURE= yes
QT_NONSTANDARD= yes
CONFIGURE_ARGS+=--plugins-path=${PREFIX}/${QT_PLUGINDIR_REL}
DESTDIRNAME= INSTALL_ROOT
OPTIONS_DEFINE= DEBUG
OPTIONS_SUB= yes
DEBUG_CONFIGURE_ON= --debug
DEBUG_CONFIGURE_OFF= --release --no-separate-debug-info
.include <bsd.port.mk>

View File

@ -1,2 +0,0 @@
SHA256 (qca-gnupg-2.0.0-beta3.tar.bz2) = b255bc52050811cfdc4256bb48223b7b6d9ca553b6185e98190de15e4b5fffcd
SIZE (qca-gnupg-2.0.0-beta3.tar.bz2) = 38177

View File

@ -1,6 +0,0 @@
QCA aims to provide a straightforward and cross-platform crypto API,
using Qt datatypes and conventions.
This port installs GnuPG plugin.
WWW: http://delta.affinix.com/qca/

View File

@ -1,4 +0,0 @@
%%QT_PLUGINDIR%%/crypto/libqca-gnupg.so
%%DEBUG%%%%QT_PLUGINDIR%%/crypto/libqca-gnupg.so.debug
@dirrmtry %%QT_PLUGINDIR%%/crypto
@dirrmtry %%QT_PLUGINDIR%%

View File

@ -1,31 +0,0 @@
# Created by: Martin Wilke <miwi@FreeBSD.org>
# $FreeBSD$
PORTNAME= qca-ossl
DISTVERSION= 2.0.0-beta3
PORTREVISION= 4
CATEGORIES= security
MASTER_SITES= http://delta.affinix.com/download/qca/2.0/plugins/
MAINTAINER= kde@FreeBSD.org
COMMENT= QCA OpenSLL plugin
LIB_DEPENDS= libqca.so:${PORTSDIR}/devel/qca
USES= tar:bzip2
USE_QT4= corelib qmake_build moc_build
HAS_CONFIGURE= yes
QT_NONSTANDARD= yes
USE_OPENSSL= yes
CONFIGURE_ARGS= --plugins-path=${PREFIX}/${QT_PLUGINDIR_REL} \
--with-openssl-inc=${OPENSSLINC} \
--with-openssl-lib=${OPENSSLLIB}
DESTDIRNAME= INSTALL_ROOT
OPTIONS_DEFINE= DEBUG
OPTIONS_SUB= yes
DEBUG_CONFIGURE_ON= --debug
DEBUG_CONFIGURE_OFF= --release --no-separate-debug-info
.include <bsd.port.mk>

View File

@ -1,2 +0,0 @@
SHA256 (qca-ossl-2.0.0-beta3.tar.bz2) = 08e09ff586b184d5fb53b88f0b48eed0a7bf0a5f210a9f97a76cf4cd5446c67b
SIZE (qca-ossl-2.0.0-beta3.tar.bz2) = 49188

View File

@ -1,282 +0,0 @@
--- ./qca-ossl.cpp.orig 2007-12-11 09:34:57.000000000 +0300
+++ ./qca-ossl.cpp 2010-05-15 20:12:08.151288762 +0400
@@ -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 {
@@ -327,7 +336,7 @@
X509V3_CTX ctx;
X509V3_set_ctx_nodb(&ctx);
X509V3_set_ctx(&ctx, NULL, cert, NULL, NULL, 0);
- X509_EXTENSION *ex = X509V3_EXT_conf_nid(NULL, &ctx, NID_subject_key_identifier, "hash");
+ X509_EXTENSION *ex = X509V3_EXT_conf_nid(NULL, &ctx, NID_subject_key_identifier, (char *)"hash");
return ex;
}
@@ -1182,6 +1191,7 @@
{
pkey = from.pkey;
CRYPTO_add(&pkey->references, 1, CRYPTO_LOCK_EVP_PKEY);
+ raw_type = false;
state = Idle;
}
@@ -1226,6 +1236,7 @@
}
else
{
+ raw_type = false;
EVP_MD_CTX_init(&mdctx);
if(!EVP_VerifyInit_ex(&mdctx, type, NULL))
state = VerifyError;
@@ -1771,8 +1782,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 +1802,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 +3400,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 +3888,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 +4080,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;
@@ -5128,6 +5149,16 @@
v_eof = false;
}
+ // dummy verification function for SSL_set_verify()
+ static int ssl_verify_callback(int preverify_ok, X509_STORE_CTX *x509_ctx)
+ {
+ Q_UNUSED(preverify_ok);
+ Q_UNUSED(x509_ctx);
+
+ // don't terminate handshake in case of verification failure
+ return 1;
+ }
+
virtual QStringList supportedCipherSuites(const TLS::Version &version) const
{
OpenSSL_add_ssl_algorithms();
@@ -5692,6 +5723,14 @@
}
}
+ // request a certificate from the client, if in server mode
+ if(serv)
+ {
+ SSL_set_verify(ssl,
+ SSL_VERIFY_PEER|SSL_VERIFY_CLIENT_ONCE,
+ ssl_verify_callback);
+ }
+
return true;
}
@@ -6155,6 +6194,7 @@
i2d_PKCS7_bio(bo, p7);
//PEM_write_bio_PKCS7(bo, p7);
out = bio2ba(bo);
+ PKCS7_free(p7);
}
else
{
@@ -6582,7 +6622,9 @@
list += "sha1";
list += "sha0";
list += "ripemd160";
+#ifdef HAVE_OPENSSL_MD2
list += "md2";
+#endif
list += "md4";
list += "md5";
#ifdef SHA224_DIGEST_LENGTH
@@ -6597,9 +6639,11 @@
#ifdef SHA512_DIGEST_LENGTH
list += "sha512";
#endif
+/*
#ifdef OBJ_whirlpool
list += "whirlpool";
#endif
+*/
return list;
}
@@ -6671,7 +6715,7 @@
{
}
- Context *clone() const
+ Provider::Context *clone() const
{
return new opensslInfoContext(*this);
}
@@ -6692,6 +6736,34 @@
}
};
+class opensslRandomContext : public RandomContext
+{
+public:
+ opensslRandomContext(QCA::Provider *p) : RandomContext(p)
+ {
+ }
+
+ Context *clone() const
+ {
+ return new opensslRandomContext(*this);
+ }
+
+ QCA::SecureArray nextBytes(int size)
+ {
+ QCA::SecureArray buf(size);
+ int r;
+ // FIXME: loop while we don't have enough random bytes.
+ while (true) {
+ r = RAND_bytes((unsigned char*)(buf.data()), size);
+ if (r == 1) break; // success
+ r = RAND_pseudo_bytes((unsigned char*)(buf.data()),
+ size);
+ if (r >= 0) break; // accept insecure random numbers
+ }
+ return buf;
+ }
+};
+
}
using namespace opensslQCAPlugin;
@@ -6711,11 +6783,14 @@
OpenSSL_add_all_algorithms();
ERR_load_crypto_strings();
- srand(time(NULL));
- char buf[128];
- for(int n = 0; n < 128; ++n)
- buf[n] = rand();
- RAND_seed(buf, 128);
+ // seed the RNG if it's not seeded yet
+ if (RAND_status() == 0) {
+ qsrand(time(NULL));
+ char buf[128];
+ for(int n = 0; n < 128; ++n)
+ buf[n] = qrand();
+ RAND_seed(buf, 128);
+ }
openssl_initted = true;
}
@@ -6754,10 +6829,13 @@
QStringList features() const
{
QStringList list;
+ list += "random";
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";
@@ -6780,7 +6858,9 @@
Context *createContext(const QString &type)
{
//OpenSSL_add_all_digests();
- if ( type == "info" )
+ if ( type == "random" )
+ return new opensslRandomContext(this);
+ else if ( type == "info" )
return new opensslInfoContext(this);
else if ( type == "sha1" )
return new opensslHashContext( EVP_sha1(), this, type);
@@ -6788,8 +6868,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 +6892,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)" )

View File

@ -1,18 +0,0 @@
Taking a hint from the similarly-named Java Cryptography Architecture,
QCA aims to provide a straightforward and cross-platform crypto
API, using Qt datatypes and conventions. QCA separates the API from
the implementation, using plugins known as Providers. The advantage
of this model is to allow applications to avoid linking to or
explicitly depending on any particular cryptographic library. This
allows one to easily change or upgrade crypto implementations
without even needing to recompile the application. QCA should work
everywhere Qt does, including Windows/Unix/MacOSX.
Capabilities:
TLS, CMS, X.509, RSA, DSA, Diffie-Hellman, PKCS#7, PKCS#12, SHA0,
SHA1, SHA224, SHA256, SHA384, SHA512, MD2, MD4, MD5, RIPEMD160,
Blowfish, DES, 3DES, AES128, AES192, AES256, CAST5, HMAC(SHA1, MD5,
RIPEMD160), PBKDF1(MD2, SHA1), PBKDF2(SHA1)
WWW: http://delta.affinix.com/qca/

View File

@ -1,4 +0,0 @@
%%QT_PLUGINDIR%%/crypto/libqca-ossl.so
%%DEBUG%%%%QT_PLUGINDIR%%/crypto/libqca-ossl.so.debug
@dirrmtry %%QT_PLUGINDIR%%/crypto
@dirrmtry %%QT_PLUGINDIR%%