Compare commits

...

13 Commits
master ... f27

Author SHA1 Message Date
Rex Dieter ec358a10ae 5.9.6 2018-06-11 15:47:06 -05:00
Rex Dieter 00a580d0bb use upstreamed version of QOpenGLShaderProgram fix (QTBUG-66420) 2018-02-22 09:51:16 -06:00
Rex Dieter 17fe6a9d45 missed adding patch from prior commit 2018-02-21 09:20:05 -06:00
Rex Dieter 6dda2b9da8 QOpenGLShaderProgram: glProgramBinary() resulting in LINK_STATUS=FALSE not handled properly (QTBUG-66420)
pull in opensuse patch for now
2018-02-21 09:19:44 -06:00
Rex Dieter af36745340 omit 0068-QHeaderView.patch, reports of regression'y behavior 2018-02-13 16:11:12 -06:00
Rex Dieter faeac394c1 5.9 branch fixes 2018-02-02 12:35:06 -06:00
Rex Dieter 51f0f46cf3 QMimeType: remove unwanted *.bin as preferredSuffix for octet-stream (fdo#101667,kde#382437) 2018-01-28 07:22:26 -06:00
Rex Dieter ef0f887e51 5.9.4 2018-01-24 10:56:17 -06:00
Rex Dieter ad01462fdc Merge commit '923ba9b0e07343ec887105c33d8314fcbf1bf232' into f27 2018-01-19 13:19:17 -06:00
Rex Dieter 82b494dbc8 Revert "bz#1518958, backport to fix out of bounds reads in qdnslookup_unix"
This reverts commit e22e0113cd.
2018-01-19 13:18:41 -06:00
Rex Dieter f90371fa4a Revert "cleanup"
This reverts commit ea881bcd07.
2018-01-19 13:18:40 -06:00
Than Ngo ea881bcd07 cleanup 2017-11-30 09:44:07 +01:00
Than Ngo e22e0113cd bz#1518958, backport to fix out of bounds reads in qdnslookup_unix 2017-11-30 09:40:12 +01:00
6 changed files with 54 additions and 66 deletions

4
.gitignore vendored
View File

@ -1,2 +1,2 @@
/qtbase-opensource-src-5.9.2.tar.xz
/qtbase-opensource-src-5.9.3.tar.xz
/qtbase-opensource-src-5.9.4.tar.xz
/qtbase-opensource-src-5.9.6.tar.xz

View File

@ -54,8 +54,8 @@ BuildRequires: pkgconfig(libsystemd)
Name: qt5-qtbase
Summary: Qt5 - QtBase components
Version: 5.9.3
Release: 2%{?dist}
Version: 5.9.6
Release: 1%{?dist}
# See LGPL_EXCEPTIONS.txt, for exception details
License: LGPLv2 with exceptions or GPLv3 with exceptions
@ -97,6 +97,13 @@ Patch51: qtbase-hidpi_scale_at_192.patch
# 2. Workaround sysmacros.h (pre)defining major/minor a breaking stuff
Patch52: qtbase-opensource-src-5.7.1-moc_macros.patch
# QMimeType: remove unwanted *.bin as preferredSuffix for octet-stream
# This leads to an automatically appended .bin when saving a file.
# https://bugs.freedesktop.org/show_bug.cgi?id=101667
# https://bugs.kde.org/382437
# Fixed upstream in shared-mime-info 1.10
Patch53: qtbase-fdo101667.patch
# drop -O3 and make -O2 by default
Patch61: qt5-qtbase-cxxflag.patch
@ -116,7 +123,6 @@ Patch66: qtbase-mariadb.patch
Patch67: https://bugreports.qt.io/secure/attachment/66353/xcberror_filter.patch
## upstream patches (5.9 branch)
Patch100: qtbase-opensource-src-5.9.3-QTBUG-64742-out-of-bounds-in-qdnslookup_unix.patch
# Do not check any files in %%{_qt5_plugindir}/platformthemes/ for requires.
# Those themes are there for platform integration. If the required libraries are
@ -131,8 +137,6 @@ BuildRequires: cups-devel
BuildRequires: desktop-file-utils
BuildRequires: findutils
BuildRequires: libjpeg-devel
BuildRequires: libmng-devel
BuildRequires: libtiff-devel
BuildRequires: pkgconfig(alsa)
# required for -accessibility
BuildRequires: pkgconfig(atspi-2)
@ -353,6 +357,7 @@ Qt5 libraries used for drawing widgets and OpenGL items.
%patch50 -p1 -b .QT_VERSION_CHECK
%patch51 -p1 -b .hidpi_scale_at_192
%patch52 -p1 -b .moc_macros
%patch53 -p1 -b .fdo101667
%patch61 -p1 -b .qt5-qtbase-cxxflag
%if 0%{?openssl11}
%patch63 -p1 -b .openssl11
@ -363,7 +368,8 @@ Qt5 libraries used for drawing widgets and OpenGL items.
%endif
%patch66 -p1 -b .mariadb
%patch67 -p1 -b .xcberror_filter
%patch100 -p1 -b .QTBUG-64742-out-of-bounds-in-qdnslookup_unix
## upstream patches
%if 0%{?inject_optflags}
## adjust $RPM_OPT_FLAGS
@ -523,7 +529,7 @@ translationdir=%{_qt5_translationdir}
Name: Qt5
Description: Qt5 Configuration
Version: 5.9.2
Version: 5.9.4
EOF
# rpm macros
@ -981,6 +987,27 @@ fi
%changelog
* Mon Jun 11 2018 Rex Dieter <rdieter@fedoraproject.org> - 5.9.6-1
- 5.9.6
* Thu Feb 22 2018 Rex Dieter <rdieter@fedoraproject.org> - 5.9.4-6
- use upstreamed version of QOpenGLShaderProgram fix (QTBUG-66420)
* Wed Feb 21 2018 Rex Dieter <rdieter@fedoraproject.org> - 5.9.4-5
- QOpenGLShaderProgram: glProgramBinary() resulting in LINK_STATUS=FALSE not handled properly (QTBUG-66420)
* Tue Feb 13 2018 Rex Dieter <rdieter@fedoraproject.org> - 5.9.4-4
- omit 0068-QHeaderView.patch, reports of regression'y behavior
* Fri Feb 02 2018 Rex Dieter <rdieter@fedoraproject.org> - 5.9.4-3
- 5.9 branch fixes
* Sun Jan 28 2018 Rex Dieter <rdieter@fedoraproject.org> - 5.9.4-2
- QMimeType: remove unwanted *.bin as preferredSuffix for octet-stream (fdo#101667,kde#382437)
* Tue Jan 23 2018 Rex Dieter <rdieter@fedoraproject.org> - 5.9.4-1
- 5.9.4
* Thu Nov 30 2017 Than Ngo <than@redhat.com> - 5.9.3-2
- bz#1518958, backport to fix out of bounds reads in qdnslookup_unix

12
qtbase-fdo101667.patch Normal file
View File

@ -0,0 +1,12 @@
diff -up qtbase-opensource-src-5.9.4/src/corelib/mimetypes/qmimetype.cpp.fdo101667 qtbase-opensource-src-5.9.4/src/corelib/mimetypes/qmimetype.cpp
--- qtbase-opensource-src-5.9.4/src/corelib/mimetypes/qmimetype.cpp.fdo101667 2018-01-16 00:53:43.000000000 -0600
+++ qtbase-opensource-src-5.9.4/src/corelib/mimetypes/qmimetype.cpp 2018-01-28 07:18:09.502534397 -0600
@@ -418,6 +418,8 @@ QStringList QMimeType::suffixes() const
*/
QString QMimeType::preferredSuffix() const
{
+ if (isDefault()) // workaround for unwanted *.bin suffix for octet-stream, https://bugs.freedesktop.org/show_bug.cgi?id=101667, fixed upstream in 1.10
+ return QString();
const QStringList suffixList = suffixes();
return suffixList.isEmpty() ? QString() : suffixList.at(0);
}

View File

@ -1,13 +1,13 @@
diff -up qtbase-opensource-src-5.9.2/src/plugins/sqldrivers/mysql/qsql_mysql.cpp.rex qtbase-opensource-src-5.9.2/src/plugins/sqldrivers/mysql/qsql_mysql.cpp
--- qtbase-opensource-src-5.9.2/src/plugins/sqldrivers/mysql/qsql_mysql.cpp.rex 2017-10-02 03:43:38.000000000 -0500
+++ qtbase-opensource-src-5.9.2/src/plugins/sqldrivers/mysql/qsql_mysql.cpp 2017-10-19 14:56:16.752878279 -0500
@@ -1159,14 +1159,15 @@ static void qLibraryInit()
diff -up qtbase-opensource-src-5.9.6/src/plugins/sqldrivers/mysql/qsql_mysql.cpp.mariadb qtbase-opensource-src-5.9.6/src/plugins/sqldrivers/mysql/qsql_mysql.cpp
--- qtbase-opensource-src-5.9.6/src/plugins/sqldrivers/mysql/qsql_mysql.cpp.mariadb 2018-06-11 10:03:46.720013031 -0500
+++ qtbase-opensource-src-5.9.6/src/plugins/sqldrivers/mysql/qsql_mysql.cpp 2018-06-11 10:13:52.285354880 -0500
@@ -1159,14 +1159,14 @@ static void qLibraryInit()
# endif // MYSQL_VERSION_ID
#endif // Q_NO_MYSQL_EMBEDDED
-#ifdef MARIADB_BASE_VERSION
+#if defined(MARIADB_BASE_VERSION) || defined(MARIADB_VERSION_ID)
qAddPostRoutine(mysql_server_end);
qAddPostRoutine([]() { mysql_server_end(); });
#endif
}
@ -15,7 +15,6 @@ diff -up qtbase-opensource-src-5.9.2/src/plugins/sqldrivers/mysql/qsql_mysql.cpp
{
-#if !defined(MARIADB_BASE_VERSION)
+#if !defined(MARIADB_BASE_VERSION) && !defined(MARIADB_VERSION_ID)
+//#error should not get here on f27+ says rex
# if !defined(Q_NO_MYSQL_EMBEDDED)
# if MYSQL_VERSION_ID > 40000
# if (MYSQL_VERSION_ID >= 40110 && MYSQL_VERSION_ID < 50000) || MYSQL_VERSION_ID >= 50003

View File

@ -1,50 +0,0 @@
diff -up qtbase-opensource-src-5.9.3/src/network/kernel/qdnslookup_unix.cpp.orig qtbase-opensource-src-5.9.3/src/network/kernel/qdnslookup_unix.cpp
--- qtbase-opensource-src-5.9.3/src/network/kernel/qdnslookup_unix.cpp.orig 2017-11-16 06:15:28.000000000 +0100
+++ qtbase-opensource-src-5.9.3/src/network/kernel/qdnslookup_unix.cpp 2017-11-30 09:22:47.525741040 +0100
@@ -42,6 +42,7 @@
#if QT_CONFIG(library)
#include <qlibrary.h>
#endif
+#include <qvarlengtharray.h>
#include <qscopedpointer.h>
#include <qurl.h>
#include <private/qnativesocketengine_p.h>
@@ -58,6 +59,8 @@
# include <gnu/lib-names.h>
#endif
+#include <cstring>
+
QT_BEGIN_NAMESPACE
#if QT_CONFIG(library)
@@ -189,11 +192,25 @@ void QDnsLookupRunnable::query(const int
QScopedPointer<struct __res_state, QDnsLookupStateDeleter> state_ptr(&state);
// Perform DNS query.
- unsigned char response[PACKETSZ];
- memset(response, 0, sizeof(response));
- const int responseLength = local_res_nquery(&state, requestName, C_IN, requestType, response, sizeof(response));
+ QVarLengthArray<unsigned char, PACKETSZ> buffer(PACKETSZ);
+ memset(buffer.data(), 0, buffer.size());
+ int responseLength = local_res_nquery(&state, requestName, C_IN, requestType, buffer.data(), buffer.size());
+ if (Q_UNLIKELY(responseLength > PACKETSZ)) {
+ buffer.resize(responseLength);
+ memset(buffer.data(), 0, buffer.size());
+ responseLength = local_res_nquery(&state, requestName, C_IN, requestType, buffer.data(), buffer.size());
+ if (Q_UNLIKELY(responseLength > buffer.size())) {
+ // Ok, we give up.
+ reply->error = QDnsLookup::ResolverError;
+ reply->errorString.clear(); // We cannot be more specific, alas.
+ return;
+ }
+ }
- // Check the response header.
+ unsigned char *response = buffer.data();
+ // Check the response header. Though res_nquery returns -1 as a
+ // responseLength in case of error, we still can extract the
+ // exact error code from the response.
HEADER *header = (HEADER*)response;
const int answerCount = ntohs(header->ancount);
switch (header->rcode) {

View File

@ -1 +1 @@
SHA512 (qtbase-opensource-src-5.9.3.tar.xz) = 256ffb8760e94c0f87790ed35e210d0c9613e14314ff442dd763cc93fbd5caa6c11c95f5d44b12a7687fb93c9f857878132cf6d76e5933f647ca7beb54b18c7c
SHA512 (qtbase-opensource-src-5.9.6.tar.xz) = e9d4b631abeaaced325c58778e3d2eda08c6804a3788eea826f6ec90b494db0da072e7ae184ebdb00ee504ad41e9f0c9aaadc096219d5fbb1c4833552e42d8bb