Bug 227875 - net/qt5-network should be openssl 1.1 compliant
Summary: net/qt5-network should be openssl 1.1 compliant
Status: Closed FIXED
Alias: None
Product: Ports & Packages
Classification: Unclassified
Component: Individual Port(s) (show other bugs)
Version: Latest
Hardware: amd64 Any
: --- Affects Only Me
Assignee: freebsd-kde (group)
URL:
Keywords:
Depends on:
Blocks: 228865
  Show dependency treegraph
 
Reported: 2018-04-30 18:15 UTC by doctor
Modified: 2018-10-12 10:10 UTC (History)
3 users (show)

See Also:
tcberner: maintainer-feedback+


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description doctor 2018-04-30 18:15:27 UTC
my understanding is that qt5-network is compliant with openssl 1.0.2 and openssl 1.1 yet on openssl 1.1 I get  

/usr/local/bin/clang++50 -c -O2 -pipe -fstack-protector -fno-strict-aliasing -std=c++1z -fvisibility=hidden -fvisibility-inlines-hidden -fno-exceptions -Wall -W -Wdate-time -pthread -fPIC -DQT_OPENSSL -DQT_SSL -DQT_NO_USING_NAMESPACE -DQT_NO_FOREACH -DQT_USE_SYSTEM_PROXIES -DQT_NO_NARROWING_CONVERSIONS_IN_CONNECT -DQT_BUILD_NETWORK_LIB -DQT_BUILDING_QT -DQT_NO_CAST_TO_ASCII -DQT_ASCII_CAST_WARNINGS -DQT_MOC_COMPAT -DQT_USE_QSTRINGBUILDER -DQT_DEPRECATED_WARNINGS -DQT_DISABLE_DEPRECATED_BEFORE=0x050000 -DQT_NO_EXCEPTIONS -D_LARGEFILE64_SOURCE -D_LARGEFILE_SOURCE -DQT_NO_DEBUG -DQT_CORE_LIB -I. -Ikernel -I../../include -I../../include/QtNetwork -I../../include/QtNetwork/5.9.4 -I../../include/QtNetwork/5.9.4/QtNetwork -I/usr/local/include/qt5/QtCore/5.9.4 -I/usr/local/include/qt5/QtCore/5.9.4/QtCore -I/usr/local/include/qt5 -I/usr/local/include/qt5/QtCore -I.moc -I/usr/local/include -I/usr/local/lib/qt5/mkspecs/freebsd-clang -o .obj/qsslcertificate_openssl.o ssl/qsslcertificate_openssl.cpp
ssl/qsslcertificate_openssl.cpp:69:30: error: member access into incomplete type 'X509' (aka 'x509_st')
        return qHashBits(x509->sha1_hash, SHA_DIGEST_LENGTH, seed);
                             ^
/usr/local/include/openssl/ossl_typ.h:119:16: note: forward declaration of 'x509_st'
typedef struct x509_st X509;
               ^
ssl/qsslcertificate_openssl.cpp:93:68: error: member access into incomplete type 'X509' (aka 'x509_st')
            QByteArray::number(qlonglong(q_ASN1_INTEGER_get(d->x509->cert_info->version)) + 1);
                                                                   ^
/usr/local/include/openssl/ossl_typ.h:119:16: note: forward declaration of 'x509_st'
typedef struct x509_st X509;
               ^
ssl/qsslcertificate_openssl.cpp:102:45: error: member access into incomplete type 'X509' (aka 'x509_st')
        ASN1_INTEGER *serialNumber = d->x509->cert_info->serialNumber;
                                            ^
/usr/local/include/openssl/ossl_typ.h:119:16: note: forward declaration of 'x509_st'
typedef struct x509_st X509;
               ^
ssl/qsslcertificate_openssl.cpp:238:32: error: member access into incomplete type 'X509' (aka 'x509_st')
    X509_PUBKEY *xkey = d->x509->cert_info->key;
                               ^
/usr/local/include/openssl/ossl_typ.h:93:16: note: forward declaration of 'evp_pkey_st'
typedef struct evp_pkey_st EVP_PKEY;
               ^
ssl/qsslcertificate_openssl.cpp:251:36: error: member access into incomplete type 'EVP_PKEY' (aka 'evp_pkey_st')
    } else if (q_EVP_PKEY_type(pkey->type) == EVP_PKEY_EC) {
                                   ^
/usr/local/include/openssl/ossl_typ.h:93:16: note: forward declaration of 'evp_pkey_st'
typedef struct evp_pkey_st EVP_PKEY;
               ^
ssl/qsslcertificate_openssl.cpp:256:36: error: member access into incomplete type 'EVP_PKEY' (aka 'evp_pkey_st')
    } else if (q_EVP_PKEY_type(pkey->type) == EVP_PKEY_DH) {
                                   ^
/usr/local/include/openssl/ossl_typ.h:93:16: note: forward declaration of 'evp_pkey_st'
typedef struct evp_pkey_st EVP_PKEY;
               ^
8 errors generated.
*** [.obj/qsslcertificate_openssl.o] Error code 1

make[1]: stopped in /usr/ports/net/qt5-network/work/qtbase-opensource-src-5.9.4/src/network
1 error

make[1]: stopped in /usr/ports/net/qt5-network/work/qtbase-opensource-src-5.9.4/src/network
===> Compilation failed unexpectedly.
Try to set MAKE_JOBS_UNSAFE=yes and rebuild before reporting the failure to
the maintainer.
*** Error code 1

Stop.
make: stopped in /usr/ports/net/qt5-network

===>>> make build failed for net/qt5-network
===>>> Aborting update

===>>> Upgrade of qt5-core-5.9.4_1 to qt5-core-5.9.4_2 complete


===>>> You can restart from the point of failure with this command line:
       portmaster <flags> net/qt5-network 

This command has been saved to /tmp/portmasterfail.txt
Comment 1 Tobias C. Berner freebsd_committer freebsd_triage 2018-05-01 07:48:45 UTC
Hi there

I think OpenSSL v1.1 support was never back ported to 5.9.*. It
should appear when we upgraded Qt to 5.10.


mfg Tobias
Comment 3 Tobias C. Berner freebsd_committer freebsd_triage 2018-05-19 05:02:06 UTC
Hi there

Now that Qt5.10.1 has landed, could you check if it works now?

mfg Tobias
Comment 4 Tobias C. Berner freebsd_committer freebsd_triage 2018-06-10 11:20:53 UTC
Do you have the configure output where it fails to detect ossl1.

mfg Tobias
Comment 5 Bernard Spil freebsd_committer freebsd_triage 2018-06-10 11:23:44 UTC
Hi Tobias,

Currently in the process of doing a full exp-run with openssl-devel https://keg.brnrd.eu/build.html?mastername=111amd64-default-openssl111&build=2018-06-10_09h22m06s

Will update once I have the logs.

FWIW logs for qt4: https://keg.brnrd.eu/data/111amd64-default-openssl111/2018-06-10_09h22m06s/logs/errors/qt4-network-4.8.7_3.log
Comment 6 Tobias C. Berner freebsd_committer freebsd_triage 2018-06-10 11:33:55 UTC
I highly doubt that there is a chance of Qt4 ever supporting it. :)
Comment 7 Tobias C. Berner freebsd_committer freebsd_triage 2018-06-10 11:35:03 UTC
And as for Qt5 -- from your poudriere build:

Checking for OpenSSL Headers... yes
Checking for OpenSSL v. 1.1 support... yes


mfg Tobias
Comment 9 Bernard Spil freebsd_committer freebsd_triage 2018-06-10 12:08:39 UTC
Yes, there are Linux distro's that have switched. I need to compile a list of possible resources where port maintainers can search for fixes :D

Thanks for this one... Will document on FreeBSD wiki
Comment 10 Adriaan de Groot freebsd_committer freebsd_triage 2018-10-12 10:10:36 UTC
With Qt 5.11 openssl 1.1.1 is supported.