From 7d13afeb9928efd3d9a5bd84261714120363c032 Mon Sep 17 00:00:00 2001 From: Kevin Mihelich Date: Sun, 6 Mar 2016 16:26:50 +0000 Subject: [PATCH] extra/qt4 to 4.8.7-7 --- extra/qt4/PKGBUILD | 7 ++++- extra/qt4/disable-sslv3.patch | 54 +++++++++++++++++++++++++++++++++++ 2 files changed, 60 insertions(+), 1 deletion(-) create mode 100644 extra/qt4/disable-sslv3.patch diff --git a/extra/qt4/PKGBUILD b/extra/qt4/PKGBUILD index adb06f027..6b6c43889 100644 --- a/extra/qt4/PKGBUILD +++ b/extra/qt4/PKGBUILD @@ -12,7 +12,7 @@ pkgname=qt4 pkgver=4.8.7 -pkgrel=6 +pkgrel=7 arch=('i686' 'x86_64') url='http://qt-project.org/' license=('GPL3' 'LGPL' 'FDL' 'custom') @@ -44,6 +44,7 @@ source=("http://download.qt.io/official_releases/qt/4.8/${pkgver}/${_pkgfqn}.tar 'kubuntu_14_systemtrayicon.diff' 'kde4-settings.patch' 'glib-honor-ExcludeSocketNotifiers-flag.diff' + 'disable-sslv3.patch' 'l-qclipboard_fix_recursive.patch' 'l-qclipboard_delay.patch' 'qt-aarch64.patch') @@ -58,6 +59,7 @@ md5sums=('d990ee66bf7ab0c785589776f35ba6ad' 'a523644faa8f98a73f55c4aa23c114a6' '66dfea63916c8dbf47b23cb012ffdccc' '85679531c8a7310317adfb7002d9f99a' + '1803ab6313df762d807678e58fc85f53' '009de09b4e589a7770fba74405656c99' 'addc5e88d538ee55e17bd49ba337ca67' '2a9572f3b758fc3ca9ff5fc40012a2a4') @@ -90,6 +92,9 @@ prepare() { # https://bugreports.qt.io/browse/QTBUG-38585 patch -p0 -i "${srcdir}"/l-qclipboard_delay.patch + # React to OpenSSL's OPENSSL_NO_SSL3 define + patch -p1 -i "${srcdir}"/disable-sslv3.patch + sed -i "s|-O2|${CXXFLAGS}|" mkspecs/common/{g++,gcc}-base.conf sed -i "/^QMAKE_LFLAGS_RPATH/s| -Wl,-rpath,||g" mkspecs/common/gcc-base-unix.conf sed -i "/^QMAKE_LFLAGS\s/s|+=|+= ${LDFLAGS}|g" mkspecs/common/gcc-base.conf diff --git a/extra/qt4/disable-sslv3.patch b/extra/qt4/disable-sslv3.patch new file mode 100644 index 000000000..5ebd97417 --- /dev/null +++ b/extra/qt4/disable-sslv3.patch @@ -0,0 +1,54 @@ +diff -u -r qt-everywhere-opensource-src-4.8.7/src/network/ssl/qsslsocket_openssl.cpp qt-everywhere-opensource-src-4.8.7-nossl3/src/network/ssl/qsslsocket_openssl.cpp +--- qt-everywhere-opensource-src-4.8.7/src/network/ssl/qsslsocket_openssl.cpp 2015-05-07 16:14:44.000000000 +0200 ++++ qt-everywhere-opensource-src-4.8.7-nossl3/src/network/ssl/qsslsocket_openssl.cpp 2016-03-04 11:29:17.119300898 +0100 +@@ -267,7 +267,11 @@ + #endif + break; + case QSsl::SslV3: ++#ifndef OPENSSL_NO_SSL3 + ctx = q_SSL_CTX_new(client ? q_SSLv3_client_method() : q_SSLv3_server_method()); ++#else ++ ctx = 0; // SSL 3 not supported by the system, but chosen deliberately -> error ++#endif + break; + case QSsl::SecureProtocols: // SslV2 will be disabled below + case QSsl::TlsV1SslV3: // SslV2 will be disabled below +diff -u -r qt-everywhere-opensource-src-4.8.7/src/network/ssl/qsslsocket_openssl_symbols.cpp qt-everywhere-opensource-src-4.8.7-nossl3/src/network/ssl/qsslsocket_openssl_symbols.cpp +--- qt-everywhere-opensource-src-4.8.7/src/network/ssl/qsslsocket_openssl_symbols.cpp 2015-05-07 16:14:44.000000000 +0200 ++++ qt-everywhere-opensource-src-4.8.7-nossl3/src/network/ssl/qsslsocket_openssl_symbols.cpp 2016-03-04 11:28:52.806050135 +0100 +@@ -228,13 +228,17 @@ + #ifndef OPENSSL_NO_SSL2 + DEFINEFUNC(const SSL_METHOD *, SSLv2_client_method, DUMMYARG, DUMMYARG, return 0, return) + #endif ++#ifndef OPENSSL_NO_SSL3 + DEFINEFUNC(const SSL_METHOD *, SSLv3_client_method, DUMMYARG, DUMMYARG, return 0, return) ++#endif + DEFINEFUNC(const SSL_METHOD *, SSLv23_client_method, DUMMYARG, DUMMYARG, return 0, return) + DEFINEFUNC(const SSL_METHOD *, TLSv1_client_method, DUMMYARG, DUMMYARG, return 0, return) + #ifndef OPENSSL_NO_SSL2 + DEFINEFUNC(const SSL_METHOD *, SSLv2_server_method, DUMMYARG, DUMMYARG, return 0, return) + #endif ++#ifndef OPENSSL_NO_SSL3 + DEFINEFUNC(const SSL_METHOD *, SSLv3_server_method, DUMMYARG, DUMMYARG, return 0, return) ++#endif + DEFINEFUNC(const SSL_METHOD *, SSLv23_server_method, DUMMYARG, DUMMYARG, return 0, return) + DEFINEFUNC(const SSL_METHOD *, TLSv1_server_method, DUMMYARG, DUMMYARG, return 0, return) + #else +@@ -822,13 +826,17 @@ + #ifndef OPENSSL_NO_SSL2 + RESOLVEFUNC(SSLv2_client_method) + #endif ++#ifndef OPENSSL_NO_SSL3 + RESOLVEFUNC(SSLv3_client_method) ++#endif + RESOLVEFUNC(SSLv23_client_method) + RESOLVEFUNC(TLSv1_client_method) + #ifndef OPENSSL_NO_SSL2 + RESOLVEFUNC(SSLv2_server_method) + #endif ++#ifndef OPENSSL_NO_SSL3 + RESOLVEFUNC(SSLv3_server_method) ++#endif + RESOLVEFUNC(SSLv23_server_method) + RESOLVEFUNC(TLSv1_server_method) + RESOLVEFUNC(X509_NAME_entry_count)