And revert r483545, it breaks linkage of qt4-network consumers

This commit is contained in:
Antoine Brodin 2018-10-31 06:54:14 +00:00
parent 8faf9800c4
commit 593ee4c702
Notes: svn2git 2021-03-31 03:12:20 +00:00
svn path=/head/; revision=483554
4 changed files with 6 additions and 110 deletions

View File

@ -3,7 +3,7 @@
PORTNAME= network
DISTVERSION= ${QT4_VERSION}
PORTREVISION= 6
PORTREVISION= 7
CATEGORIES= net ipv6
PKGNAMEPREFIX= qt4-
@ -13,6 +13,9 @@ COMMENT= Qt network module
LICENSE= GPLv3 LGPL21 LGPL3 GFDL
LICENSE_COMB= dual
BROKEN_SSL= openssl-devel
BROKEN_SSL_REASON_openssl-devel= error: member access into incomplete type 'RSA' (aka 'rsa_st')
RUN_DEPENDS= ${LOCALBASE}/share/certs/ca-root-nss.crt:security/ca_root_nss
USES= qmake:no_env qt-dist:4 ssl

View File

@ -1,44 +0,0 @@
--- src/network/ssl/qsslcertificate.cpp.orig 2015-05-07 14:14:44 UTC
+++ src/network/ssl/qsslcertificate.cpp
@@ -261,7 +261,7 @@ QByteArray QSslCertificate::version() const
QMutexLocker lock(QMutexPool::globalInstanceGet(d.data()));
if (d->versionString.isEmpty() && d->x509)
d->versionString =
- QByteArray::number(qlonglong(q_ASN1_INTEGER_get(d->x509->cert_info->version)) + 1);
+ QByteArray::number(qlonglong(X509_get_version(d->x509)) + 1);
return d->versionString;
}
@@ -276,7 +276,7 @@ QByteArray QSslCertificate::serialNumber() const
{
QMutexLocker lock(QMutexPool::globalInstanceGet(d.data()));
if (d->serialNumberString.isEmpty() && d->x509) {
- ASN1_INTEGER *serialNumber = d->x509->cert_info->serialNumber;
+ ASN1_INTEGER *serialNumber = X509_get_serialNumber(d->x509);
// if we cannot convert to a long, just output the hexadecimal number
if (serialNumber->length > 4) {
QByteArray hexString;
@@ -489,19 +489,19 @@ QSslKey QSslCertificate::publicKey() const
QSslKey key;
key.d->type = QSsl::PublicKey;
- X509_PUBKEY *xkey = d->x509->cert_info->key;
+ X509_PUBKEY *xkey = X509_get_X509_PUBKEY(d->x509);
EVP_PKEY *pkey = q_X509_PUBKEY_get(xkey);
Q_ASSERT(pkey);
- if (q_EVP_PKEY_type(pkey->type) == EVP_PKEY_RSA) {
+ if (q_EVP_PKEY_type(EVP_PKEY_id(pkey)) == EVP_PKEY_RSA) {
key.d->rsa = q_EVP_PKEY_get1_RSA(pkey);
key.d->algorithm = QSsl::Rsa;
key.d->isNull = false;
- } else if (q_EVP_PKEY_type(pkey->type) == EVP_PKEY_DSA) {
+ } else if (q_EVP_PKEY_type(EVP_PKEY_id(pkey)) == EVP_PKEY_DSA) {
key.d->dsa = q_EVP_PKEY_get1_DSA(pkey);
key.d->algorithm = QSsl::Dsa;
key.d->isNull = false;
- } else if (q_EVP_PKEY_type(pkey->type) == EVP_PKEY_DH) {
+ } else if (q_EVP_PKEY_type(EVP_PKEY_id(pkey)) == EVP_PKEY_DH) {
// DH unsupported
} else {
// error?

View File

@ -1,17 +0,0 @@
--- src/network/ssl/qsslkey.cpp.orig 2015-05-07 14:14:44 UTC
+++ src/network/ssl/qsslkey.cpp
@@ -321,8 +321,12 @@ int QSslKey::length() const
{
if (d->isNull)
return -1;
- return (d->algorithm == QSsl::Rsa)
- ? q_BN_num_bits(d->rsa->n) : q_BN_num_bits(d->dsa->p);
+ return (d->algorithm == QSsl::Rsa) ?
+#if OPENSSL_VERSION_NUMBER >= 0x10100005L
+ q_BN_num_bits(RSA_get0_n(d->rsa)) : q_BN_num_bits(DSA_get0_p(d->dsa));
+#else
+ q_BN_num_bits(d->rsa->n) : q_BN_num_bits(d->dsa->p);
+#endif
}
/*!

View File

@ -2,17 +2,7 @@
*
--- src/network/ssl/qsslsocket_openssl.cpp.orig 2015-05-07 14:14:44 UTC
+++ src/network/ssl/qsslsocket_openssl.cpp
@@ -222,8 +222,7 @@ QSslCipher QSslSocketBackendPrivate::QSslCipher_from_S
ciph.d->encryptionMethod = descriptionList.at(4).mid(4);
ciph.d->exportable = (descriptionList.size() > 6 && descriptionList.at(6) == QLatin1String("export"));
- ciph.d->bits = cipher->strength_bits;
- ciph.d->supportedBits = cipher->alg_bits;
+ ciph.d->bits = SSL_CIPHER_get_bits(cipher, &ciph.d->supportedBits);
}
return ciph;
@@ -267,9 +266,13 @@ init_context:
@@ -267,9 +267,13 @@ init_context:
#endif
break;
case QSsl::SslV3:
@ -27,7 +17,7 @@
case QSsl::TlsV1SslV3: // SslV2 will be disabled below
case QSsl::AnyProtocol:
default:
@@ -297,8 +300,10 @@ init_context:
@@ -297,8 +301,10 @@ init_context:
// Enable bug workarounds.
long options;
@ -39,39 +29,3 @@
else
options = SSL_OP_ALL;
@@ -325,7 +330,7 @@ init_context:
options |= SSL_OP_NO_COMPRESSION;
#endif
- q_SSL_CTX_set_options(ctx, options);
+ SSL_CTX_set_options(ctx, options);
// Initialize ciphers
QByteArray cipherString;
@@ -363,7 +368,7 @@ init_context:
//
// See also: QSslContext::fromConfiguration()
if (caCertificate.expiryDate() >= QDateTime::currentDateTime()) {
- q_X509_STORE_add_cert(ctx->cert_store, (X509 *)caCertificate.handle());
+ q_X509_STORE_add_cert(SSL_CTX_get_cert_store(ctx), (X509 *)caCertificate.handle());
}
}
@@ -659,13 +664,17 @@ void QSslSocketPrivate::resetDefaultCiphers()
STACK_OF(SSL_CIPHER) *supportedCiphers = q_SSL_get_ciphers(mySsl);
for (int i = 0; i < q_sk_SSL_CIPHER_num(supportedCiphers); ++i) {
if (SSL_CIPHER *cipher = q_sk_SSL_CIPHER_value(supportedCiphers, i)) {
+#if OPENSSL_VERSION_NUMBER < 0x10100005L
if (cipher->valid) {
+#endif
QSslCipher ciph = QSslSocketBackendPrivate::QSslCipher_from_SSL_CIPHER(cipher);
if (!ciph.isNull()) {
if (!ciph.name().toLower().startsWith(QLatin1String("adh")))
ciphers << ciph;
}
+#if OPENSSL_VERSION_NUMBER < 0x10100005L
}
+#endif
}
}