Compare commits
No commits in common. "master" and "f18" have entirely different histories.
3
.gitignore
vendored
3
.gitignore
vendored
@ -1,3 +1,4 @@
|
||||
/hi128-app-qt4-logo.png
|
||||
/hi48-app-qt4-logo.png
|
||||
/qt-everywhere-opensource-src-4.8.7.tar.gz
|
||||
/qt-everywhere-opensource-src-4.8.4.tar.gz
|
||||
/qt-everywhere-opensource-src-4.8.5.tar.gz
|
||||
|
124
0147-Disallow-deep-or-widely-nested-entity-references.patch
Normal file
124
0147-Disallow-deep-or-widely-nested-entity-references.patch
Normal file
@ -0,0 +1,124 @@
|
||||
From 512a1ce0698d370c313bb561bbf078935fa0342e Mon Sep 17 00:00:00 2001
|
||||
From: Mitch Curtis <mitch.curtis@digia.com>
|
||||
Date: Thu, 7 Nov 2013 09:36:29 +0100
|
||||
Subject: [PATCH 147/192] Disallow deep or widely nested entity references.
|
||||
|
||||
Nested references with a depth of 2 or greater will fail. References
|
||||
that partially expand to greater than 1024 characters will also fail.
|
||||
|
||||
This is a backport of 46a8885ae486e238a39efa5119c2714f328b08e4.
|
||||
|
||||
Change-Id: I0c2e1fa13d6ccb5f88641dae2ed3f28bfdeaf609
|
||||
Reviewed-by: Richard J. Moore <rich@kde.org>
|
||||
Reviewed-by: Lars Knoll <lars.knoll@digia.com>
|
||||
---
|
||||
src/xml/sax/qxml.cpp | 51 +++++++++++++++++++
|
||||
.../auto/qxmlsimplereader/tst_qxmlsimplereader.cpp | 58 ++++++++++++++++++++++
|
||||
.../xmldocs/1-levels-nested-dtd.xml | 12 +++++
|
||||
.../xmldocs/2-levels-nested-dtd.xml | 13 +++++
|
||||
.../internal-entity-polynomial-attribute.xml | 13 +++++
|
||||
5 files changed, 147 insertions(+)
|
||||
create mode 100644 tests/auto/qxmlsimplereader/xmldocs/1-levels-nested-dtd.xml
|
||||
create mode 100644 tests/auto/qxmlsimplereader/xmldocs/2-levels-nested-dtd.xml
|
||||
create mode 100644 tests/auto/qxmlsimplereader/xmldocs/internal-entity-polynomial-attribute.xml
|
||||
|
||||
diff --git a/src/xml/sax/qxml.cpp b/src/xml/sax/qxml.cpp
|
||||
index a1777c5..3904632 100644
|
||||
--- a/src/xml/sax/qxml.cpp
|
||||
+++ b/src/xml/sax/qxml.cpp
|
||||
@@ -424,6 +424,10 @@ private:
|
||||
int stringValueLen;
|
||||
QString emptyStr;
|
||||
|
||||
+ // The limit to the amount of times the DTD parsing functions can be called
|
||||
+ // for the DTD currently being parsed.
|
||||
+ int dtdRecursionLimit;
|
||||
+
|
||||
const QString &string();
|
||||
void stringClear();
|
||||
void stringAddC(QChar);
|
||||
@@ -492,6 +496,7 @@ private:
|
||||
void unexpectedEof(ParseFunction where, int state);
|
||||
void parseFailed(ParseFunction where, int state);
|
||||
void pushParseState(ParseFunction function, int state);
|
||||
+ bool isPartiallyExpandedEntityValueTooLarge(QString *errorMessage);
|
||||
|
||||
Q_DECLARE_PUBLIC(QXmlSimpleReader)
|
||||
QXmlSimpleReader *q_ptr;
|
||||
@@ -2759,6 +2764,7 @@ QXmlSimpleReaderPrivate::QXmlSimpleReaderPrivate(QXmlSimpleReader *reader)
|
||||
useNamespacePrefixes = false;
|
||||
reportWhitespaceCharData = true;
|
||||
reportEntities = false;
|
||||
+ dtdRecursionLimit = 2;
|
||||
}
|
||||
|
||||
QXmlSimpleReaderPrivate::~QXmlSimpleReaderPrivate()
|
||||
@@ -5018,6 +5024,11 @@ bool QXmlSimpleReaderPrivate::parseDoctype()
|
||||
}
|
||||
break;
|
||||
case Mup:
|
||||
+ if (dtdRecursionLimit > 0 && parameterEntities.size() > dtdRecursionLimit) {
|
||||
+ reportParseError(QString::fromLatin1(
|
||||
+ "DTD parsing exceeded recursion limit of %1.").arg(dtdRecursionLimit));
|
||||
+ return false;
|
||||
+ }
|
||||
if (!parseMarkupdecl()) {
|
||||
parseFailed(&QXmlSimpleReaderPrivate::parseDoctype, state);
|
||||
return false;
|
||||
@@ -6627,6 +6638,37 @@ bool QXmlSimpleReaderPrivate::parseChoiceSeq()
|
||||
return false;
|
||||
}
|
||||
|
||||
+bool QXmlSimpleReaderPrivate::isPartiallyExpandedEntityValueTooLarge(QString *errorMessage)
|
||||
+{
|
||||
+ const QString value = string();
|
||||
+ QMap<QString, int> referencedEntityCounts;
|
||||
+ foreach (QString entityName, entities.keys()) {
|
||||
+ for (int i = 0; i < value.size() && i != -1; ) {
|
||||
+ i = value.indexOf(entityName, i);
|
||||
+ if (i != -1) {
|
||||
+ // The entityName we're currently trying to find
|
||||
+ // was matched in this string; increase our count.
|
||||
+ ++referencedEntityCounts[entityName];
|
||||
+ i += entityName.size();
|
||||
+ }
|
||||
+ }
|
||||
+ }
|
||||
+
|
||||
+ foreach (QString entityName, referencedEntityCounts.keys()) {
|
||||
+ const int timesReferenced = referencedEntityCounts[entityName];
|
||||
+ const QString entityValue = entities[entityName];
|
||||
+ if (entityValue.size() * timesReferenced > 1024) {
|
||||
+ if (errorMessage) {
|
||||
+ *errorMessage = QString::fromLatin1("The XML entity \"%1\""
|
||||
+ "expands too a string that is too large to process when "
|
||||
+ "referencing \"%2\" %3 times.").arg(entityName).arg(entityName).arg(timesReferenced);
|
||||
+ }
|
||||
+ return true;
|
||||
+ }
|
||||
+ }
|
||||
+ return false;
|
||||
+}
|
||||
+
|
||||
/*
|
||||
Parse a EntityDecl [70].
|
||||
|
||||
@@ -6721,6 +6763,15 @@ bool QXmlSimpleReaderPrivate::parseEntityDecl()
|
||||
switch (state) {
|
||||
case EValue:
|
||||
if ( !entityExist(name())) {
|
||||
+ QString errorMessage;
|
||||
+ if (isPartiallyExpandedEntityValueTooLarge(&errorMessage)) {
|
||||
+ // The entity at entityName is entityValue.size() characters
|
||||
+ // long in its unexpanded form, and was mentioned timesReferenced times,
|
||||
+ // resulting in a string that would be greater than 1024 characters.
|
||||
+ reportParseError(errorMessage);
|
||||
+ return false;
|
||||
+ }
|
||||
+
|
||||
entities.insert(name(), string());
|
||||
if (declHnd) {
|
||||
if (!declHnd->internalEntityDecl(name(), string())) {
|
||||
--
|
||||
1.8.4.2
|
||||
|
128
0162-Fully-expand-entities-to-ensure-deep-or-widely-neste.patch
Normal file
128
0162-Fully-expand-entities-to-ensure-deep-or-widely-neste.patch
Normal file
@ -0,0 +1,128 @@
|
||||
From cecceb0cdd87482124a73ecf537f3445d68be13e Mon Sep 17 00:00:00 2001
|
||||
From: Mitch Curtis <mitch.curtis@digia.com>
|
||||
Date: Tue, 12 Nov 2013 13:44:56 +0100
|
||||
Subject: [PATCH 162/192] Fully expand entities to ensure deep or widely nested
|
||||
ones fail parsing
|
||||
|
||||
With 512a1ce0698d370c313bb561bbf078935fa0342e, we failed when parsing
|
||||
entities whose partially expanded size was greater than 1024
|
||||
characters. That was not enough, so now we fully expand all entities.
|
||||
|
||||
This is a backport of f1053d94f59f053ce4acad9320df14f1fbe4faac.
|
||||
|
||||
Change-Id: I41dd6f4525c63e82fd320a22d19248169627f7e0
|
||||
Reviewed-by: Richard J. Moore <rich@kde.org>
|
||||
---
|
||||
src/xml/sax/qxml.cpp | 61 +++++++++++++---------
|
||||
.../auto/qxmlsimplereader/tst_qxmlsimplereader.cpp | 2 +-
|
||||
2 files changed, 37 insertions(+), 26 deletions(-)
|
||||
|
||||
diff --git a/src/xml/sax/qxml.cpp b/src/xml/sax/qxml.cpp
|
||||
index 3904632..befa801 100644
|
||||
--- a/src/xml/sax/qxml.cpp
|
||||
+++ b/src/xml/sax/qxml.cpp
|
||||
@@ -426,7 +426,9 @@ private:
|
||||
|
||||
// The limit to the amount of times the DTD parsing functions can be called
|
||||
// for the DTD currently being parsed.
|
||||
- int dtdRecursionLimit;
|
||||
+ static const int dtdRecursionLimit = 2;
|
||||
+ // The maximum amount of characters an entity value may contain, after expansion.
|
||||
+ static const int entityCharacterLimit = 1024;
|
||||
|
||||
const QString &string();
|
||||
void stringClear();
|
||||
@@ -496,7 +498,7 @@ private:
|
||||
void unexpectedEof(ParseFunction where, int state);
|
||||
void parseFailed(ParseFunction where, int state);
|
||||
void pushParseState(ParseFunction function, int state);
|
||||
- bool isPartiallyExpandedEntityValueTooLarge(QString *errorMessage);
|
||||
+ bool isExpandedEntityValueTooLarge(QString *errorMessage);
|
||||
|
||||
Q_DECLARE_PUBLIC(QXmlSimpleReader)
|
||||
QXmlSimpleReader *q_ptr;
|
||||
@@ -2764,7 +2766,6 @@ QXmlSimpleReaderPrivate::QXmlSimpleReaderPrivate(QXmlSimpleReader *reader)
|
||||
useNamespacePrefixes = false;
|
||||
reportWhitespaceCharData = true;
|
||||
reportEntities = false;
|
||||
- dtdRecursionLimit = 2;
|
||||
}
|
||||
|
||||
QXmlSimpleReaderPrivate::~QXmlSimpleReaderPrivate()
|
||||
@@ -6638,30 +6639,43 @@ bool QXmlSimpleReaderPrivate::parseChoiceSeq()
|
||||
return false;
|
||||
}
|
||||
|
||||
-bool QXmlSimpleReaderPrivate::isPartiallyExpandedEntityValueTooLarge(QString *errorMessage)
|
||||
+bool QXmlSimpleReaderPrivate::isExpandedEntityValueTooLarge(QString *errorMessage)
|
||||
{
|
||||
- const QString value = string();
|
||||
- QMap<QString, int> referencedEntityCounts;
|
||||
- foreach (QString entityName, entities.keys()) {
|
||||
- for (int i = 0; i < value.size() && i != -1; ) {
|
||||
- i = value.indexOf(entityName, i);
|
||||
- if (i != -1) {
|
||||
- // The entityName we're currently trying to find
|
||||
- // was matched in this string; increase our count.
|
||||
- ++referencedEntityCounts[entityName];
|
||||
- i += entityName.size();
|
||||
+ QMap<QString, int> literalEntitySizes;
|
||||
+ // The entity at (QMap<QString,) referenced the entities at (QMap<QString,) (int>) times.
|
||||
+ QMap<QString, QMap<QString, int> > referencesToOtherEntities;
|
||||
+ QMap<QString, int> expandedSizes;
|
||||
+
|
||||
+ // For every entity, check how many times all entity names were referenced in its value.
|
||||
+ foreach (QString toSearch, entities.keys()) {
|
||||
+ // The amount of characters that weren't entity names, but literals, like 'X'.
|
||||
+ QString leftOvers = entities.value(toSearch);
|
||||
+ // How many times was entityName referenced by toSearch?
|
||||
+ foreach (QString entityName, entities.keys()) {
|
||||
+ for (int i = 0; i < leftOvers.size() && i != -1; ) {
|
||||
+ i = leftOvers.indexOf(QString::fromLatin1("&%1;").arg(entityName), i);
|
||||
+ if (i != -1) {
|
||||
+ leftOvers.remove(i, entityName.size() + 2);
|
||||
+ // The entityName we're currently trying to find was matched in this string; increase our count.
|
||||
+ ++referencesToOtherEntities[toSearch][entityName];
|
||||
+ }
|
||||
}
|
||||
}
|
||||
+ literalEntitySizes[toSearch] = leftOvers.size();
|
||||
}
|
||||
|
||||
- foreach (QString entityName, referencedEntityCounts.keys()) {
|
||||
- const int timesReferenced = referencedEntityCounts[entityName];
|
||||
- const QString entityValue = entities[entityName];
|
||||
- if (entityValue.size() * timesReferenced > 1024) {
|
||||
+ foreach (QString entity, referencesToOtherEntities.keys()) {
|
||||
+ expandedSizes[entity] = literalEntitySizes[entity];
|
||||
+ foreach (QString referenceTo, referencesToOtherEntities.value(entity).keys()) {
|
||||
+ const int references = referencesToOtherEntities.value(entity).value(referenceTo);
|
||||
+ // The total size of an entity's value is the expanded size of all of its referenced entities, plus its literal size.
|
||||
+ expandedSizes[entity] += expandedSizes[referenceTo] * references + literalEntitySizes[referenceTo] * references;
|
||||
+ }
|
||||
+
|
||||
+ if (expandedSizes[entity] > entityCharacterLimit) {
|
||||
if (errorMessage) {
|
||||
- *errorMessage = QString::fromLatin1("The XML entity \"%1\""
|
||||
- "expands too a string that is too large to process when "
|
||||
- "referencing \"%2\" %3 times.").arg(entityName).arg(entityName).arg(timesReferenced);
|
||||
+ *errorMessage = QString::fromLatin1("The XML entity \"%1\" expands too a string that is too large to process (%2 characters > %3).");
|
||||
+ *errorMessage = (*errorMessage).arg(entity).arg(expandedSizes[entity]).arg(entityCharacterLimit);
|
||||
}
|
||||
return true;
|
||||
}
|
||||
@@ -6764,10 +6778,7 @@ bool QXmlSimpleReaderPrivate::parseEntityDecl()
|
||||
case EValue:
|
||||
if ( !entityExist(name())) {
|
||||
QString errorMessage;
|
||||
- if (isPartiallyExpandedEntityValueTooLarge(&errorMessage)) {
|
||||
- // The entity at entityName is entityValue.size() characters
|
||||
- // long in its unexpanded form, and was mentioned timesReferenced times,
|
||||
- // resulting in a string that would be greater than 1024 characters.
|
||||
+ if (isExpandedEntityValueTooLarge(&errorMessage)) {
|
||||
reportParseError(errorMessage);
|
||||
return false;
|
||||
}
|
||||
--
|
||||
1.8.4.2
|
||||
|
34
QTBUG-15319-fix-shortcuts-with-secondary-Xkb-layout.patch
Normal file
34
QTBUG-15319-fix-shortcuts-with-secondary-Xkb-layout.patch
Normal file
@ -0,0 +1,34 @@
|
||||
From f45cdeda88796830b3fe71aff7ceb1919d00400d Mon Sep 17 00:00:00 2001
|
||||
From: Aurelien Lourot <aurelien.lourot@gmail.com>
|
||||
Date: Thu, 10 Jan 2013 22:28:37 +0100
|
||||
Subject: [PATCH] QTBUG-15319: fix shortcuts with secondary Xkb layout.
|
||||
|
||||
Change-Id: Iadb89137ec017b9dcd4d1588fd582ea46a9d7cc1
|
||||
Reviewed-by: Aurelien <aurelien.lourot@gmail.com>
|
||||
Reviewed-by: David Faure (KDE) <faure@kde.org>
|
||||
Reviewed-by: Lars Knoll <lars.knoll@digia.com>
|
||||
---
|
||||
src/gui/kernel/qkeymapper_x11.cpp | 5 ++++-
|
||||
1 file changed, 4 insertions(+), 1 deletion(-)
|
||||
|
||||
diff --git a/src/gui/kernel/qkeymapper_x11.cpp b/src/gui/kernel/qkeymapper_x11.cpp
|
||||
index 7daa41d..005ff3f 100644
|
||||
--- a/src/gui/kernel/qkeymapper_x11.cpp
|
||||
+++ b/src/gui/kernel/qkeymapper_x11.cpp
|
||||
@@ -282,9 +282,12 @@ QList<int> QKeyMapperPrivate::possibleKeysXKB(QKeyEvent *event)
|
||||
|
||||
// first, translate key only using lock modifiers (there are no Qt equivalents for these, so we must
|
||||
// always use them when determining the baseKeySym)
|
||||
+ // Note: the Xkb group to be used for the conversion keycode->keysym has to be given to
|
||||
+ // XkbLookupKeySym(). This information is contained in the bits 8 to 15 of xmodifiers.
|
||||
+ // See https://bugreports.qt-project.org/browse/QTBUG-15319 .
|
||||
KeySym baseKeySym;
|
||||
uint consumedModifiers;
|
||||
- if (!XkbLookupKeySym(X11->display, xkeycode, (xmodifiers & (LockMask | qt_num_lock_mask)),
|
||||
+ if (!XkbLookupKeySym(X11->display, xkeycode, (xmodifiers & (0xff00 | LockMask | qt_num_lock_mask)),
|
||||
&consumedModifiers, &baseKeySym))
|
||||
return QList<int>();
|
||||
|
||||
--
|
||||
1.8.3.1
|
||||
|
33
macros.qt4
33
macros.qt4
@ -1,33 +0,0 @@
|
||||
%_qt4 @@NAME@@
|
||||
%_qt4_epoch @@EPOCH@@
|
||||
%_qt4_version @@VERSION@@
|
||||
%_qt4_evr @@EVR@@
|
||||
%_qt48 %{_qt4_version}
|
||||
%_qt4_prefix %{_libdir}/qt4
|
||||
%_qt4_bindir %{_qt4_prefix}/bin
|
||||
%_qt4_datadir %{_qt4_prefix}
|
||||
%_qt4_demosdir %{_qt4_prefix}/demos
|
||||
%_qt4_docdir %{_docdir}/qt4
|
||||
%_qt4_examples %{_qt4_prefix}/examples
|
||||
%_qt4_examplesdir %{_qt4_prefix}/examples
|
||||
%_qt4_headerdir %{_includedir}
|
||||
%_qt4_importdir %{_qt4_prefix}/imports
|
||||
%_qt4_libdir %{_libdir}
|
||||
%_qt4_plugindir %{_qt4_prefix}/plugins
|
||||
%_qt4_qmake %{_qt4_bindir}/qmake
|
||||
%_qt4_sysconfdir %{_sysconfdir}
|
||||
%_qt4_translationdir %{_datadir}/qt4/translations
|
||||
|
||||
%_qt4_ldflags %{?__global_ldflags}
|
||||
%_qt4_optflags %{optflags}
|
||||
|
||||
%_qt4_qmake_flags \\\
|
||||
QMAKE_CFLAGS_DEBUG="${CFLAGS:-%{_qt4_optflags}}" \\\
|
||||
QMAKE_CFLAGS_RELEASE="${CFLAGS:-%{_qt4_optflags}}" \\\
|
||||
QMAKE_CXXFLAGS_DEBUG="${CXXFLAGS:-%{_qt4_optflags}}" \\\
|
||||
QMAKE_CXXFLAGS_RELEASE="${CXXFLAGS:-%{_qt4_optflags}}" \\\
|
||||
QMAKE_LFLAGS_DEBUG="${LDFLAGS:-%{_qt4_ldflags}}" \\\
|
||||
QMAKE_LFLAGS_RELEASE="${LDFLAGS:-%{_qt4_ldflags}}" \\\
|
||||
QMAKE_STRIP=
|
||||
|
||||
%qmake_qt4 %{_qt4_qmake} %{_qt4_qmake_flags}
|
@ -6,10 +6,7 @@
|
||||
|
||||
#ifndef QCONFIG_MULTILIB_H
|
||||
#define QCONFIG_MULTILIB_H
|
||||
|
||||
#ifndef __WORDSIZE
|
||||
#include <bits/wordsize.h>
|
||||
#endif
|
||||
|
||||
#if __WORDSIZE == 32
|
||||
#include "QtCore/qconfig-32.h"
|
||||
|
@ -1,8 +1,7 @@
|
||||
diff -up qt-everywhere-opensource-src-4.8.6/src/corelib/io/qprocess_unix.cpp.poll qt-everywhere-opensource-src-4.8.6/src/corelib/io/qprocess_unix.cpp
|
||||
--- qt-everywhere-opensource-src-4.8.6/src/corelib/io/qprocess_unix.cpp.poll 2014-03-30 15:36:48.000000000 -0500
|
||||
+++ qt-everywhere-opensource-src-4.8.6/src/corelib/io/qprocess_unix.cpp 2014-03-31 18:04:05.958260978 -0500
|
||||
@@ -158,13 +158,6 @@ static void qt_sa_sigchld_sigaction(int
|
||||
}
|
||||
--- a/src/corelib/io/qprocess_unix.cpp
|
||||
+++ a/src/corelib/io/qprocess_unix.cpp
|
||||
@@ -139,13 +139,6 @@ static void qt_sa_sigchld_handler(int signum)
|
||||
oldAction(signum);
|
||||
}
|
||||
|
||||
-static inline void add_fd(int &nfds, int fd, fd_set *fdset)
|
||||
@ -15,7 +14,7 @@ diff -up qt-everywhere-opensource-src-4.8.6/src/corelib/io/qprocess_unix.cpp.pol
|
||||
struct QProcessInfo {
|
||||
QProcess *process;
|
||||
int deathPipe;
|
||||
@@ -256,9 +249,9 @@ QProcessManager::~QProcessManager()
|
||||
@@ -231,9 +224,9 @@ QProcessManager::~QProcessManager()
|
||||
void QProcessManager::run()
|
||||
{
|
||||
forever {
|
||||
@ -28,7 +27,7 @@ diff -up qt-everywhere-opensource-src-4.8.6/src/corelib/io/qprocess_unix.cpp.pol
|
||||
|
||||
#if defined (QPROCESS_DEBUG)
|
||||
qDebug() << "QProcessManager::run() waiting for children to die";
|
||||
@@ -267,8 +260,8 @@ void QProcessManager::run()
|
||||
@@ -242,8 +235,8 @@ void QProcessManager::run()
|
||||
// block forever, or until activity is detected on the dead child
|
||||
// pipe. the only other peers are the SIGCHLD signal handler, and the
|
||||
// QProcessManager destructor.
|
||||
@ -39,7 +38,7 @@ diff -up qt-everywhere-opensource-src-4.8.6/src/corelib/io/qprocess_unix.cpp.pol
|
||||
if (errno == EINTR)
|
||||
continue;
|
||||
break;
|
||||
@@ -1027,17 +1020,6 @@ void QProcessPrivate::killProcess()
|
||||
@@ -992,17 +985,6 @@ void QProcessPrivate::killProcess()
|
||||
::kill(pid_t(pid), SIGKILL);
|
||||
}
|
||||
|
||||
@ -57,7 +56,7 @@ diff -up qt-everywhere-opensource-src-4.8.6/src/corelib/io/qprocess_unix.cpp.pol
|
||||
/*
|
||||
Returns the difference between msecs and elapsed. If msecs is -1,
|
||||
however, -1 is returned.
|
||||
@@ -1060,10 +1042,10 @@ bool QProcessPrivate::waitForStarted(int
|
||||
@@ -1025,10 +1007,10 @@ bool QProcessPrivate::waitForStarted(int msecs)
|
||||
childStartedPipe[0]);
|
||||
#endif
|
||||
|
||||
@ -72,7 +71,7 @@ diff -up qt-everywhere-opensource-src-4.8.6/src/corelib/io/qprocess_unix.cpp.pol
|
||||
processError = QProcess::Timedout;
|
||||
q->setErrorString(QProcess::tr("Process operation timed out"));
|
||||
#if defined (QPROCESS_DEBUG)
|
||||
@@ -1079,6 +1061,47 @@ bool QProcessPrivate::waitForStarted(int
|
||||
@@ -1044,6 +1026,47 @@ bool QProcessPrivate::waitForStarted(int msecs)
|
||||
return startedEmitted;
|
||||
}
|
||||
|
||||
@ -120,7 +119,7 @@ diff -up qt-everywhere-opensource-src-4.8.6/src/corelib/io/qprocess_unix.cpp.pol
|
||||
bool QProcessPrivate::waitForReadyRead(int msecs)
|
||||
{
|
||||
Q_Q(QProcess);
|
||||
@@ -1090,28 +1113,9 @@ bool QProcessPrivate::waitForReadyRead(i
|
||||
@@ -1055,28 +1078,9 @@ bool QProcessPrivate::waitForReadyRead(int msecs)
|
||||
stopWatch.start();
|
||||
|
||||
forever {
|
||||
@ -151,7 +150,7 @@ diff -up qt-everywhere-opensource-src-4.8.6/src/corelib/io/qprocess_unix.cpp.pol
|
||||
if (ret < 0) {
|
||||
break;
|
||||
}
|
||||
@@ -1121,18 +1125,18 @@ bool QProcessPrivate::waitForReadyRead(i
|
||||
@@ -1086,18 +1090,18 @@ bool QProcessPrivate::waitForReadyRead(int msecs)
|
||||
return false;
|
||||
}
|
||||
|
||||
@ -173,7 +172,7 @@ diff -up qt-everywhere-opensource-src-4.8.6/src/corelib/io/qprocess_unix.cpp.pol
|
||||
bool canRead = _q_canReadStandardError();
|
||||
if (processChannel == QProcess::StandardError && canRead)
|
||||
readyReadEmitted = true;
|
||||
@@ -1140,13 +1144,13 @@ bool QProcessPrivate::waitForReadyRead(i
|
||||
@@ -1105,13 +1109,13 @@ bool QProcessPrivate::waitForReadyRead(int msecs)
|
||||
if (readyReadEmitted)
|
||||
return true;
|
||||
|
||||
@ -190,7 +189,7 @@ diff -up qt-everywhere-opensource-src-4.8.6/src/corelib/io/qprocess_unix.cpp.pol
|
||||
}
|
||||
return false;
|
||||
}
|
||||
@@ -1162,29 +1166,9 @@ bool QProcessPrivate::waitForBytesWritte
|
||||
@@ -1127,29 +1131,9 @@ bool QProcessPrivate::waitForBytesWritten(int msecs)
|
||||
stopWatch.start();
|
||||
|
||||
while (!writeBuffer.isEmpty()) {
|
||||
@ -222,7 +221,7 @@ diff -up qt-everywhere-opensource-src-4.8.6/src/corelib/io/qprocess_unix.cpp.pol
|
||||
if (ret < 0) {
|
||||
break;
|
||||
}
|
||||
@@ -1195,24 +1179,24 @@ bool QProcessPrivate::waitForBytesWritte
|
||||
@@ -1160,24 +1144,24 @@ bool QProcessPrivate::waitForBytesWritten(int msecs)
|
||||
return false;
|
||||
}
|
||||
|
||||
@ -255,7 +254,7 @@ diff -up qt-everywhere-opensource-src-4.8.6/src/corelib/io/qprocess_unix.cpp.pol
|
||||
}
|
||||
|
||||
return false;
|
||||
@@ -1229,29 +1213,9 @@ bool QProcessPrivate::waitForFinished(in
|
||||
@@ -1194,29 +1178,9 @@ bool QProcessPrivate::waitForFinished(int msecs)
|
||||
stopWatch.start();
|
||||
|
||||
forever {
|
||||
@ -287,7 +286,7 @@ diff -up qt-everywhere-opensource-src-4.8.6/src/corelib/io/qprocess_unix.cpp.pol
|
||||
if (ret < 0) {
|
||||
break;
|
||||
}
|
||||
@@ -1261,20 +1225,20 @@ bool QProcessPrivate::waitForFinished(in
|
||||
@@ -1226,20 +1190,20 @@ bool QProcessPrivate::waitForFinished(int msecs)
|
||||
return false;
|
||||
}
|
||||
|
||||
@ -313,7 +312,7 @@ diff -up qt-everywhere-opensource-src-4.8.6/src/corelib/io/qprocess_unix.cpp.pol
|
||||
if (_q_processDied())
|
||||
return true;
|
||||
}
|
||||
@@ -1284,10 +1248,10 @@ bool QProcessPrivate::waitForFinished(in
|
||||
@@ -1249,10 +1213,10 @@ bool QProcessPrivate::waitForFinished(int msecs)
|
||||
|
||||
bool QProcessPrivate::waitForWrite(int msecs)
|
||||
{
|
||||
@ -328,10 +327,9 @@ diff -up qt-everywhere-opensource-src-4.8.6/src/corelib/io/qprocess_unix.cpp.pol
|
||||
}
|
||||
|
||||
void QProcessPrivate::findExitCode()
|
||||
diff -up qt-everywhere-opensource-src-4.8.6/src/corelib/kernel/qcore_unix.cpp.poll qt-everywhere-opensource-src-4.8.6/src/corelib/kernel/qcore_unix.cpp
|
||||
--- qt-everywhere-opensource-src-4.8.6/src/corelib/kernel/qcore_unix.cpp.poll 2014-03-30 15:36:48.000000000 -0500
|
||||
+++ qt-everywhere-opensource-src-4.8.6/src/corelib/kernel/qcore_unix.cpp 2014-03-31 18:01:59.369715403 -0500
|
||||
@@ -99,4 +99,165 @@ int qt_safe_select(int nfds, fd_set *fdr
|
||||
--- a/src/corelib/kernel/qcore_unix.cpp
|
||||
+++ a/src/corelib/kernel/qcore_unix.cpp
|
||||
@@ -103,4 +103,165 @@ int qt_safe_select(int nfds, fd_set *fdread, fd_set *fdwrite, fd_set *fdexcept,
|
||||
}
|
||||
}
|
||||
|
||||
@ -497,10 +495,9 @@ diff -up qt-everywhere-opensource-src-4.8.6/src/corelib/kernel/qcore_unix.cpp.po
|
||||
+#endif
|
||||
+
|
||||
QT_END_NAMESPACE
|
||||
diff -up qt-everywhere-opensource-src-4.8.6/src/corelib/kernel/qcore_unix_p.h.poll qt-everywhere-opensource-src-4.8.6/src/corelib/kernel/qcore_unix_p.h
|
||||
--- qt-everywhere-opensource-src-4.8.6/src/corelib/kernel/qcore_unix_p.h.poll 2014-03-30 15:36:48.000000000 -0500
|
||||
+++ qt-everywhere-opensource-src-4.8.6/src/corelib/kernel/qcore_unix_p.h 2014-03-31 18:01:59.370715392 -0500
|
||||
@@ -345,9 +345,42 @@ static inline pid_t qt_safe_waitpid(pid_
|
||||
--- a/src/corelib/kernel/qcore_unix_p.h
|
||||
+++ a/src/corelib/kernel/qcore_unix_p.h
|
||||
@@ -316,9 +316,42 @@ static inline pid_t qt_safe_waitpid(pid_t pid, int *status, int options)
|
||||
|
||||
timeval qt_gettime(); // in qelapsedtimer_mac.cpp or qtimestamp_unix.cpp
|
||||
|
||||
@ -543,10 +540,9 @@ diff -up qt-everywhere-opensource-src-4.8.6/src/corelib/kernel/qcore_unix_p.h.po
|
||||
// according to X/OPEN we have to define semun ourselves
|
||||
// we use prefix as on some systems sem.h will have it
|
||||
struct semid_ds;
|
||||
diff -up qt-everywhere-opensource-src-4.8.6/src/network/socket/qlocalserver_unix.cpp.poll qt-everywhere-opensource-src-4.8.6/src/network/socket/qlocalserver_unix.cpp
|
||||
--- qt-everywhere-opensource-src-4.8.6/src/network/socket/qlocalserver_unix.cpp.poll 2014-03-30 15:36:49.000000000 -0500
|
||||
+++ qt-everywhere-opensource-src-4.8.6/src/network/socket/qlocalserver_unix.cpp 2014-03-31 18:01:59.370715392 -0500
|
||||
@@ -208,16 +208,11 @@ void QLocalServerPrivate::_q_onNewConnec
|
||||
--- a/src/network/socket/qlocalserver_unix.cpp
|
||||
+++ a/src/network/socket/qlocalserver_unix.cpp
|
||||
@@ -208,16 +208,11 @@ void QLocalServerPrivate::_q_onNewConnection()
|
||||
|
||||
void QLocalServerPrivate::waitForNewConnection(int msec, bool *timedOut)
|
||||
{
|
||||
@ -567,10 +563,9 @@ diff -up qt-everywhere-opensource-src-4.8.6/src/network/socket/qlocalserver_unix
|
||||
if (-1 == result) {
|
||||
setError(QLatin1String("QLocalServer::waitForNewConnection"));
|
||||
closeServer();
|
||||
diff -up qt-everywhere-opensource-src-4.8.6/src/network/socket/qlocalsocket_unix.cpp.poll qt-everywhere-opensource-src-4.8.6/src/network/socket/qlocalsocket_unix.cpp
|
||||
--- qt-everywhere-opensource-src-4.8.6/src/network/socket/qlocalsocket_unix.cpp.poll 2014-03-30 15:36:49.000000000 -0500
|
||||
+++ qt-everywhere-opensource-src-4.8.6/src/network/socket/qlocalsocket_unix.cpp 2014-03-31 18:01:59.370715392 -0500
|
||||
@@ -56,10 +56,6 @@
|
||||
--- a/src/network/socket/qlocalsocket_unix.cpp
|
||||
+++ a/src/network/socket/qlocalsocket_unix.cpp
|
||||
@@ -56,10 +56,6 @@
|
||||
#include <qdebug.h>
|
||||
#include <qelapsedtimer.h>
|
||||
|
||||
@ -581,7 +576,7 @@ diff -up qt-everywhere-opensource-src-4.8.6/src/network/socket/qlocalsocket_unix
|
||||
#define QT_CONNECT_TIMEOUT 30000
|
||||
|
||||
QT_BEGIN_NAMESPACE
|
||||
@@ -520,32 +516,17 @@ bool QLocalSocket::waitForConnected(int
|
||||
@@ -520,32 +516,17 @@ bool QLocalSocket::waitForConnected(int msec)
|
||||
if (state() != ConnectingState)
|
||||
return (state() == ConnectedState);
|
||||
|
||||
@ -620,7 +615,7 @@ diff -up qt-everywhere-opensource-src-4.8.6/src/network/socket/qlocalsocket_unix
|
||||
if (-1 == result && errno != EINTR) {
|
||||
d->errorOccurred( QLocalSocket::UnknownSocketError,
|
||||
QLatin1String("QLocalSocket::waitForConnected"));
|
||||
@@ -553,6 +534,11 @@ bool QLocalSocket::waitForConnected(int
|
||||
@@ -553,6 +534,11 @@ bool QLocalSocket::waitForConnected(int msec)
|
||||
}
|
||||
if (result > 0)
|
||||
d->_q_connectToSocket();
|
||||
@ -632,10 +627,9 @@ diff -up qt-everywhere-opensource-src-4.8.6/src/network/socket/qlocalsocket_unix
|
||||
}
|
||||
|
||||
return (state() == ConnectedState);
|
||||
diff -up qt-everywhere-opensource-src-4.8.6/src/network/socket/qnativesocketengine_unix.cpp.poll qt-everywhere-opensource-src-4.8.6/src/network/socket/qnativesocketengine_unix.cpp
|
||||
--- qt-everywhere-opensource-src-4.8.6/src/network/socket/qnativesocketengine_unix.cpp.poll 2014-03-30 15:36:49.000000000 -0500
|
||||
+++ qt-everywhere-opensource-src-4.8.6/src/network/socket/qnativesocketengine_unix.cpp 2014-03-31 18:01:59.371715381 -0500
|
||||
@@ -1068,48 +1068,40 @@ qint64 QNativeSocketEnginePrivate::nativ
|
||||
--- a/src/network/socket/qnativesocketengine_unix.cpp
|
||||
+++ a/src/network/socket/qnativesocketengine_unix.cpp
|
||||
@@ -1090,48 +1090,40 @@ qint64 QNativeSocketEnginePrivate::nativeRead(char *data, qint64 maxSize)
|
||||
|
||||
int QNativeSocketEnginePrivate::nativeSelect(int timeout, bool selectForRead) const
|
||||
{
|
||||
@ -710,10 +704,9 @@ diff -up qt-everywhere-opensource-src-4.8.6/src/network/socket/qnativesocketengi
|
||||
return ret;
|
||||
}
|
||||
|
||||
diff -up qt-everywhere-opensource-src-4.8.6/src/qt3support/network/q3socketdevice_unix.cpp.poll qt-everywhere-opensource-src-4.8.6/src/qt3support/network/q3socketdevice_unix.cpp
|
||||
--- qt-everywhere-opensource-src-4.8.6/src/qt3support/network/q3socketdevice_unix.cpp.poll 2014-03-30 15:36:49.000000000 -0500
|
||||
+++ qt-everywhere-opensource-src-4.8.6/src/qt3support/network/q3socketdevice_unix.cpp 2014-03-31 18:01:59.371715381 -0500
|
||||
@@ -68,6 +68,7 @@ static inline int qt_socket_socket(int d
|
||||
--- a/src/qt3support/network/q3socketdevice_unix.cpp
|
||||
+++ a/src/qt3support/network/q3socketdevice_unix.cpp
|
||||
@@ -68,6 +68,7 @@ static inline int qt_socket_socket(int domain, int type, int protocol)
|
||||
#endif
|
||||
|
||||
#include "q3socketdevice.h"
|
||||
@ -721,7 +714,7 @@ diff -up qt-everywhere-opensource-src-4.8.6/src/qt3support/network/q3socketdevic
|
||||
|
||||
#ifndef QT_NO_NETWORK
|
||||
|
||||
@@ -588,19 +589,10 @@ Q_LONG Q3SocketDevice::waitForMore( int
|
||||
@@ -588,19 +589,10 @@ Q_LONG Q3SocketDevice::waitForMore( int msecs, bool *timeout ) const
|
||||
{
|
||||
if ( !isValid() )
|
||||
return -1;
|
||||
@ -744,9 +737,8 @@ diff -up qt-everywhere-opensource-src-4.8.6/src/qt3support/network/q3socketdevic
|
||||
|
||||
if ( rv < 0 )
|
||||
return -1;
|
||||
diff -up qt-everywhere-opensource-src-4.8.6/src/qt3support/other/q3process_unix.cpp.poll qt-everywhere-opensource-src-4.8.6/src/qt3support/other/q3process_unix.cpp
|
||||
--- qt-everywhere-opensource-src-4.8.6/src/qt3support/other/q3process_unix.cpp.poll 2014-03-30 15:36:49.000000000 -0500
|
||||
+++ qt-everywhere-opensource-src-4.8.6/src/qt3support/other/q3process_unix.cpp 2014-03-31 18:01:59.372715370 -0500
|
||||
--- a/src/qt3support/other/q3process_unix.cpp
|
||||
+++ a/src/qt3support/other/q3process_unix.cpp
|
||||
@@ -981,13 +981,10 @@ bool Q3Process::isRunning() const
|
||||
// On heavy processing, the socket notifier for the sigchild might not
|
||||
// have found time to fire yet.
|
||||
|
514
qt-aarch64.patch
514
qt-aarch64.patch
File diff suppressed because one or more lines are too long
@ -1,12 +1,12 @@
|
||||
diff -up qt-everywhere-opensource-src-4.8.5/configure.mysql_config qt-everywhere-opensource-src-4.8.5/configure
|
||||
--- qt-everywhere-opensource-src-4.8.5/configure.mysql_config 2013-06-07 00:16:41.000000000 -0500
|
||||
+++ qt-everywhere-opensource-src-4.8.5/configure 2014-03-07 10:09:27.412071146 -0600
|
||||
@@ -5480,8 +5480,15 @@ for _SQLDR in $CFG_SQL_AVAILABLE; do
|
||||
diff -up qt-everywhere-opensource-src-4.7.0-beta2/configure.mysql_config qt-everywhere-opensource-src-4.7.0-beta2/configure
|
||||
--- qt-everywhere-opensource-src-4.7.0-beta2/configure.mysql_config 2010-06-29 20:53:10.000000000 -0500
|
||||
+++ qt-everywhere-opensource-src-4.7.0-beta2/configure 2010-07-08 08:30:32.148864934 -0500
|
||||
@@ -4849,8 +4849,15 @@ for _SQLDR in $CFG_SQL_AVAILABLE; do
|
||||
[ -z "$CFG_MYSQL_CONFIG" ] && CFG_MYSQL_CONFIG=`"$WHICH" mysql_config`
|
||||
if [ -x "$CFG_MYSQL_CONFIG" ]; then
|
||||
QT_CFLAGS_MYSQL=`$CFG_MYSQL_CONFIG --include 2>/dev/null`
|
||||
+ $CFG_MYSQL_CONFIG --variable=pkglibdir &>/dev/null && \
|
||||
+ QT_MYSQL_PKGLIBDIR=`$CFG_MYSQL_CONFIG --variable=pkglibdir 2>/dev/null`
|
||||
+ $CFG_MYSQL_CONFIG --pkglibdir &>/dev/null && \
|
||||
+ QT_MYSQL_PKGLIBDIR=`$CFG_MYSQL_CONFIG --pkglibdir 2>/dev/null`
|
||||
+ if [ -n "$QT_MYSQL_PKGLIBDIR" ]; then
|
||||
+ QT_LFLAGS_MYSQL_R="-L$QT_MYSQL_PKGLIBDIR -lmysqlclient_r"
|
||||
+ QT_LFLAGS_MYSQL="-L$QT_MYSQL_PKGLIBDIR -lmysqlclient"
|
57
qt-everywhere-opensource-src-4.8-QTBUG-27809.patch
Normal file
57
qt-everywhere-opensource-src-4.8-QTBUG-27809.patch
Normal file
@ -0,0 +1,57 @@
|
||||
commit 22b493d3523140e14df433cd8a49292b7f73f21c
|
||||
Author: Peter Seiderer <Peter.Seiderer@gmx.de>
|
||||
Date: Sat May 11 07:49:47 2013 +0200
|
||||
|
||||
Fix multiple calls to QDBusPendingReply::waitForFinished on separate objects
|
||||
|
||||
QTBUG-27809
|
||||
|
||||
Change-Id: If1691052ed1542e0e865c83df7b5737761a2bc86
|
||||
|
||||
diff --git a/src/dbus/qdbusintegrator.cpp b/src/dbus/qdbusintegrator.cpp
|
||||
index 96e4a12..1007f1a 100644
|
||||
--- a/src/dbus/qdbusintegrator.cpp
|
||||
+++ b/src/dbus/qdbusintegrator.cpp
|
||||
@@ -1774,14 +1774,11 @@ void QDBusConnectionPrivate::waitForFinished(QDBusPendingCallPrivate *pcall)
|
||||
pcall->waitForFinishedCondition.wait(&pcall->mutex);
|
||||
} else {
|
||||
pcall->waitingForFinished = true;
|
||||
- pcall->mutex.unlock();
|
||||
-
|
||||
{
|
||||
QDBusDispatchLocker locker(PendingCallBlockAction, this);
|
||||
q_dbus_pending_call_block(pcall->pending);
|
||||
- // QDBusConnectionPrivate::processFinishedCall() is called automatically
|
||||
+ processFinishedCall(pcall);
|
||||
}
|
||||
- pcall->mutex.lock();
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1789,8 +1786,6 @@ void QDBusConnectionPrivate::processFinishedCall(QDBusPendingCallPrivate *call)
|
||||
{
|
||||
QDBusConnectionPrivate *connection = const_cast<QDBusConnectionPrivate *>(call->connection);
|
||||
|
||||
- QMutexLocker locker(&call->mutex);
|
||||
-
|
||||
QDBusMessage &msg = call->replyMessage;
|
||||
if (call->pending) {
|
||||
// decode the message
|
||||
@@ -1824,7 +1819,8 @@ void QDBusConnectionPrivate::processFinishedCall(QDBusPendingCallPrivate *call)
|
||||
q_dbus_pending_call_unref(call->pending);
|
||||
call->pending = 0;
|
||||
|
||||
- locker.unlock();
|
||||
+ if (call->waitingForFinished)
|
||||
+ call->waitForFinishedCondition.wakeAll();
|
||||
|
||||
// Are there any watchers?
|
||||
if (call->watcherHelper)
|
||||
@@ -2009,7 +2005,6 @@ QDBusPendingCallPrivate *QDBusConnectionPrivate::sendWithReplyAsync(const QDBusM
|
||||
q_dbus_message_unref(msg);
|
||||
|
||||
pcall->pending = pending;
|
||||
- q_dbus_pending_call_set_notify(pending, qDBusResultReceived, pcall, 0);
|
||||
|
||||
return pcall;
|
||||
} else {
|
@ -1,6 +1,6 @@
|
||||
diff -up qt-everywhere-opensource-src-4.8.6/src/3rdparty/javascriptcore/JavaScriptCore/wtf/Platform.h.s390 qt-everywhere-opensource-src-4.8.6/src/3rdparty/javascriptcore/JavaScriptCore/wtf/Platform.h
|
||||
--- qt-everywhere-opensource-src-4.8.6/src/3rdparty/javascriptcore/JavaScriptCore/wtf/Platform.h.s390 2014-03-30 15:36:49.000000000 -0500
|
||||
+++ qt-everywhere-opensource-src-4.8.6/src/3rdparty/javascriptcore/JavaScriptCore/wtf/Platform.h 2014-03-31 17:59:16.846465899 -0500
|
||||
diff -up qt-everywhere-opensource-src-4.8.0/src/3rdparty/javascriptcore/JavaScriptCore/wtf/Platform.h.s390 qt-everywhere-opensource-src-4.8.0/src/3rdparty/javascriptcore/JavaScriptCore/wtf/Platform.h
|
||||
--- qt-everywhere-opensource-src-4.8.0/src/3rdparty/javascriptcore/JavaScriptCore/wtf/Platform.h.s390 2011-07-28 11:12:48.000000000 +0200
|
||||
+++ qt-everywhere-opensource-src-4.8.0/src/3rdparty/javascriptcore/JavaScriptCore/wtf/Platform.h 2011-07-28 11:13:56.000000000 +0200
|
||||
@@ -189,6 +189,18 @@
|
||||
#define WTF_CPU_SPARC 1
|
||||
#endif
|
||||
@ -20,12 +20,12 @@ diff -up qt-everywhere-opensource-src-4.8.6/src/3rdparty/javascriptcore/JavaScri
|
||||
/* CPU(X86) - i386 / x86 32-bit */
|
||||
#if defined(__i386__) \
|
||||
|| defined(i386) \
|
||||
@@ -903,7 +915,7 @@
|
||||
@@ -873,7 +885,7 @@
|
||||
#endif
|
||||
|
||||
#if !defined(WTF_USE_JSVALUE64) && !defined(WTF_USE_JSVALUE32) && !defined(WTF_USE_JSVALUE32_64)
|
||||
-#if (CPU(X86_64) && (OS(UNIX) || OS(WINDOWS) || OS(SOLARIS) || OS(HPUX))) || (CPU(IA64) && !CPU(IA64_32)) || CPU(ALPHA) || CPU(AIX64) || CPU(SPARC64) || CPU(MIPS64) || CPU(AARCH64)
|
||||
+#if (CPU(X86_64) && (OS(UNIX) || OS(WINDOWS) || OS(SOLARIS) || OS(HPUX))) || (CPU(IA64) && !CPU(IA64_32)) || CPU(ALPHA) || CPU(AIX64) || CPU(SPARC64) || CPU(MIPS64) || CPU(AARCH64) || CPU(S390X)
|
||||
-#if (CPU(X86_64) && (OS(UNIX) || OS(WINDOWS) || OS(SOLARIS) || OS(HPUX))) || (CPU(IA64) && !CPU(IA64_32)) || CPU(ALPHA) || CPU(AIX64) || CPU(SPARC64)
|
||||
+#if (CPU(X86_64) && (OS(UNIX) || OS(WINDOWS) || OS(SOLARIS) || OS(HPUX))) || (CPU(IA64) && !CPU(IA64_32)) || CPU(ALPHA) || CPU(AIX64) || CPU(SPARC64) || CPU(S390X)
|
||||
#define WTF_USE_JSVALUE64 1
|
||||
#elif CPU(ARM) || CPU(PPC64)
|
||||
#define WTF_USE_JSVALUE32 1
|
22
qt-everywhere-opensource-src-4.8.0-ld-gold.patch
Normal file
22
qt-everywhere-opensource-src-4.8.0-ld-gold.patch
Normal file
@ -0,0 +1,22 @@
|
||||
diff -up qt-everywhere-opensource-src-4.8.0/src/3rdparty/webkit/Source/common.pri.me qt-everywhere-opensource-src-4.8.0/src/3rdparty/webkit/Source/common.pri
|
||||
--- qt-everywhere-opensource-src-4.8.0/src/3rdparty/webkit/Source/common.pri.me 2012-01-24 13:05:50.460890750 +0100
|
||||
+++ qt-everywhere-opensource-src-4.8.0/src/3rdparty/webkit/Source/common.pri 2012-01-24 13:19:08.836799974 +0100
|
||||
@@ -3,12 +3,12 @@
|
||||
contains(JAVASCRIPTCORE_JIT,yes): DEFINES+=ENABLE_JIT=1
|
||||
contains(JAVASCRIPTCORE_JIT,no): DEFINES+=ENABLE_JIT=0
|
||||
|
||||
-linux-g++ {
|
||||
-isEmpty($$(SBOX_DPKG_INST_ARCH)):exists(/usr/bin/ld.gold) {
|
||||
- message(Using gold linker)
|
||||
- QMAKE_LFLAGS+=-fuse-ld=gold
|
||||
-}
|
||||
-}
|
||||
+#linux-g++ {
|
||||
+#isEmpty($$(SBOX_DPKG_INST_ARCH)):exists(/usr/bin/ld.gold) {
|
||||
+# message(Using gold linker)
|
||||
+# QMAKE_LFLAGS+=-fuse-ld=gold
|
||||
+#}
|
||||
+#}
|
||||
|
||||
# We use this flag on production branches
|
||||
# See https://bugs.webkit.org/show_bug.cgi?id=60824
|
53
qt-everywhere-opensource-src-4.8.1-qtgahandle.patch
Normal file
53
qt-everywhere-opensource-src-4.8.1-qtgahandle.patch
Normal file
@ -0,0 +1,53 @@
|
||||
diff -up qt-everywhere-opensource-src-4.8.1/src/plugins/imageformats/tga/qtgafile.cpp.me qt-everywhere-opensource-src-4.8.1/src/plugins/imageformats/tga/qtgafile.cpp
|
||||
--- qt-everywhere-opensource-src-4.8.1/src/plugins/imageformats/tga/qtgafile.cpp.me 2012-03-30 21:54:59.921331145 +0200
|
||||
+++ qt-everywhere-opensource-src-4.8.1/src/plugins/imageformats/tga/qtgafile.cpp 2012-03-30 21:58:14.516042067 +0200
|
||||
@@ -41,6 +41,7 @@
|
||||
|
||||
#include "qtgafile.h"
|
||||
|
||||
+#include <QtCore/QBuffer>
|
||||
#include <QtCore/QIODevice>
|
||||
#include <QtCore/QDebug>
|
||||
#include <QtCore/QDateTime>
|
||||
@@ -264,3 +265,16 @@ QImage QTgaFile::readImage()
|
||||
// TODO: add processing of TGA extension information - ie TGA 2.0 files
|
||||
return im;
|
||||
}
|
||||
+/**
|
||||
+ * Checks if device contains a valid tga image, *without* changing device
|
||||
+ * position.
|
||||
+ */
|
||||
+bool QTgaFile::canRead(QIODevice *device)
|
||||
+{
|
||||
+ QByteArray header = device->peek(HeaderSize);
|
||||
+ if (header.size() < HeaderSize)
|
||||
+ return false;
|
||||
+ QBuffer buffer(&header);
|
||||
+ QTgaFile tga(&buffer);
|
||||
+ return tga.isValid();
|
||||
+}
|
||||
diff -up qt-everywhere-opensource-src-4.8.1/src/plugins/imageformats/tga/qtgafile.h.me qt-everywhere-opensource-src-4.8.1/src/plugins/imageformats/tga/qtgafile.h
|
||||
--- qt-everywhere-opensource-src-4.8.1/src/plugins/imageformats/tga/qtgafile.h.me 2012-03-30 21:58:39.670023189 +0200
|
||||
+++ qt-everywhere-opensource-src-4.8.1/src/plugins/imageformats/tga/qtgafile.h 2012-03-30 21:59:06.202317384 +0200
|
||||
@@ -93,6 +93,8 @@ public:
|
||||
inline QSize size() const;
|
||||
inline Compression compression() const;
|
||||
|
||||
+ static bool canRead(QIODevice *device);
|
||||
+
|
||||
private:
|
||||
static inline quint16 littleEndianInt(const unsigned char *d);
|
||||
|
||||
diff -up qt-everywhere-opensource-src-4.8.1/src/plugins/imageformats/tga/qtgahandler.cpp.me qt-everywhere-opensource-src-4.8.1/src/plugins/imageformats/tga/qtgahandler.cpp
|
||||
--- qt-everywhere-opensource-src-4.8.1/src/plugins/imageformats/tga/qtgahandler.cpp.me 2012-03-30 21:59:17.373303356 +0200
|
||||
+++ qt-everywhere-opensource-src-4.8.1/src/plugins/imageformats/tga/qtgahandler.cpp 2012-03-30 22:00:13.817226439 +0200
|
||||
@@ -77,8 +77,7 @@ bool QTgaHandler::canRead(QIODevice *dev
|
||||
qWarning("QTgaHandler::canRead() called with no device");
|
||||
return false;
|
||||
}
|
||||
- QTgaFile tga(device);
|
||||
- return tga.isValid();
|
||||
+ return QTgaFile::canRead(device);
|
||||
}
|
||||
|
||||
bool QTgaHandler::read(QImage *image)
|
14
qt-everywhere-opensource-src-4.8.5-QTBUG-22829.patch
Normal file
14
qt-everywhere-opensource-src-4.8.5-QTBUG-22829.patch
Normal file
@ -0,0 +1,14 @@
|
||||
diff -up qt-everywhere-opensource-src-4.8.5/src/tools/moc/main.cpp.QTBUG-22829 qt-everywhere-opensource-src-4.8.5/src/tools/moc/main.cpp
|
||||
--- qt-everywhere-opensource-src-4.8.5/src/tools/moc/main.cpp.QTBUG-22829 2013-06-09 17:04:02.762459323 -0500
|
||||
+++ qt-everywhere-opensource-src-4.8.5/src/tools/moc/main.cpp 2013-06-09 17:08:20.409680813 -0500
|
||||
@@ -188,8 +188,9 @@ int runMoc(int _argc, char **_argv)
|
||||
pp.macros["Q_MOC_RUN"];
|
||||
pp.macros["__cplusplus"];
|
||||
|
||||
- // Workaround a bug while parsing the boost/type_traits/has_operator.hpp header. See QTBUG-22829
|
||||
+ // Workaround a bugs while parsing some boost headers. See QTBUG-22829
|
||||
pp.macros["BOOST_TT_HAS_OPERATOR_HPP_INCLUDED"];
|
||||
+ pp.macros["BOOST_LEXICAL_CAST_INCLUDED"];
|
||||
|
||||
QByteArray filename;
|
||||
QByteArray output;
|
@ -1,12 +0,0 @@
|
||||
diff -ur qt-everywhere-opensource-src-4.8.5-CVE-2013-4549/src/xml/sax/qxml.cpp qt-everywhere-opensource-src-4.8.5-QTBUG-35459/src/xml/sax/qxml.cpp
|
||||
--- qt-everywhere-opensource-src-4.8.5-CVE-2013-4549/src/xml/sax/qxml.cpp 2013-12-05 19:23:33.000000000 +0100
|
||||
+++ qt-everywhere-opensource-src-4.8.5-QTBUG-35459/src/xml/sax/qxml.cpp 2014-01-13 20:13:59.000000000 +0100
|
||||
@@ -428,7 +428,7 @@
|
||||
// for the DTD currently being parsed.
|
||||
static const int dtdRecursionLimit = 2;
|
||||
// The maximum amount of characters an entity value may contain, after expansion.
|
||||
- static const int entityCharacterLimit = 1024;
|
||||
+ static const int entityCharacterLimit = 4096;
|
||||
|
||||
const QString &string();
|
||||
void stringClear();
|
@ -1,17 +0,0 @@
|
||||
diff -up qt-everywhere-opensource-src-4.8.7/src/tools/moc/main.cpp.QTBUG-22829 qt-everywhere-opensource-src-4.8.7/src/tools/moc/main.cpp
|
||||
--- qt-everywhere-opensource-src-4.8.7/src/tools/moc/main.cpp.QTBUG-22829 2015-05-07 09:14:44.000000000 -0500
|
||||
+++ qt-everywhere-opensource-src-4.8.7/src/tools/moc/main.cpp 2016-12-08 12:32:46.638962448 -0600
|
||||
@@ -188,8 +188,12 @@ int runMoc(int _argc, char **_argv)
|
||||
pp.macros["Q_MOC_RUN"];
|
||||
pp.macros["__cplusplus"];
|
||||
|
||||
- // Workaround a bug while parsing the boost/type_traits/has_operator.hpp header. See QTBUG-22829
|
||||
+ // Workaround a bugs while parsing some boost headers. See QTBUG-22829
|
||||
pp.macros["BOOST_TT_HAS_OPERATOR_HPP_INCLUDED"];
|
||||
+ pp.macros["BOOST_LEXICAL_CAST_INCLUDED"];
|
||||
+ pp.macros["BOOST_NEXT_PRIOR_HPP_INCLUDED"];
|
||||
+ pp.macros["BOOST_TYPE_TRAITS_HPP"];
|
||||
+ pp.macros["_SYS_SYSMACROS_H_OUTER"];
|
||||
|
||||
QByteArray filename;
|
||||
QByteArray output;
|
@ -1,94 +0,0 @@
|
||||
--- src/corelib/kernel/qeventdispatcher_glib.cpp.sav 2014-03-28 15:26:37.000000000 +0100
|
||||
+++ src/corelib/kernel/qeventdispatcher_glib.cpp 2014-04-24 09:44:09.358659204 +0200
|
||||
@@ -255,22 +255,30 @@ struct GPostEventSource
|
||||
GSource source;
|
||||
QAtomicInt serialNumber;
|
||||
int lastSerialNumber;
|
||||
+ QEventLoop::ProcessEventsFlags processEventsFlags;
|
||||
QEventDispatcherGlibPrivate *d;
|
||||
};
|
||||
|
||||
static gboolean postEventSourcePrepare(GSource *s, gint *timeout)
|
||||
{
|
||||
+ GPostEventSource *source = reinterpret_cast<GPostEventSource *>(s);
|
||||
QThreadData *data = QThreadData::current();
|
||||
if (!data)
|
||||
return false;
|
||||
|
||||
+ QEventLoop::ProcessEventsFlags excludeAllFlags
|
||||
+ = QEventLoop::ExcludeUserInputEvents
|
||||
+ | QEventLoop::ExcludeSocketNotifiers
|
||||
+ | QEventLoop::X11ExcludeTimers;
|
||||
+ if ((source->processEventsFlags & excludeAllFlags) == excludeAllFlags)
|
||||
+ return false;
|
||||
+
|
||||
gint dummy;
|
||||
if (!timeout)
|
||||
timeout = &dummy;
|
||||
const bool canWait = data->canWaitLocked();
|
||||
*timeout = canWait ? -1 : 0;
|
||||
|
||||
- GPostEventSource *source = reinterpret_cast<GPostEventSource *>(s);
|
||||
return (!canWait
|
||||
|| (source->serialNumber != source->lastSerialNumber));
|
||||
}
|
||||
@@ -284,8 +292,14 @@ static gboolean postEventSourceDispatch(
|
||||
{
|
||||
GPostEventSource *source = reinterpret_cast<GPostEventSource *>(s);
|
||||
source->lastSerialNumber = source->serialNumber;
|
||||
- QCoreApplication::sendPostedEvents();
|
||||
- source->d->runTimersOnceWithNormalPriority();
|
||||
+ QEventLoop::ProcessEventsFlags excludeAllFlags
|
||||
+ = QEventLoop::ExcludeUserInputEvents
|
||||
+ | QEventLoop::ExcludeSocketNotifiers
|
||||
+ | QEventLoop::X11ExcludeTimers;
|
||||
+ if ((source->processEventsFlags & excludeAllFlags) != excludeAllFlags) {
|
||||
+ QCoreApplication::sendPostedEvents();
|
||||
+ source->d->runTimersOnceWithNormalPriority();
|
||||
+ }
|
||||
return true; // i dunno, george...
|
||||
}
|
||||
|
||||
@@ -329,6 +343,7 @@ QEventDispatcherGlibPrivate::QEventDispa
|
||||
postEventSource = reinterpret_cast<GPostEventSource *>(g_source_new(&postEventSourceFuncs,
|
||||
sizeof(GPostEventSource)));
|
||||
postEventSource->serialNumber = 1;
|
||||
+ postEventSource->processEventsFlags = QEventLoop::AllEvents;
|
||||
postEventSource->d = this;
|
||||
g_source_set_can_recurse(&postEventSource->source, true);
|
||||
g_source_attach(&postEventSource->source, mainContext);
|
||||
@@ -423,6 +438,7 @@ bool QEventDispatcherGlib::processEvents
|
||||
|
||||
// tell postEventSourcePrepare() and timerSource about any new flags
|
||||
QEventLoop::ProcessEventsFlags savedFlags = d->timerSource->processEventsFlags;
|
||||
+ d->postEventSource->processEventsFlags = flags;
|
||||
d->timerSource->processEventsFlags = flags;
|
||||
d->socketNotifierSource->processEventsFlags = flags;
|
||||
|
||||
@@ -435,6 +451,7 @@ bool QEventDispatcherGlib::processEvents
|
||||
while (!result && canWait)
|
||||
result = g_main_context_iteration(d->mainContext, canWait);
|
||||
|
||||
+ d->postEventSource->processEventsFlags = savedFlags;
|
||||
d->timerSource->processEventsFlags = savedFlags;
|
||||
d->socketNotifierSource->processEventsFlags = savedFlags;
|
||||
|
||||
--- src/corelib/kernel/qeventdispatcher_unix.cpp.sav 2013-06-07 07:16:52.000000000 +0200
|
||||
+++ src/corelib/kernel/qeventdispatcher_unix.cpp 2014-04-24 09:43:06.927589535 +0200
|
||||
@@ -905,7 +905,15 @@ bool QEventDispatcherUNIX::processEvents
|
||||
|
||||
// we are awake, broadcast it
|
||||
emit awake();
|
||||
- QCoreApplicationPrivate::sendPostedEvents(0, 0, d->threadData);
|
||||
+
|
||||
+ QEventLoop::ProcessEventsFlags excludeAllFlags
|
||||
+ = QEventLoop::ExcludeUserInputEvents
|
||||
+ | QEventLoop::ExcludeSocketNotifiers
|
||||
+ | QEventLoop::X11ExcludeTimers;
|
||||
+ if ((flags & excludeAllFlags) == excludeAllFlags)
|
||||
+ return false;
|
||||
+ if(( flags & excludeAllFlags ) != excludeAllFlags )
|
||||
+ QCoreApplicationPrivate::sendPostedEvents(0, 0, d->threadData);
|
||||
|
||||
int nevents = 0;
|
||||
const bool canWait = (d->threadData->canWaitLocked()
|
@ -1,63 +0,0 @@
|
||||
Author: Jan-Marek Glogowski <glogow@fbihome.de>
|
||||
Date: Thu Mar 06 18:44:43 2014 +0100
|
||||
|
||||
Honor QEventLoop::ExcludeSocketNotifiers in glib event loop.
|
||||
|
||||
Implements QEventLoop::ExcludeSocketNotifiers in the same way
|
||||
QEventLoop::X11ExcludeTimers is already implemented for the glib
|
||||
event loop.
|
||||
|
||||
--- qt4-x11-4.8.1.orig/src/corelib/kernel/qeventdispatcher_glib.cpp
|
||||
+++ qt4-x11-4.8.1/src/corelib/kernel/qeventdispatcher_glib.cpp
|
||||
@@ -65,6 +65,7 @@ struct GPollFDWithQSocketNotifier
|
||||
struct GSocketNotifierSource
|
||||
{
|
||||
GSource source;
|
||||
+ QEventLoop::ProcessEventsFlags processEventsFlags;
|
||||
QList<GPollFDWithQSocketNotifier *> pollfds;
|
||||
};
|
||||
|
||||
@@ -80,6 +81,9 @@ static gboolean socketNotifierSourceChec
|
||||
GSocketNotifierSource *src = reinterpret_cast<GSocketNotifierSource *>(source);
|
||||
|
||||
bool pending = false;
|
||||
+ if (src->processEventsFlags & QEventLoop::ExcludeSocketNotifiers)
|
||||
+ return pending;
|
||||
+
|
||||
for (int i = 0; !pending && i < src->pollfds.count(); ++i) {
|
||||
GPollFDWithQSocketNotifier *p = src->pollfds.at(i);
|
||||
|
||||
@@ -103,6 +107,9 @@ static gboolean socketNotifierSourceDisp
|
||||
QEvent event(QEvent::SockAct);
|
||||
|
||||
GSocketNotifierSource *src = reinterpret_cast<GSocketNotifierSource *>(source);
|
||||
+ if (src->processEventsFlags & QEventLoop::ExcludeSocketNotifiers)
|
||||
+ return true;
|
||||
+
|
||||
for (int i = 0; i < src->pollfds.count(); ++i) {
|
||||
GPollFDWithQSocketNotifier *p = src->pollfds.at(i);
|
||||
|
||||
@@ -330,6 +337,7 @@ QEventDispatcherGlibPrivate::QEventDispa
|
||||
reinterpret_cast<GSocketNotifierSource *>(g_source_new(&socketNotifierSourceFuncs,
|
||||
sizeof(GSocketNotifierSource)));
|
||||
(void) new (&socketNotifierSource->pollfds) QList<GPollFDWithQSocketNotifier *>();
|
||||
+ socketNotifierSource->processEventsFlags = QEventLoop::AllEvents;
|
||||
g_source_set_can_recurse(&socketNotifierSource->source, true);
|
||||
g_source_attach(&socketNotifierSource->source, mainContext);
|
||||
|
||||
@@ -415,6 +423,7 @@ bool QEventDispatcherGlib::processEvents
|
||||
// tell postEventSourcePrepare() and timerSource about any new flags
|
||||
QEventLoop::ProcessEventsFlags savedFlags = d->timerSource->processEventsFlags;
|
||||
d->timerSource->processEventsFlags = flags;
|
||||
+ d->socketNotifierSource->processEventsFlags = flags;
|
||||
|
||||
if (!(flags & QEventLoop::EventLoopExec)) {
|
||||
// force timers to be sent at normal priority
|
||||
@@ -426,6 +435,7 @@ bool QEventDispatcherGlib::processEvents
|
||||
result = g_main_context_iteration(d->mainContext, canWait);
|
||||
|
||||
d->timerSource->processEventsFlags = savedFlags;
|
||||
+ d->socketNotifierSource->processEventsFlags = savedFlags;
|
||||
|
||||
if (canWait)
|
||||
emit awake();
|
@ -1,12 +0,0 @@
|
||||
--- src/gui/kernel/qclipboard_x11.cpp.sav 2014-04-25 09:52:03.855693228 +0200
|
||||
+++ src/gui/kernel/qclipboard_x11.cpp 2014-04-25 09:51:58.038693777 +0200
|
||||
@@ -548,7 +548,8 @@ bool QX11Data::clipboardWaitForEvent(Win
|
||||
return false;
|
||||
|
||||
XSync(X11->display, false);
|
||||
- usleep(50000);
|
||||
+ if (!XPending(X11->display))
|
||||
+ usleep(5000);
|
||||
|
||||
now.start();
|
||||
|
@ -1,351 +0,0 @@
|
||||
diff -ur qt-everywhere-opensource-src-4.8.6/tools/assistant/lib/fulltextsearch/fulltextsearch.pri qt-everywhere-opensource-src-4.8.6-system-clucene/tools/assistant/lib/fulltextsearch/fulltextsearch.pri
|
||||
--- qt-everywhere-opensource-src-4.8.6/tools/assistant/lib/fulltextsearch/fulltextsearch.pri 2014-04-10 20:37:12.000000000 +0200
|
||||
+++ qt-everywhere-opensource-src-4.8.6-system-clucene/tools/assistant/lib/fulltextsearch/fulltextsearch.pri 2014-10-26 03:33:45.000000000 +0100
|
||||
@@ -1,125 +1,7 @@
|
||||
-DEFINES += _BUILD_FOR_QT_ LUCENE_DISABLE_MEMTRACKING
|
||||
-win32:DEFINES += _CRT_SECURE_NO_DEPRECATE _MT
|
||||
-
|
||||
-CLUCENEDIR = ../../../../src/3rdparty/clucene/src/CLucene
|
||||
-
|
||||
-INCLUDEPATH += . .. \
|
||||
- $$CLUCENEDIR \
|
||||
- $$CLUCENEDIR/../ \
|
||||
- $$CLUCENEDIR/analysis \
|
||||
- $$CLUCENEDIR/analysis/standard \
|
||||
- $$CLUCENEDIR/config \
|
||||
- $$CLUCENEDIR/debug \
|
||||
- $$CLUCENEDIR/document \
|
||||
- $$CLUCENEDIR/index \
|
||||
- $$CLUCENEDIR/queryParser \
|
||||
- $$CLUCENEDIR/search \
|
||||
- $$CLUCENEDIR/store \
|
||||
- $$CLUCENEDIR/util
|
||||
-
|
||||
-
|
||||
-SOURCES += $$CLUCENEDIR/StdHeader.cpp \
|
||||
- $$CLUCENEDIR/analysis/AnalysisHeader.cpp \
|
||||
- $$CLUCENEDIR/analysis/Analyzers.cpp \
|
||||
- $$CLUCENEDIR/config/gunichartables.cpp \
|
||||
- $$CLUCENEDIR/config/repl_lltot.cpp \
|
||||
- $$CLUCENEDIR/config/repl_tcscasecmp.cpp \
|
||||
- $$CLUCENEDIR/config/repl_tcslwr.cpp \
|
||||
- $$CLUCENEDIR/config/repl_tcstod.cpp \
|
||||
- $$CLUCENEDIR/config/repl_tcstoll.cpp \
|
||||
- $$CLUCENEDIR/config/repl_tprintf.cpp \
|
||||
- $$CLUCENEDIR/config/threads.cpp \
|
||||
- $$CLUCENEDIR/config/utf8.cpp \
|
||||
- $$CLUCENEDIR/debug/condition.cpp \
|
||||
- $$CLUCENEDIR/debug/error.cpp \
|
||||
- $$CLUCENEDIR/debug/memtracking.cpp \
|
||||
- $$CLUCENEDIR/document/DateField.cpp \
|
||||
- $$CLUCENEDIR/document/Document.cpp \
|
||||
- $$CLUCENEDIR/document/Field.cpp \
|
||||
- $$CLUCENEDIR/index/CompoundFile.cpp \
|
||||
- $$CLUCENEDIR/index/DocumentWriter.cpp \
|
||||
- $$CLUCENEDIR/index/FieldInfos.cpp \
|
||||
- $$CLUCENEDIR/index/FieldsReader.cpp \
|
||||
- $$CLUCENEDIR/index/FieldsWriter.cpp \
|
||||
- $$CLUCENEDIR/index/IndexModifier.cpp \
|
||||
- $$CLUCENEDIR/index/IndexReader.cpp \
|
||||
- $$CLUCENEDIR/index/IndexWriter.cpp \
|
||||
- $$CLUCENEDIR/index/MultiReader.cpp \
|
||||
- $$CLUCENEDIR/index/SegmentInfos.cpp \
|
||||
- $$CLUCENEDIR/index/SegmentMergeInfo.cpp \
|
||||
- $$CLUCENEDIR/index/SegmentMergeQueue.cpp \
|
||||
- $$CLUCENEDIR/index/SegmentMerger.cpp \
|
||||
- $$CLUCENEDIR/index/SegmentReader.cpp \
|
||||
- $$CLUCENEDIR/index/SegmentTermDocs.cpp \
|
||||
- $$CLUCENEDIR/index/SegmentTermEnum.cpp \
|
||||
- $$CLUCENEDIR/index/SegmentTermPositions.cpp \
|
||||
- $$CLUCENEDIR/index/SegmentTermVector.cpp \
|
||||
- $$CLUCENEDIR/index/Term.cpp \
|
||||
- $$CLUCENEDIR/index/TermInfo.cpp \
|
||||
- $$CLUCENEDIR/index/TermInfosReader.cpp \
|
||||
- $$CLUCENEDIR/index/TermInfosWriter.cpp \
|
||||
- $$CLUCENEDIR/index/TermVectorReader.cpp \
|
||||
- $$CLUCENEDIR/index/TermVectorWriter.cpp \
|
||||
- $$CLUCENEDIR/queryParser/Lexer.cpp \
|
||||
- $$CLUCENEDIR/queryParser/MultiFieldQueryParser.cpp \
|
||||
- $$CLUCENEDIR/queryParser/QueryParser.cpp \
|
||||
- $$CLUCENEDIR/queryParser/QueryParserBase.cpp \
|
||||
- $$CLUCENEDIR/queryParser/QueryToken.cpp \
|
||||
- $$CLUCENEDIR/queryParser/TokenList.cpp \
|
||||
- $$CLUCENEDIR/search/BooleanQuery.cpp \
|
||||
- $$CLUCENEDIR/search/BooleanScorer.cpp \
|
||||
- $$CLUCENEDIR/search/CachingWrapperFilter.cpp \
|
||||
- $$CLUCENEDIR/search/ChainedFilter.cpp \
|
||||
- $$CLUCENEDIR/search/ConjunctionScorer.cpp \
|
||||
- $$CLUCENEDIR/search/DateFilter.cpp \
|
||||
- $$CLUCENEDIR/search/ExactPhraseScorer.cpp \
|
||||
- $$CLUCENEDIR/search/Explanation.cpp \
|
||||
- $$CLUCENEDIR/search/FieldCache.cpp \
|
||||
- $$CLUCENEDIR/search/FieldCacheImpl.cpp \
|
||||
- $$CLUCENEDIR/search/FieldDocSortedHitQueue.cpp \
|
||||
- $$CLUCENEDIR/search/FieldSortedHitQueue.cpp \
|
||||
- $$CLUCENEDIR/search/FilteredTermEnum.cpp \
|
||||
- $$CLUCENEDIR/search/FuzzyQuery.cpp \
|
||||
- $$CLUCENEDIR/search/HitQueue.cpp \
|
||||
- $$CLUCENEDIR/search/Hits.cpp \
|
||||
- $$CLUCENEDIR/search/IndexSearcher.cpp \
|
||||
- $$CLUCENEDIR/search/MultiSearcher.cpp \
|
||||
- $$CLUCENEDIR/search/MultiTermQuery.cpp \
|
||||
- $$CLUCENEDIR/search/PhrasePositions.cpp \
|
||||
- $$CLUCENEDIR/search/PhraseQuery.cpp \
|
||||
- $$CLUCENEDIR/search/PhraseScorer.cpp \
|
||||
- $$CLUCENEDIR/search/PrefixQuery.cpp \
|
||||
- $$CLUCENEDIR/search/QueryFilter.cpp \
|
||||
- $$CLUCENEDIR/search/RangeFilter.cpp \
|
||||
- $$CLUCENEDIR/search/RangeQuery.cpp \
|
||||
- $$CLUCENEDIR/search/SearchHeader.cpp \
|
||||
- $$CLUCENEDIR/search/Similarity.cpp \
|
||||
- $$CLUCENEDIR/search/SloppyPhraseScorer.cpp \
|
||||
- $$CLUCENEDIR/search/Sort.cpp \
|
||||
- $$CLUCENEDIR/search/TermQuery.cpp \
|
||||
- $$CLUCENEDIR/search/TermScorer.cpp \
|
||||
- $$CLUCENEDIR/search/WildcardQuery.cpp \
|
||||
- $$CLUCENEDIR/search/WildcardTermEnum.cpp \
|
||||
- $$CLUCENEDIR/store/FSDirectory.cpp \
|
||||
- $$CLUCENEDIR/store/IndexInput.cpp \
|
||||
- $$CLUCENEDIR/store/IndexOutput.cpp \
|
||||
- $$CLUCENEDIR/store/Lock.cpp \
|
||||
- $$CLUCENEDIR/store/MMapInput.cpp \
|
||||
- $$CLUCENEDIR/store/RAMDirectory.cpp \
|
||||
- $$CLUCENEDIR/store/TransactionalRAMDirectory.cpp \
|
||||
- $$CLUCENEDIR/util/BitSet.cpp \
|
||||
- $$CLUCENEDIR/util/Equators.cpp \
|
||||
- $$CLUCENEDIR/util/FastCharStream.cpp \
|
||||
- $$CLUCENEDIR/util/fileinputstream.cpp \
|
||||
- $$CLUCENEDIR/util/Misc.cpp \
|
||||
- $$CLUCENEDIR/util/Reader.cpp \
|
||||
- $$CLUCENEDIR/util/StringBuffer.cpp \
|
||||
- $$CLUCENEDIR/util/StringIntern.cpp \
|
||||
- $$CLUCENEDIR/util/ThreadLocal.cpp \
|
||||
- $$CLUCENEDIR/analysis/standard/StandardAnalyzer.cpp \
|
||||
- $$CLUCENEDIR/analysis/standard/StandardFilter.cpp \
|
||||
- $$CLUCENEDIR/analysis/standard/StandardTokenizer.cpp
|
||||
|
||||
+INCLUDEPATH += /usr/include/clucene09 $$[QT_INSTALL_LIBS]/clucene09 $$[QT_INSTALL_LIBS]
|
||||
+LIBS += -L$$[QT_INSTALL_LIBS]/clucene09 -lclucene
|
||||
+#DEFINES += LUCENE_ENABLE_REFCOUNT (must be set at CLucene build time!)
|
||||
|
||||
#Header files
|
||||
HEADERS += qclucene_global_p.h \
|
||||
diff -ur qt-everywhere-opensource-src-4.8.6/tools/assistant/lib/fulltextsearch/qclucene-config_p.h qt-everywhere-opensource-src-4.8.6-system-clucene/tools/assistant/lib/fulltextsearch/qclucene-config_p.h
|
||||
--- qt-everywhere-opensource-src-4.8.6/tools/assistant/lib/fulltextsearch/qclucene-config_p.h 2014-04-10 20:37:12.000000000 +0200
|
||||
+++ qt-everywhere-opensource-src-4.8.6-system-clucene/tools/assistant/lib/fulltextsearch/qclucene-config_p.h 2014-10-26 02:28:54.000000000 +0100
|
||||
@@ -15,6 +15,8 @@
|
||||
**
|
||||
****************************************************************************/
|
||||
|
||||
+#error This header must not be included when building against system CLucene.
|
||||
+
|
||||
#ifndef QCLUCENE_CONFIG_P_H
|
||||
#define QCLUCENE_CONFIG_P_H
|
||||
|
||||
diff -ur qt-everywhere-opensource-src-4.8.6/tools/assistant/lib/fulltextsearch/qclucene_global_p.h qt-everywhere-opensource-src-4.8.6-system-clucene/tools/assistant/lib/fulltextsearch/qclucene_global_p.h
|
||||
--- qt-everywhere-opensource-src-4.8.6/tools/assistant/lib/fulltextsearch/qclucene_global_p.h 2014-04-10 20:37:12.000000000 +0200
|
||||
+++ qt-everywhere-opensource-src-4.8.6-system-clucene/tools/assistant/lib/fulltextsearch/qclucene_global_p.h 2014-10-26 02:31:54.000000000 +0100
|
||||
@@ -29,20 +29,10 @@
|
||||
// We mean it.
|
||||
//
|
||||
|
||||
-#if !defined(_MSC_VER)
|
||||
-# include "qclucene-config_p.h"
|
||||
-#endif
|
||||
-
|
||||
#include <QtCore/QChar>
|
||||
#include <QtCore/QString>
|
||||
|
||||
-#if !defined(_MSC_VER) && !defined(__MINGW32__) && defined(_CL_HAVE_WCHAR_H) && defined(_CL_HAVE_WCHAR_T)
|
||||
-# if !defined(TCHAR)
|
||||
-# define TCHAR wchar_t
|
||||
-# endif
|
||||
-#else
|
||||
-# include <windows.h>
|
||||
-#endif
|
||||
+#include <CLucene/StdHeader.h>
|
||||
|
||||
QT_BEGIN_HEADER
|
||||
|
||||
@@ -56,52 +46,6 @@
|
||||
# define QHELP_EXPORT Q_DECL_IMPORT
|
||||
#endif
|
||||
|
||||
-//
|
||||
-// W A R N I N G
|
||||
-// -------------
|
||||
-//
|
||||
-// adjustments here, need to be done in
|
||||
-// QTDIR/src/3rdparty/clucene/src/CLucene/StdHeader.h as well
|
||||
-//
|
||||
-#if defined(_LUCENE_DONTIMPLEMENT_NS_MACROS)
|
||||
-
|
||||
-#elif !defined(DISABLE_NAMESPACE)
|
||||
-# ifdef QT_NAMESPACE
|
||||
-# define CL_NS_DEF(sub) namespace QT_NAMESPACE { namespace lucene{ namespace sub{
|
||||
-# define CL_NS_DEF2(sub,sub2) namespace QT_NAMESPACE { namespace lucene{ namespace sub{ namespace sub2 {
|
||||
-
|
||||
-# define CL_NS_END }}}
|
||||
-# define CL_NS_END2 }}}}
|
||||
-
|
||||
-# define CL_NS_USE(sub) using namespace QT_NAMESPACE::lucene::sub;
|
||||
-# define CL_NS_USE2(sub,sub2) using namespace QT_NAMESPACE::lucene::sub::sub2;
|
||||
-
|
||||
-# define CL_NS(sub) QT_NAMESPACE::lucene::sub
|
||||
-# define CL_NS2(sub,sub2) QT_NAMESPACE::lucene::sub::sub2
|
||||
-# else
|
||||
-# define CL_NS_DEF(sub) namespace lucene{ namespace sub{
|
||||
-# define CL_NS_DEF2(sub,sub2) namespace lucene{ namespace sub{ namespace sub2 {
|
||||
-
|
||||
-# define CL_NS_END }}
|
||||
-# define CL_NS_END2 }}}
|
||||
-
|
||||
-# define CL_NS_USE(sub) using namespace lucene::sub;
|
||||
-# define CL_NS_USE2(sub,sub2) using namespace lucene::sub::sub2;
|
||||
-
|
||||
-# define CL_NS(sub) lucene::sub
|
||||
-# define CL_NS2(sub,sub2) lucene::sub::sub2
|
||||
-# endif
|
||||
-#else
|
||||
-# define CL_NS_DEF(sub)
|
||||
-# define CL_NS_DEF2(sub, sub2)
|
||||
-# define CL_NS_END
|
||||
-# define CL_NS_END2
|
||||
-# define CL_NS_USE(sub)
|
||||
-# define CL_NS_USE2(sub,sub2)
|
||||
-# define CL_NS(sub)
|
||||
-# define CL_NS2(sub,sub2)
|
||||
-#endif
|
||||
-
|
||||
namespace {
|
||||
TCHAR* QStringToTChar(const QString &str)
|
||||
{
|
||||
diff -ur qt-everywhere-opensource-src-4.8.6/tools/assistant/lib/fulltextsearch/qindexreader.cpp qt-everywhere-opensource-src-4.8.6-system-clucene/tools/assistant/lib/fulltextsearch/qindexreader.cpp
|
||||
--- qt-everywhere-opensource-src-4.8.6/tools/assistant/lib/fulltextsearch/qindexreader.cpp 2014-04-10 20:37:12.000000000 +0200
|
||||
+++ qt-everywhere-opensource-src-4.8.6-system-clucene/tools/assistant/lib/fulltextsearch/qindexreader.cpp 2014-10-26 02:48:02.000000000 +0100
|
||||
@@ -18,6 +18,8 @@
|
||||
#include "qindexreader_p.h"
|
||||
#include "qclucene_global_p.h"
|
||||
|
||||
+#include <QtCore/QDir>
|
||||
+
|
||||
#include <CLucene.h>
|
||||
#include <CLucene/index/IndexReader.h>
|
||||
|
||||
@@ -59,13 +61,13 @@
|
||||
{
|
||||
using namespace lucene::index;
|
||||
|
||||
- return IndexReader::isLuceneFile(filename);
|
||||
+ return IndexReader::isLuceneFile(filename.toLocal8Bit().constData());
|
||||
}
|
||||
|
||||
bool QCLuceneIndexReader::indexExists(const QString &directory)
|
||||
{
|
||||
using namespace lucene::index;
|
||||
- return IndexReader::indexExists(directory);
|
||||
+ return IndexReader::indexExists(directory.toLocal8Bit().constData());
|
||||
}
|
||||
|
||||
QCLuceneIndexReader QCLuceneIndexReader::open(const QString &path)
|
||||
@@ -73,7 +75,7 @@
|
||||
using namespace lucene::index;
|
||||
|
||||
QCLuceneIndexReader indexReader;
|
||||
- indexReader.d->reader = IndexReader::open(path);
|
||||
+ indexReader.d->reader = IndexReader::open(path.toLocal8Bit().constData());
|
||||
|
||||
return indexReader;
|
||||
}
|
||||
@@ -81,25 +83,29 @@
|
||||
void QCLuceneIndexReader::unlock(const QString &path)
|
||||
{
|
||||
using namespace lucene::index;
|
||||
- IndexReader::unlock(path);
|
||||
+ IndexReader::unlock(path.toLocal8Bit().constData());
|
||||
}
|
||||
|
||||
bool QCLuceneIndexReader::isLocked(const QString &directory)
|
||||
{
|
||||
+ // The system CLucene fails here if the directory does not exist yet, unlike
|
||||
+ // the bundled one. Work around that.
|
||||
+ QDir::current().mkpath(directory);
|
||||
+
|
||||
using namespace lucene::index;
|
||||
- return IndexReader::isLocked(directory);
|
||||
+ return IndexReader::isLocked(directory.toLocal8Bit().constData());
|
||||
}
|
||||
|
||||
quint64 QCLuceneIndexReader::lastModified(const QString &directory)
|
||||
{
|
||||
using namespace lucene::index;
|
||||
- return quint64(IndexReader::lastModified(directory));
|
||||
+ return quint64(IndexReader::lastModified(directory.toLocal8Bit().constData()));
|
||||
}
|
||||
|
||||
qint64 QCLuceneIndexReader::getCurrentVersion(const QString &directory)
|
||||
{
|
||||
using namespace lucene::index;
|
||||
- return qint64(IndexReader::getCurrentVersion(directory));
|
||||
+ return qint64(IndexReader::getCurrentVersion(directory.toLocal8Bit().constData()));
|
||||
}
|
||||
|
||||
void QCLuceneIndexReader::close()
|
||||
@@ -155,7 +161,7 @@
|
||||
void QCLuceneIndexReader::setNorm(qint32 doc, const QString &field, qreal value)
|
||||
{
|
||||
TCHAR *fieldName = QStringToTChar(field);
|
||||
- d->reader->setNorm(int32_t(doc), fieldName, qreal(value));
|
||||
+ d->reader->setNorm(int32_t(doc), fieldName, (float_t)value);
|
||||
delete [] fieldName;
|
||||
}
|
||||
|
||||
diff -ur qt-everywhere-opensource-src-4.8.6/tools/assistant/lib/fulltextsearch/qindexwriter.cpp qt-everywhere-opensource-src-4.8.6-system-clucene/tools/assistant/lib/fulltextsearch/qindexwriter.cpp
|
||||
--- qt-everywhere-opensource-src-4.8.6/tools/assistant/lib/fulltextsearch/qindexwriter.cpp 2014-04-10 20:37:12.000000000 +0200
|
||||
+++ qt-everywhere-opensource-src-4.8.6-system-clucene/tools/assistant/lib/fulltextsearch/qindexwriter.cpp 2014-10-26 02:48:27.000000000 +0100
|
||||
@@ -18,6 +18,8 @@
|
||||
#include "qindexwriter_p.h"
|
||||
#include "qindexreader_p.h"
|
||||
|
||||
+#include <QtCore/QDir>
|
||||
+
|
||||
#include <CLucene.h>
|
||||
#include <CLucene/index/IndexWriter.h>
|
||||
|
||||
@@ -50,7 +52,12 @@
|
||||
: d(new QCLuceneIndexWriterPrivate())
|
||||
, analyzer(analyzer)
|
||||
{
|
||||
- d->writer = new lucene::index::IndexWriter(path,
|
||||
+ // The system CLucene cannot create directories recursively, so do it here.
|
||||
+ // Ignore failure: If it failed, we will get an error from CLucene anyway.
|
||||
+ if (create)
|
||||
+ QDir::current().mkpath(path);
|
||||
+
|
||||
+ d->writer = new lucene::index::IndexWriter(path.toLocal8Bit().constData(),
|
||||
analyzer.d->analyzer, create, closeDir);
|
||||
}
|
||||
|
||||
diff -ur qt-everywhere-opensource-src-4.8.6/tools/assistant/lib/fulltextsearch/qsearchable.cpp qt-everywhere-opensource-src-4.8.6-system-clucene/tools/assistant/lib/fulltextsearch/qsearchable.cpp
|
||||
--- qt-everywhere-opensource-src-4.8.6/tools/assistant/lib/fulltextsearch/qsearchable.cpp 2014-04-10 20:37:12.000000000 +0200
|
||||
+++ qt-everywhere-opensource-src-4.8.6-system-clucene/tools/assistant/lib/fulltextsearch/qsearchable.cpp 2014-10-26 02:48:44.000000000 +0100
|
||||
@@ -95,7 +95,7 @@
|
||||
: QCLuceneSearcher()
|
||||
{
|
||||
lucene::search::IndexSearcher *searcher =
|
||||
- new lucene::search::IndexSearcher(path);
|
||||
+ new lucene::search::IndexSearcher(path.toLocal8Bit().constData());
|
||||
|
||||
reader.d->reader = searcher->getReader();
|
||||
reader.d->deleteCLuceneIndexReader = false;
|
||||
diff -ur qt-everywhere-opensource-src-4.8.6/tools/assistant/lib/lib.pro qt-everywhere-opensource-src-4.8.6-system-clucene/tools/assistant/lib/lib.pro
|
||||
--- qt-everywhere-opensource-src-4.8.6/tools/assistant/lib/lib.pro 2014-04-10 20:37:12.000000000 +0200
|
||||
+++ qt-everywhere-opensource-src-4.8.6-system-clucene/tools/assistant/lib/lib.pro 2014-10-26 02:27:55.000000000 +0100
|
||||
@@ -43,6 +43,7 @@
|
||||
qhelp_global.cpp
|
||||
|
||||
# access to clucene
|
||||
+INCLUDEPATH += /usr/include/clucene09 $$[QT_INSTALL_LIBS]/clucene09 $$[QT_INSTALL_LIBS]
|
||||
SOURCES += qhelpsearchindexwriter_clucene.cpp \
|
||||
qhelpsearchindexreader_clucene.cpp
|
||||
HEADERS += qhelpenginecore.h \
|
File diff suppressed because it is too large
Load Diff
@ -1,12 +0,0 @@
|
||||
diff -up qt-everywhere-opensource-src-4.8.7/src/corelib/global/qglobal.h.majmin qt-everywhere-opensource-src-4.8.7/src/corelib/global/qglobal.h
|
||||
--- qt-everywhere-opensource-src-4.8.7/src/corelib/global/qglobal.h.majmin 2015-05-07 09:14:48.000000000 -0500
|
||||
+++ qt-everywhere-opensource-src-4.8.7/src/corelib/global/qglobal.h 2016-12-08 12:10:29.677359701 -0600
|
||||
@@ -52,7 +52,7 @@
|
||||
/*
|
||||
can be used like #if (QT_VERSION >= QT_VERSION_CHECK(4, 4, 0))
|
||||
*/
|
||||
-#define QT_VERSION_CHECK(major, minor, patch) ((major<<16)|(minor<<8)|(patch))
|
||||
+#define QT_VERSION_CHECK(qt_version_check_major, qt_version_check_minor, qt_version_check_patch) ((qt_version_check_major<<16)|(qt_version_check_minor<<8)|(qt_version_check_patch))
|
||||
|
||||
#define QT_PACKAGEDATE_STR "2015-05-07"
|
||||
|
@ -1,12 +0,0 @@
|
||||
diff -up qt-everywhere-opensource-src-4.8.7/config.tests/unix/alsa/alsatest.cpp.than qt-everywhere-opensource-src-4.8.7/config.tests/unix/alsa/alsatest.cpp
|
||||
--- qt-everywhere-opensource-src-4.8.7/config.tests/unix/alsa/alsatest.cpp.than 2016-02-10 16:31:02.450152334 +0100
|
||||
+++ qt-everywhere-opensource-src-4.8.7/config.tests/unix/alsa/alsatest.cpp 2016-02-10 16:31:51.495307579 +0100
|
||||
@@ -40,7 +40,7 @@
|
||||
****************************************************************************/
|
||||
|
||||
#include <alsa/asoundlib.h>
|
||||
-#if(!(SND_LIB_MAJOR == 1 && SND_LIB_MINOR == 0 && SND_LIB_SUBMINOR >= 10))
|
||||
+#if(!(SND_LIB_MAJOR == 1 && (SND_LIB_MINOR > 0 || SND_LIB_SUBMINOR >= 10)))
|
||||
#error "Alsa version found too old, require >= 1.0.10"
|
||||
#endif
|
||||
|
@ -1,45 +0,0 @@
|
||||
diff -up qt-everywhere-opensource-src-4.8.7/config.tests/unix/ibase/ibase.cpp.ibase qt-everywhere-opensource-src-4.8.7/config.tests/unix/ibase/ibase.cpp
|
||||
--- qt-everywhere-opensource-src-4.8.7/config.tests/unix/ibase/ibase.cpp.ibase 2015-05-07 09:14:42.000000000 -0500
|
||||
+++ qt-everywhere-opensource-src-4.8.7/config.tests/unix/ibase/ibase.cpp 2016-11-30 10:55:05.825339674 -0600
|
||||
@@ -39,7 +39,7 @@
|
||||
**
|
||||
****************************************************************************/
|
||||
|
||||
-#include <ibase.h>
|
||||
+#include <firebird/ibase.h>
|
||||
|
||||
int main(int, char **)
|
||||
{
|
||||
diff -up qt-everywhere-opensource-src-4.8.7/config.tests/unix/ibase/ibase.pro.ibase qt-everywhere-opensource-src-4.8.7/config.tests/unix/ibase/ibase.pro
|
||||
--- qt-everywhere-opensource-src-4.8.7/config.tests/unix/ibase/ibase.pro.ibase 2015-05-07 09:14:42.000000000 -0500
|
||||
+++ qt-everywhere-opensource-src-4.8.7/config.tests/unix/ibase/ibase.pro 2016-11-30 10:56:11.017740104 -0600
|
||||
@@ -1,4 +1,4 @@
|
||||
SOURCES = ibase.cpp
|
||||
CONFIG -= qt dylib
|
||||
mac:CONFIG -= app_bundle
|
||||
-LIBS += -lgds
|
||||
+LIBS += -lfbclient
|
||||
diff -up qt-everywhere-opensource-src-4.8.7/src/sql/drivers/ibase/qsql_ibase.h.ibase qt-everywhere-opensource-src-4.8.7/src/sql/drivers/ibase/qsql_ibase.h
|
||||
--- qt-everywhere-opensource-src-4.8.7/src/sql/drivers/ibase/qsql_ibase.h.ibase 2015-05-07 09:14:48.000000000 -0500
|
||||
+++ qt-everywhere-opensource-src-4.8.7/src/sql/drivers/ibase/qsql_ibase.h 2016-11-30 10:57:34.516252974 -0600
|
||||
@@ -45,7 +45,7 @@
|
||||
#include <QtSql/qsqlresult.h>
|
||||
#include <QtSql/qsqldriver.h>
|
||||
#include <QtSql/private/qsqlcachedresult_p.h>
|
||||
-#include <ibase.h>
|
||||
+#include <firebird/ibase.h>
|
||||
|
||||
QT_BEGIN_HEADER
|
||||
|
||||
diff -up qt-everywhere-opensource-src-4.8.7/src/sql/drivers/ibase/qsql_ibase.pri.ibase qt-everywhere-opensource-src-4.8.7/src/sql/drivers/ibase/qsql_ibase.pri
|
||||
--- qt-everywhere-opensource-src-4.8.7/src/sql/drivers/ibase/qsql_ibase.pri.ibase 2015-05-07 09:14:48.000000000 -0500
|
||||
+++ qt-everywhere-opensource-src-4.8.7/src/sql/drivers/ibase/qsql_ibase.pri 2016-11-30 10:57:11.783113341 -0600
|
||||
@@ -2,7 +2,7 @@ HEADERS += $$PWD/qsql_ibase.h
|
||||
SOURCES += $$PWD/qsql_ibase.cpp
|
||||
|
||||
unix {
|
||||
- !contains(LIBS, .*gds.*):!contains(LIBS, .*libfb.*):LIBS += -lgds
|
||||
+ !contains(LIBS, .*gds.*):!contains(LIBS, .*libfb.*):LIBS += -lfbclient
|
||||
} else {
|
||||
!contains(LIBS, .*gds.*):!contains(LIBS, .*fbclient.*) {
|
||||
win32-borland:LIBS += gds32.lib
|
@ -1,35 +0,0 @@
|
||||
diff -up qt-everywhere-opensource-src-4.8.7/configure.gcc6 qt-everywhere-opensource-src-4.8.7/configure
|
||||
--- qt-everywhere-opensource-src-4.8.7/configure.gcc6 2016-04-15 07:04:19.430268222 -0500
|
||||
+++ qt-everywhere-opensource-src-4.8.7/configure 2016-04-15 07:05:22.157568689 -0500
|
||||
@@ -7744,7 +7744,7 @@ case "$XPLATFORM" in
|
||||
*-g++*)
|
||||
# Check gcc's version
|
||||
case "$(${QMAKE_CONF_COMPILER} -dumpversion)" in
|
||||
- 5*|4*|3.4*)
|
||||
+ 8*|7*|6*|5*|4*|3.4*)
|
||||
;;
|
||||
3.3*)
|
||||
canBuildWebKit="no"
|
||||
@@ -8060,7 +8060,7 @@ g++*)
|
||||
3.*)
|
||||
COMPILER_VERSION="3.*"
|
||||
;;
|
||||
- 5*|4.*)
|
||||
+ 8*|7*|6*|5*|4.*)
|
||||
COMPILER_VERSION="4"
|
||||
;;
|
||||
*)
|
||||
diff -up qt-everywhere-opensource-src-4.8.7/src/xmlpatterns/api/qcoloroutput_p.h.gcc6 qt-everywhere-opensource-src-4.8.7/src/xmlpatterns/api/qcoloroutput_p.h
|
||||
--- qt-everywhere-opensource-src-4.8.7/src/xmlpatterns/api/qcoloroutput_p.h.gcc6 2015-05-07 09:14:48.000000000 -0500
|
||||
+++ qt-everywhere-opensource-src-4.8.7/src/xmlpatterns/api/qcoloroutput_p.h 2016-04-15 07:04:19.431268227 -0500
|
||||
@@ -70,8 +70,8 @@ namespace QPatternist
|
||||
ForegroundShift = 10,
|
||||
BackgroundShift = 20,
|
||||
SpecialShift = 20,
|
||||
- ForegroundMask = ((1 << ForegroundShift) - 1) << ForegroundShift,
|
||||
- BackgroundMask = ((1 << BackgroundShift) - 1) << BackgroundShift
|
||||
+ ForegroundMask = 0x1f << ForegroundShift,
|
||||
+ BackgroundMask = 0x7 << BackgroundShift
|
||||
};
|
||||
|
||||
public:
|
@ -1,13 +0,0 @@
|
||||
diff -up qt-everywhere-opensource-src-4.8.7/src/script/script.pro.gcc8 qt-everywhere-opensource-src-4.8.7/src/script/script.pro
|
||||
--- qt-everywhere-opensource-src-4.8.7/src/script/script.pro.gcc8 2015-05-07 09:14:43.000000000 -0500
|
||||
+++ qt-everywhere-opensource-src-4.8.7/src/script/script.pro 2018-05-19 16:01:24.699926959 -0500
|
||||
@@ -91,6 +91,9 @@ symbian {
|
||||
TARGET.UID3=0x2001B2E1
|
||||
}
|
||||
|
||||
+# hack around gcc8 optimization bug with -O2
|
||||
+QMAKE_CXXFLAGS_RELEASE += -O1
|
||||
+
|
||||
symbian {
|
||||
symbian-abld|symbian-sbsv2 {
|
||||
MMP_RULES += ALWAYS_BUILD_AS_ARM
|
@ -1,28 +0,0 @@
|
||||
From: Fabian Vogt <fabian@ritter-vogt.de>
|
||||
Subject: Fix build with ICU >= 59
|
||||
|
||||
ICU >= 59 requires C++11 for its header files.
|
||||
Qt can't be compiled with -std=c++11 as a whole, so only enable
|
||||
it for qlocale_icu.cpp.
|
||||
|
||||
Index: qt-everywhere-opensource-src-4.8.7/src/corelib/tools/tools.pri
|
||||
===================================================================
|
||||
--- qt-everywhere-opensource-src-4.8.7.orig/src/corelib/tools/tools.pri
|
||||
+++ qt-everywhere-opensource-src-4.8.7/src/corelib/tools/tools.pri
|
||||
@@ -102,7 +102,15 @@ contains(QT_CONFIG, zlib):include($$PWD/
|
||||
else:include($$PWD/../../3rdparty/zlib_dependency.pri)
|
||||
|
||||
contains(QT_CONFIG,icu) {
|
||||
- SOURCES += tools/qlocale_icu.cpp
|
||||
+ cpp11.name = cpp11
|
||||
+ cpp11.input = SOURCES_CPP11
|
||||
+ cpp11.dependency_type = TYPE_C
|
||||
+ cpp11.variable_out = OBJECTS
|
||||
+ cpp11.output = ${QMAKE_VAR_OBJECTS_DIR}${QMAKE_FILE_IN_BASE}$${first(QMAKE_EXT_OBJ)}
|
||||
+ cpp11.commands = $${QMAKE_CXX} $(CXXFLAGS) -std=c++11 $(INCPATH) -c ${QMAKE_FILE_IN} -o ${QMAKE_FILE_OUT}
|
||||
+ QMAKE_EXTRA_COMPILERS += cpp11
|
||||
+
|
||||
+ SOURCES_CPP11 += tools/qlocale_icu.cpp
|
||||
DEFINES += QT_USE_ICU
|
||||
}
|
||||
|
@ -1,28 +0,0 @@
|
||||
diff -up qt-everywhere-opensource-src-4.8.7/src/sql/drivers/mysql/qsql_mysql.cpp.mariadb qt-everywhere-opensource-src-4.8.7/src/sql/drivers/mysql/qsql_mysql.cpp
|
||||
--- qt-everywhere-opensource-src-4.8.7/src/sql/drivers/mysql/qsql_mysql.cpp.mariadb 2015-05-07 09:14:48.000000000 -0500
|
||||
+++ qt-everywhere-opensource-src-4.8.7/src/sql/drivers/mysql/qsql_mysql.cpp 2017-10-23 14:13:15.871808984 -0500
|
||||
@@ -1105,11 +1105,16 @@ static void qLibraryInit()
|
||||
}
|
||||
# endif // MYSQL_VERSION_ID
|
||||
#endif // Q_NO_MYSQL_EMBEDDED
|
||||
+
|
||||
+#if defined(MARIADB_BASE_VERSION) || defined(MARIADB_VERSION_ID)
|
||||
+ qAddPostRoutine(mysql_server_end);
|
||||
+#endif
|
||||
}
|
||||
|
||||
static void qLibraryEnd()
|
||||
{
|
||||
#ifndef Q_NO_MYSQL_EMBEDDED
|
||||
+#if !defined(MARIADB_BASE_VERSION) && !defined(MARIADB_VERSION_ID)
|
||||
# if MYSQL_VERSION_ID > 40000
|
||||
# if (MYSQL_VERSION_ID >= 40110 && MYSQL_VERSION_ID < 50000) || MYSQL_VERSION_ID >= 50003
|
||||
mysql_library_end();
|
||||
@@ -1118,6 +1123,7 @@ static void qLibraryEnd()
|
||||
# endif
|
||||
# endif
|
||||
#endif
|
||||
+#endif
|
||||
}
|
||||
|
||||
QMYSQLDriver::QMYSQLDriver(QObject * parent)
|
@ -1,13 +0,0 @@
|
||||
diff -urp qt-everywhere-opensource-src-4.8.7/configure q/configure
|
||||
--- qt-everywhere-opensource-src-4.8.7/configure 2016-04-03 16:49:50.218644449 +0200
|
||||
+++ q/configure 2016-04-03 17:22:35.376405024 +0200
|
||||
@@ -3331,6 +3331,9 @@ arm*)
|
||||
CFG_ARCH=arm
|
||||
COMPAT_ARCH=armv6
|
||||
;;
|
||||
+mips*)
|
||||
+ CFG_ARCH=mips
|
||||
+ ;;
|
||||
esac
|
||||
|
||||
if [ -d "$relpath/src/corelib/arch/$CFG_ARCH" ]; then
|
@ -1,694 +0,0 @@
|
||||
diff -ur qt-everywhere-opensource-src-4.8.7/src/network/ssl/qsslcertificate.cpp qt-everywhere-opensource-src-4.8.7-openssl-1.1/src/network/ssl/qsslcertificate.cpp
|
||||
--- qt-everywhere-opensource-src-4.8.7/src/network/ssl/qsslcertificate.cpp 2015-05-07 16:14:44.000000000 +0200
|
||||
+++ qt-everywhere-opensource-src-4.8.7-openssl-1.1/src/network/ssl/qsslcertificate.cpp 2018-01-05 17:44:16.997588265 +0100
|
||||
@@ -259,10 +259,10 @@
|
||||
QByteArray QSslCertificate::version() const
|
||||
{
|
||||
QMutexLocker lock(QMutexPool::globalInstanceGet(d.data()));
|
||||
- if (d->versionString.isEmpty() && d->x509)
|
||||
+ if (d->versionString.isEmpty() && d->x509) {
|
||||
d->versionString =
|
||||
- QByteArray::number(qlonglong(q_ASN1_INTEGER_get(d->x509->cert_info->version)) + 1);
|
||||
-
|
||||
+ QByteArray::number(qlonglong(q_X509_get_version(d->x509)) + 1);
|
||||
+ }
|
||||
return d->versionString;
|
||||
}
|
||||
|
||||
@@ -276,7 +276,7 @@
|
||||
{
|
||||
QMutexLocker lock(QMutexPool::globalInstanceGet(d.data()));
|
||||
if (d->serialNumberString.isEmpty() && d->x509) {
|
||||
- ASN1_INTEGER *serialNumber = d->x509->cert_info->serialNumber;
|
||||
+ ASN1_INTEGER *serialNumber = q_X509_get_serialNumber(d->x509);
|
||||
// if we cannot convert to a long, just output the hexadecimal number
|
||||
if (serialNumber->length > 4) {
|
||||
QByteArray hexString;
|
||||
@@ -489,24 +489,33 @@
|
||||
QSslKey key;
|
||||
|
||||
key.d->type = QSsl::PublicKey;
|
||||
+#if OPENSSL_VERSION_NUMBER < 0x10100000L
|
||||
X509_PUBKEY *xkey = d->x509->cert_info->key;
|
||||
+#else
|
||||
+ X509_PUBKEY *xkey = q_X509_get_X509_PUBKEY(d->x509);
|
||||
+#endif
|
||||
EVP_PKEY *pkey = q_X509_PUBKEY_get(xkey);
|
||||
Q_ASSERT(pkey);
|
||||
|
||||
- if (q_EVP_PKEY_type(pkey->type) == EVP_PKEY_RSA) {
|
||||
+ int key_id;
|
||||
+#if OPENSSL_VERSION_NUMBER < 0x10100000L
|
||||
+ key_id = q_EVP_PKEY_type(pkey->type);
|
||||
+#else
|
||||
+ key_id = q_EVP_PKEY_base_id(pkey);
|
||||
+#endif
|
||||
+ if (key_id == 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 (key_id == 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 (key_id == EVP_PKEY_DH) {
|
||||
// DH unsupported
|
||||
} else {
|
||||
// error?
|
||||
}
|
||||
-
|
||||
q_EVP_PKEY_free(pkey);
|
||||
return key;
|
||||
}
|
||||
@@ -687,7 +696,11 @@
|
||||
unsigned char *data = 0;
|
||||
int size = q_ASN1_STRING_to_UTF8(&data, q_X509_NAME_ENTRY_get_data(e));
|
||||
info[QString::fromUtf8(obj)] = QString::fromUtf8((char*)data, size);
|
||||
+#if OPENSSL_VERSION_NUMBER < 0x10100000L
|
||||
q_CRYPTO_free(data);
|
||||
+#else
|
||||
+ q_CRYPTO_free(data, __FILE__, __LINE__);
|
||||
+#endif
|
||||
}
|
||||
return info;
|
||||
}
|
||||
diff -ur qt-everywhere-opensource-src-4.8.7/src/network/ssl/qsslkey.cpp qt-everywhere-opensource-src-4.8.7-openssl-1.1/src/network/ssl/qsslkey.cpp
|
||||
--- qt-everywhere-opensource-src-4.8.7/src/network/ssl/qsslkey.cpp 2015-05-07 16:14:44.000000000 +0200
|
||||
+++ qt-everywhere-opensource-src-4.8.7-openssl-1.1/src/network/ssl/qsslkey.cpp 2018-01-05 18:00:27.453937599 +0100
|
||||
@@ -321,8 +321,19 @@
|
||||
{
|
||||
if (d->isNull)
|
||||
return -1;
|
||||
+#if OPENSSL_VERSION_NUMBER < 0x10100000L
|
||||
return (d->algorithm == QSsl::Rsa)
|
||||
? q_BN_num_bits(d->rsa->n) : q_BN_num_bits(d->dsa->p);
|
||||
+#else
|
||||
+ if (d->algorithm == QSsl::Rsa) {
|
||||
+ return q_RSA_bits(d->rsa);
|
||||
+ } else {
|
||||
+ const BIGNUM *p = (const BIGNUM *) NULL;
|
||||
+ q_DSA_get0_pqg(d->dsa, &p, (const BIGNUM **) NULL, (const BIGNUM **) NULL);
|
||||
+ return q_BN_num_bits(p);
|
||||
+ }
|
||||
+#endif
|
||||
+
|
||||
}
|
||||
|
||||
/*!
|
||||
diff -ur qt-everywhere-opensource-src-4.8.7/src/network/ssl/qsslsocket_openssl.cpp qt-everywhere-opensource-src-4.8.7-openssl-1.1/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-openssl-1.1/src/network/ssl/qsslsocket_openssl.cpp 2018-01-05 12:06:06.336990956 +0100
|
||||
@@ -93,6 +93,7 @@
|
||||
bool QSslSocketPrivate::s_loadedCiphersAndCerts = false;
|
||||
bool QSslSocketPrivate::s_loadRootCertsOnDemand = false;
|
||||
|
||||
+#if OPENSSL_VERSION_NUMBER < 0x10100000L
|
||||
/* \internal
|
||||
|
||||
From OpenSSL's thread(3) manual page:
|
||||
@@ -174,6 +175,8 @@
|
||||
}
|
||||
} // extern "C"
|
||||
|
||||
+#endif //OPENSSL_VERSION_NUMBER >= 0x10100000L
|
||||
+
|
||||
QSslSocketBackendPrivate::QSslSocketBackendPrivate()
|
||||
: ssl(0),
|
||||
ctx(0),
|
||||
@@ -222,9 +225,12 @@
|
||||
ciph.d->encryptionMethod = descriptionList.at(4).mid(4);
|
||||
ciph.d->exportable = (descriptionList.size() > 6 && descriptionList.at(6) == QLatin1String("export"));
|
||||
|
||||
+#if OPENSSL_VERSION_NUMBER < 0x10100000L
|
||||
ciph.d->bits = cipher->strength_bits;
|
||||
ciph.d->supportedBits = cipher->alg_bits;
|
||||
-
|
||||
+#else
|
||||
+ ciph.d->bits = q_SSL_CIPHER_get_bits(cipher, &ciph.d->supportedBits);
|
||||
+#endif
|
||||
}
|
||||
return ciph;
|
||||
}
|
||||
@@ -363,7 +369,7 @@
|
||||
//
|
||||
// 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(q_SSL_CTX_get_cert_store(ctx), (X509 *)caCertificate.handle());
|
||||
}
|
||||
}
|
||||
|
||||
@@ -500,8 +506,10 @@
|
||||
*/
|
||||
void QSslSocketPrivate::deinitialize()
|
||||
{
|
||||
+#if OPENSSL_VERSION_NUMBER < 0x10100000L
|
||||
q_CRYPTO_set_id_callback(0);
|
||||
q_CRYPTO_set_locking_callback(0);
|
||||
+#endif
|
||||
}
|
||||
|
||||
/*!
|
||||
@@ -522,13 +530,17 @@
|
||||
return false;
|
||||
|
||||
// Check if the library itself needs to be initialized.
|
||||
+#if OPENSSL_VERSION_NUMBER < 0x10100000L
|
||||
QMutexLocker locker(openssl_locks()->initLock());
|
||||
+#endif
|
||||
if (!s_libraryLoaded) {
|
||||
s_libraryLoaded = true;
|
||||
|
||||
// Initialize OpenSSL.
|
||||
+#if OPENSSL_VERSION_NUMBER < 0x10100000L
|
||||
q_CRYPTO_set_id_callback(id_function);
|
||||
q_CRYPTO_set_locking_callback(locking_function);
|
||||
+#endif
|
||||
if (q_SSL_library_init() != 1)
|
||||
return false;
|
||||
q_SSL_load_error_strings();
|
||||
@@ -567,7 +579,9 @@
|
||||
|
||||
void QSslSocketPrivate::ensureCiphersAndCertsLoaded()
|
||||
{
|
||||
- QMutexLocker locker(openssl_locks()->initLock());
|
||||
+#if OPENSSL_VERSION_NUMBER < 0x10100000L
|
||||
+ QMutexLocker locker(openssl_locks()->initLock());
|
||||
+#endif
|
||||
if (s_loadedCiphersAndCerts)
|
||||
return;
|
||||
s_loadedCiphersAndCerts = true;
|
||||
@@ -659,13 +673,18 @@
|
||||
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 (cipher->valid) {
|
||||
+
|
||||
+#if OPENSSL_VERSION_NUMBER < 0x10100000L
|
||||
+ 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 < 0x10100000L
|
||||
}
|
||||
+#endif
|
||||
}
|
||||
}
|
||||
|
||||
diff -ur qt-everywhere-opensource-src-4.8.7/src/network/ssl/qsslsocket_openssl_p.h qt-everywhere-opensource-src-4.8.7-openssl-1.1/src/network/ssl/qsslsocket_openssl_p.h
|
||||
--- qt-everywhere-opensource-src-4.8.7/src/network/ssl/qsslsocket_openssl_p.h 2015-05-07 16:14:44.000000000 +0200
|
||||
+++ qt-everywhere-opensource-src-4.8.7-openssl-1.1/src/network/ssl/qsslsocket_openssl_p.h 2018-01-05 12:06:06.337990940 +0100
|
||||
@@ -84,6 +84,10 @@
|
||||
#include <openssl/tls1.h>
|
||||
#endif
|
||||
|
||||
+#if OPENSSL_VERSION_NUMBER >= 0x10100000L
|
||||
+#define OPENSSL_NO_SSL2
|
||||
+#endif
|
||||
+
|
||||
#if OPENSSL_VERSION_NUMBER >= 0x10000000L
|
||||
typedef _STACK STACK;
|
||||
#endif
|
||||
diff -ur qt-everywhere-opensource-src-4.8.7/src/network/ssl/qsslsocket_openssl_symbols.cpp qt-everywhere-opensource-src-4.8.7-openssl-1.1/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-openssl-1.1/src/network/ssl/qsslsocket_openssl_symbols.cpp 2018-01-05 17:59:10.636973932 +0100
|
||||
@@ -111,16 +111,30 @@
|
||||
DEFINEFUNC2(int, ASN1_STRING_to_UTF8, unsigned char **a, a, ASN1_STRING *b, b, return 0, return);
|
||||
DEFINEFUNC4(long, BIO_ctrl, BIO *a, a, int b, b, long c, c, void *d, d, return -1, return)
|
||||
DEFINEFUNC(int, BIO_free, BIO *a, a, return 0, return)
|
||||
+#if OPENSSL_VERSION_NUMBER < 0x10100000L
|
||||
DEFINEFUNC(BIO *, BIO_new, BIO_METHOD *a, a, return 0, return)
|
||||
+#else
|
||||
+DEFINEFUNC(BIO *, BIO_new, const BIO_METHOD *a, a, return 0, return)
|
||||
+#endif
|
||||
DEFINEFUNC2(BIO *, BIO_new_mem_buf, void *a, a, int b, b, return 0, return)
|
||||
DEFINEFUNC3(int, BIO_read, BIO *a, a, void *b, b, int c, c, return -1, return)
|
||||
+#if OPENSSL_VERSION_NUMBER < 0x10100000L
|
||||
DEFINEFUNC(BIO_METHOD *, BIO_s_mem, void, DUMMYARG, return 0, return)
|
||||
+#else
|
||||
+DEFINEFUNC(const BIO_METHOD *, BIO_s_mem, void, DUMMYARG, return 0, return)
|
||||
+#endif
|
||||
DEFINEFUNC3(int, BIO_write, BIO *a, a, const void *b, b, int c, c, return -1, return)
|
||||
DEFINEFUNC(int, BN_num_bits, const BIGNUM *a, a, return 0, return)
|
||||
+#if OPENSSL_VERSION_NUMBER < 0x10100000L
|
||||
DEFINEFUNC(int, CRYPTO_num_locks, DUMMYARG, DUMMYARG, return 0, return)
|
||||
DEFINEFUNC(void, CRYPTO_set_locking_callback, void (*a)(int, int, const char *, int), a, return, DUMMYARG)
|
||||
DEFINEFUNC(void, CRYPTO_set_id_callback, unsigned long (*a)(), a, return, DUMMYARG)
|
||||
+#endif
|
||||
+#if OPENSSL_VERSION_NUMBER < 0x10100000L
|
||||
DEFINEFUNC(void, CRYPTO_free, void *a, a, return, DUMMYARG)
|
||||
+#else
|
||||
+DEFINEFUNC3(void, CRYPTO_free, void *a, a, const char *b, b, int c, c, return, DUMMYARG)
|
||||
+#endif
|
||||
DEFINEFUNC(void, DSA_free, DSA *a, a, return, DUMMYARG)
|
||||
#if OPENSSL_VERSION_NUMBER < 0x00908000L
|
||||
DEFINEFUNC3(X509 *, d2i_X509, X509 **a, a, unsigned char **b, b, long c, c, return 0, return)
|
||||
@@ -157,6 +171,7 @@
|
||||
DEFINEFUNC2(void, RAND_seed, const void *a, a, int b, b, return, DUMMYARG)
|
||||
DEFINEFUNC(int, RAND_status, void, DUMMYARG, return -1, return)
|
||||
DEFINEFUNC(void, RSA_free, RSA *a, a, return, DUMMYARG)
|
||||
+#if OPENSSL_VERSION_NUMBER < 0x10100000L
|
||||
DEFINEFUNC(int, sk_num, STACK *a, a, return -1, return)
|
||||
DEFINEFUNC2(void, sk_pop_free, STACK *a, a, void (*b)(void*), b, return, DUMMYARG)
|
||||
#if OPENSSL_VERSION_NUMBER >= 0x10000000L
|
||||
@@ -166,6 +181,12 @@
|
||||
DEFINEFUNC(void, sk_free, STACK *a, a, return, DUMMYARG)
|
||||
DEFINEFUNC2(char *, sk_value, STACK *a, a, int b, b, return 0, return)
|
||||
#endif
|
||||
+#else
|
||||
+DEFINEFUNC(int, OPENSSL_sk_num, STACK *a, a, return -1, return)
|
||||
+DEFINEFUNC2(void, OPENSSL_sk_pop_free, STACK *a, a, void (*b)(void*), b, return, DUMMYARG)
|
||||
+DEFINEFUNC(void, OPENSSL_sk_free, _STACK *a, a, return, DUMMYARG)
|
||||
+DEFINEFUNC2(void *, OPENSSL_sk_value, STACK *a, a, int b, b, return 0, return)
|
||||
+#endif
|
||||
DEFINEFUNC(int, SSL_accept, SSL *a, a, return -1, return)
|
||||
DEFINEFUNC(int, SSL_clear, SSL *a, a, return -1, return)
|
||||
DEFINEFUNC3(char *, SSL_CIPHER_description, SSL_CIPHER *a, a, char *b, b, int c, c, return 0, return)
|
||||
@@ -213,8 +234,12 @@
|
||||
#else
|
||||
DEFINEFUNC(long, SSL_get_verify_result, SSL *a, a, return -1, return)
|
||||
#endif
|
||||
+#if OPENSSL_VERSION_NUMBER < 0x10100000L
|
||||
DEFINEFUNC(int, SSL_library_init, void, DUMMYARG, return -1, return)
|
||||
DEFINEFUNC(void, SSL_load_error_strings, void, DUMMYARG, return, DUMMYARG)
|
||||
+#else
|
||||
+DEFINEFUNC2(int, OPENSSL_init_ssl, uint64_t opts, opts, const OPENSSL_INIT_SETTINGS *settings, settings, return -1, return)
|
||||
+#endif
|
||||
DEFINEFUNC(SSL *, SSL_new, SSL_CTX *a, a, return 0, return)
|
||||
#if OPENSSL_VERSION_NUMBER >= 0x0090806fL && !defined(OPENSSL_NO_TLSEXT)
|
||||
DEFINEFUNC4(long, SSL_ctrl, SSL *a, a, int cmd, cmd, long larg, larg, void *parg, parg, return -1, return)
|
||||
@@ -229,13 +254,21 @@
|
||||
DEFINEFUNC(const SSL_METHOD *, SSLv2_client_method, DUMMYARG, DUMMYARG, return 0, return)
|
||||
#endif
|
||||
DEFINEFUNC(const SSL_METHOD *, SSLv3_client_method, DUMMYARG, DUMMYARG, return 0, return)
|
||||
+#if OPENSSL_VERSION_NUMBER < 0x10100000L
|
||||
DEFINEFUNC(const SSL_METHOD *, SSLv23_client_method, DUMMYARG, DUMMYARG, return 0, return)
|
||||
+#else
|
||||
+DEFINEFUNC(const SSL_METHOD *, TLS_client_method, DUMMYARG, DUMMYARG, return 0, return)
|
||||
+#endif
|
||||
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
|
||||
DEFINEFUNC(const SSL_METHOD *, SSLv3_server_method, DUMMYARG, DUMMYARG, return 0, return)
|
||||
+#if OPENSSL_VERSION_NUMBER < 0x10100000L
|
||||
DEFINEFUNC(const SSL_METHOD *, SSLv23_server_method, DUMMYARG, DUMMYARG, return 0, return)
|
||||
+#else
|
||||
+DEFINEFUNC(const SSL_METHOD *, TLS_server_method, DUMMYARG, DUMMYARG, return 0, return)
|
||||
+#endif
|
||||
DEFINEFUNC(const SSL_METHOD *, TLSv1_server_method, DUMMYARG, DUMMYARG, return 0, return)
|
||||
#else
|
||||
DEFINEFUNC(SSL_METHOD *, SSLv2_client_method, DUMMYARG, DUMMYARG, return 0, return)
|
||||
@@ -274,7 +307,11 @@
|
||||
DEFINEFUNC(int, X509_STORE_CTX_get_error, X509_STORE_CTX *a, a, return -1, return)
|
||||
DEFINEFUNC(int, X509_STORE_CTX_get_error_depth, X509_STORE_CTX *a, a, return -1, return)
|
||||
DEFINEFUNC(X509 *, X509_STORE_CTX_get_current_cert, X509_STORE_CTX *a, a, return 0, return)
|
||||
+#if OPENSSL_VERSION_NUMBER < 0x10100000L
|
||||
DEFINEFUNC(STACK_OF(X509) *, X509_STORE_CTX_get_chain, X509_STORE_CTX *a, a, return 0, return)
|
||||
+#else
|
||||
+DEFINEFUNC(STACK_OF(X509) *, X509_STORE_CTX_get0_chain, X509_STORE_CTX *a, a, return 0, return)
|
||||
+#endif
|
||||
DEFINEFUNC(X509_STORE_CTX *, X509_STORE_CTX_new, DUMMYARG, DUMMYARG, return 0, return)
|
||||
#ifdef SSLEAY_MACROS
|
||||
DEFINEFUNC2(int, i2d_DSAPrivateKey, const DSA *a, a, unsigned char **b, b, return -1, return)
|
||||
@@ -282,10 +319,34 @@
|
||||
DEFINEFUNC3(RSA *, d2i_RSAPrivateKey, RSA **a, a, unsigned char **b, b, long c, c, return 0, return)
|
||||
DEFINEFUNC3(DSA *, d2i_DSAPrivateKey, DSA **a, a, unsigned char **b, b, long c, c, return 0, return)
|
||||
#endif
|
||||
+#if OPENSSL_VERSION_NUMBER < 0x10100000L
|
||||
DEFINEFUNC(void, OPENSSL_add_all_algorithms_noconf, void, DUMMYARG, return, DUMMYARG)
|
||||
DEFINEFUNC(void, OPENSSL_add_all_algorithms_conf, void, DUMMYARG, return, DUMMYARG)
|
||||
+#else
|
||||
+DEFINEFUNC2(int, OPENSSL_init_crypto, uint64_t opts, opts, const OPENSSL_INIT_SETTINGS *settings, settings, return -1, return)
|
||||
+#endif
|
||||
DEFINEFUNC3(int, SSL_CTX_load_verify_locations, SSL_CTX *ctx, ctx, const char *CAfile, CAfile, const char *CApath, CApath, return 0, return)
|
||||
+#if OPENSSL_VERSION_NUMBER < 0x10100000L
|
||||
DEFINEFUNC(long, SSLeay, void, DUMMYARG, return 0, return)
|
||||
+#else
|
||||
+DEFINEFUNC(unsigned long, OpenSSL_version_num, void, DUMMYARG, return 0, return)
|
||||
+#endif
|
||||
+DEFINEFUNC(X509_STORE *, SSL_CTX_get_cert_store, const SSL_CTX *ctx, ctx, return 0, return)
|
||||
+
|
||||
+DEFINEFUNC(ASN1_INTEGER *, X509_get_serialNumber, X509 *x, x, return 0, return)
|
||||
+#if OPENSSL_VERSION_NUMBER >= 0x10100000L
|
||||
+DEFINEFUNC(int, EVP_PKEY_id, const EVP_PKEY *pkey, pkey, return 0, return)
|
||||
+DEFINEFUNC(int, EVP_PKEY_base_id, const EVP_PKEY *pkey, pkey, return 0, return)
|
||||
+DEFINEFUNC2(int, SSL_CIPHER_get_bits, const SSL_CIPHER *cipher, cipher, int *alg_bits, alg_bits, return 0, return)
|
||||
+DEFINEFUNC2(long, SSL_CTX_set_options, SSL_CTX *ctx, ctx, long options, options, return 0, return)
|
||||
+DEFINEFUNC(long, X509_get_version, X509 *x, x, return 0, return)
|
||||
+DEFINEFUNC(X509_PUBKEY *, X509_get_X509_PUBKEY, X509 *x, x, return 0, return)
|
||||
+DEFINEFUNC(int, RSA_bits, const RSA *rsa, rsa, return 0, return)
|
||||
+DEFINEFUNC(int, DSA_security_bits, const DSA *dsa, dsa, return 0, return)
|
||||
+DEFINEFUNC(ASN1_TIME *, X509_getm_notAfter, X509 *x, x, return 0, return)
|
||||
+DEFINEFUNC(ASN1_TIME *, X509_getm_notBefore, X509 *x, x, return 0, return)
|
||||
+DEFINEFUNC4(void, DSA_get0_pqg, const DSA *d, d, const BIGNUM **p, p, const BIGNUM **q, q, const BIGNUM **g, g, return, return)
|
||||
+#endif
|
||||
|
||||
#ifdef Q_OS_SYMBIAN
|
||||
#define RESOLVEFUNC(func, ordinal, lib) \
|
||||
@@ -580,7 +641,11 @@
|
||||
static volatile bool symbolsResolved = false;
|
||||
static volatile bool triedToResolveSymbols = false;
|
||||
#ifndef QT_NO_THREAD
|
||||
+#if OPENSSL_VERSION_NUMBER < 0x10100000L
|
||||
QMutexLocker locker(QMutexPool::globalInstanceGet((void *)&q_SSL_library_init));
|
||||
+#else
|
||||
+ QMutexLocker locker(QMutexPool::globalInstanceGet((void *)&q_OPENSSL_init_ssl));
|
||||
+#endif
|
||||
#endif
|
||||
if (symbolsResolved)
|
||||
return true;
|
||||
@@ -614,9 +679,11 @@
|
||||
RESOLVEFUNC(BIO_write, 269, libs.second )
|
||||
RESOLVEFUNC(BN_num_bits, 387, libs.second )
|
||||
RESOLVEFUNC(CRYPTO_free, 469, libs.second )
|
||||
+#if OPENSSL_VERSION_NUMBER < 0x10100000L
|
||||
RESOLVEFUNC(CRYPTO_num_locks, 500, libs.second )
|
||||
RESOLVEFUNC(CRYPTO_set_id_callback, 513, libs.second )
|
||||
RESOLVEFUNC(CRYPTO_set_locking_callback, 516, libs.second )
|
||||
+#endif
|
||||
RESOLVEFUNC(DSA_free, 594, libs.second )
|
||||
RESOLVEFUNC(ERR_error_string, 744, libs.second )
|
||||
RESOLVEFUNC(ERR_get_error, 749, libs.second )
|
||||
@@ -674,8 +741,10 @@
|
||||
RESOLVEFUNC(SSL_get_peer_cert_chain, 117, libs.first )
|
||||
RESOLVEFUNC(SSL_get_peer_certificate, 118, libs.first )
|
||||
RESOLVEFUNC(SSL_get_verify_result, 132, libs.first )
|
||||
+#if OPENSSL_VERSION_NUMBER < 0x10100000L
|
||||
RESOLVEFUNC(SSL_library_init, 137, libs.first )
|
||||
RESOLVEFUNC(SSL_load_error_strings, 139, libs.first )
|
||||
+#endif
|
||||
RESOLVEFUNC(SSL_new, 140, libs.first )
|
||||
#if OPENSSL_VERSION_NUMBER >= 0x0090806fL && !defined(OPENSSL_NO_TLSEXT)
|
||||
RESOLVEFUNC(SSL_ctrl, 95, libs.first )
|
||||
@@ -747,9 +816,11 @@
|
||||
RESOLVEFUNC(BIO_write)
|
||||
RESOLVEFUNC(BN_num_bits)
|
||||
RESOLVEFUNC(CRYPTO_free)
|
||||
+#if OPENSSL_VERSION_NUMBER < 0x10100000L
|
||||
RESOLVEFUNC(CRYPTO_num_locks)
|
||||
RESOLVEFUNC(CRYPTO_set_id_callback)
|
||||
RESOLVEFUNC(CRYPTO_set_locking_callback)
|
||||
+#endif
|
||||
RESOLVEFUNC(DSA_free)
|
||||
RESOLVEFUNC(ERR_error_string)
|
||||
RESOLVEFUNC(ERR_get_error)
|
||||
@@ -779,10 +850,17 @@
|
||||
RESOLVEFUNC(RAND_seed)
|
||||
RESOLVEFUNC(RAND_status)
|
||||
RESOLVEFUNC(RSA_free)
|
||||
+#if OPENSSL_VERSION_NUMBER < 0x10100000L
|
||||
RESOLVEFUNC(sk_free)
|
||||
RESOLVEFUNC(sk_num)
|
||||
RESOLVEFUNC(sk_pop_free)
|
||||
RESOLVEFUNC(sk_value)
|
||||
+#else
|
||||
+ RESOLVEFUNC(OPENSSL_sk_free)
|
||||
+ RESOLVEFUNC(OPENSSL_sk_num)
|
||||
+ RESOLVEFUNC(OPENSSL_sk_pop_free)
|
||||
+ RESOLVEFUNC(OPENSSL_sk_value)
|
||||
+#endif
|
||||
RESOLVEFUNC(SSL_CIPHER_description)
|
||||
RESOLVEFUNC(SSL_CTX_check_private_key)
|
||||
RESOLVEFUNC(SSL_CTX_ctrl)
|
||||
@@ -797,6 +875,7 @@
|
||||
RESOLVEFUNC(SSL_CTX_use_PrivateKey)
|
||||
RESOLVEFUNC(SSL_CTX_use_RSAPrivateKey)
|
||||
RESOLVEFUNC(SSL_CTX_use_PrivateKey_file)
|
||||
+ RESOLVEFUNC(SSL_CTX_get_cert_store)
|
||||
RESOLVEFUNC(SSL_accept)
|
||||
RESOLVEFUNC(SSL_clear)
|
||||
RESOLVEFUNC(SSL_connect)
|
||||
@@ -807,8 +886,12 @@
|
||||
RESOLVEFUNC(SSL_get_peer_cert_chain)
|
||||
RESOLVEFUNC(SSL_get_peer_certificate)
|
||||
RESOLVEFUNC(SSL_get_verify_result)
|
||||
+#if OPENSSL_VERSION_NUMBER < 0x10100000L
|
||||
RESOLVEFUNC(SSL_library_init)
|
||||
RESOLVEFUNC(SSL_load_error_strings)
|
||||
+#else
|
||||
+ RESOLVEFUNC(OPENSSL_init_ssl)
|
||||
+#endif
|
||||
RESOLVEFUNC(SSL_new)
|
||||
#if OPENSSL_VERSION_NUMBER >= 0x0090806fL && !defined(OPENSSL_NO_TLSEXT)
|
||||
RESOLVEFUNC(SSL_ctrl)
|
||||
@@ -819,17 +902,47 @@
|
||||
RESOLVEFUNC(SSL_set_connect_state)
|
||||
RESOLVEFUNC(SSL_shutdown)
|
||||
RESOLVEFUNC(SSL_write)
|
||||
+
|
||||
+ RESOLVEFUNC(X509_get_serialNumber)
|
||||
+#if OPENSSL_VERSION_NUMBER >= 0x10100000L
|
||||
+ RESOLVEFUNC(SSL_CTX_ctrl)
|
||||
+ RESOLVEFUNC(EVP_PKEY_id)
|
||||
+ RESOLVEFUNC(EVP_PKEY_base_id)
|
||||
+ RESOLVEFUNC(SSL_CIPHER_get_bits)
|
||||
+ RESOLVEFUNC(SSL_CTX_set_options)
|
||||
+ RESOLVEFUNC(X509_get_version)
|
||||
+ RESOLVEFUNC(X509_get_X509_PUBKEY)
|
||||
+ RESOLVEFUNC(RSA_bits)
|
||||
+ RESOLVEFUNC(DSA_security_bits)
|
||||
+ RESOLVEFUNC(DSA_get0_pqg)
|
||||
+#if OPENSSL_VERSION_NUMBER < 0x10100000L
|
||||
+ RESOLVEFUNC(X509_get_notAfter)
|
||||
+ RESOLVEFUNC(X509_get_notBefore)
|
||||
+#else
|
||||
+ RESOLVEFUNC(X509_getm_notAfter)
|
||||
+ RESOLVEFUNC(X509_getm_notBefore)
|
||||
+#endif
|
||||
+#endif
|
||||
+
|
||||
#ifndef OPENSSL_NO_SSL2
|
||||
RESOLVEFUNC(SSLv2_client_method)
|
||||
#endif
|
||||
RESOLVEFUNC(SSLv3_client_method)
|
||||
+#if OPENSSL_VERSION_NUMBER < 0x10100000L
|
||||
RESOLVEFUNC(SSLv23_client_method)
|
||||
+#else
|
||||
+ RESOLVEFUNC(TLS_client_method)
|
||||
+#endif
|
||||
RESOLVEFUNC(TLSv1_client_method)
|
||||
#ifndef OPENSSL_NO_SSL2
|
||||
RESOLVEFUNC(SSLv2_server_method)
|
||||
#endif
|
||||
RESOLVEFUNC(SSLv3_server_method)
|
||||
+#if OPENSSL_VERSION_NUMBER < 0x10100000L
|
||||
RESOLVEFUNC(SSLv23_server_method)
|
||||
+#else
|
||||
+ RESOLVEFUNC(TLS_server_method)
|
||||
+#endif
|
||||
RESOLVEFUNC(TLSv1_server_method)
|
||||
RESOLVEFUNC(X509_NAME_entry_count)
|
||||
RESOLVEFUNC(X509_NAME_get_entry)
|
||||
@@ -846,7 +959,11 @@
|
||||
RESOLVEFUNC(X509_STORE_CTX_get_error)
|
||||
RESOLVEFUNC(X509_STORE_CTX_get_error_depth)
|
||||
RESOLVEFUNC(X509_STORE_CTX_get_current_cert)
|
||||
+#if OPENSSL_VERSION_NUMBER < 0x10100000L
|
||||
RESOLVEFUNC(X509_STORE_CTX_get_chain)
|
||||
+#else
|
||||
+ RESOLVEFUNC(X509_STORE_CTX_get0_chain)
|
||||
+#endif
|
||||
RESOLVEFUNC(X509_cmp)
|
||||
#ifndef SSLEAY_MACROS
|
||||
RESOLVEFUNC(X509_dup)
|
||||
@@ -867,10 +984,18 @@
|
||||
RESOLVEFUNC(d2i_DSAPrivateKey)
|
||||
RESOLVEFUNC(d2i_RSAPrivateKey)
|
||||
#endif
|
||||
+#if OPENSSL_VERSION_NUMBER < 0x10100000L
|
||||
RESOLVEFUNC(OPENSSL_add_all_algorithms_noconf)
|
||||
RESOLVEFUNC(OPENSSL_add_all_algorithms_conf)
|
||||
+#else
|
||||
+ RESOLVEFUNC(OPENSSL_init_crypto)
|
||||
+#endif
|
||||
RESOLVEFUNC(SSL_CTX_load_verify_locations)
|
||||
+#if OPENSSL_VERSION_NUMBER < 0x10100000L
|
||||
RESOLVEFUNC(SSLeay)
|
||||
+#else
|
||||
+ RESOLVEFUNC(OpenSSL_version_num)
|
||||
+#endif
|
||||
#endif // Q_OS_SYMBIAN
|
||||
symbolsResolved = true;
|
||||
delete libs.first;
|
||||
diff -ur qt-everywhere-opensource-src-4.8.7/src/network/ssl/qsslsocket_openssl_symbols_p.h qt-everywhere-opensource-src-4.8.7-openssl-1.1/src/network/ssl/qsslsocket_openssl_symbols_p.h
|
||||
--- qt-everywhere-opensource-src-4.8.7/src/network/ssl/qsslsocket_openssl_symbols_p.h 2015-05-07 16:14:44.000000000 +0200
|
||||
+++ qt-everywhere-opensource-src-4.8.7-openssl-1.1/src/network/ssl/qsslsocket_openssl_symbols_p.h 2018-01-05 17:59:42.041550255 +0100
|
||||
@@ -207,16 +207,31 @@
|
||||
int q_ASN1_STRING_to_UTF8(unsigned char **a, ASN1_STRING *b);
|
||||
long q_BIO_ctrl(BIO *a, int b, long c, void *d);
|
||||
int q_BIO_free(BIO *a);
|
||||
+#if OPENSSL_VERSION_NUMBER < 0x10100000L
|
||||
BIO *q_BIO_new(BIO_METHOD *a);
|
||||
+#else
|
||||
+BIO *q_BIO_new(const BIO_METHOD *a);
|
||||
+#endif
|
||||
BIO *q_BIO_new_mem_buf(void *a, int b);
|
||||
int q_BIO_read(BIO *a, void *b, int c);
|
||||
+#if OPENSSL_VERSION_NUMBER < 0x10100000L
|
||||
BIO_METHOD *q_BIO_s_mem();
|
||||
+#else
|
||||
+const BIO_METHOD *q_BIO_s_mem();
|
||||
+#endif
|
||||
int q_BIO_write(BIO *a, const void *b, int c);
|
||||
int q_BN_num_bits(const BIGNUM *a);
|
||||
+#if OPENSSL_VERSION_NUMBER < 0x10100000L
|
||||
int q_CRYPTO_num_locks();
|
||||
void q_CRYPTO_set_locking_callback(void (*a)(int, int, const char *, int));
|
||||
void q_CRYPTO_set_id_callback(unsigned long (*a)());
|
||||
void q_CRYPTO_free(void *a);
|
||||
+#else
|
||||
+#define q_CRYPTO_num_locks() 1
|
||||
+#define q_CRYPTO_set_locking_callback(a)
|
||||
+#define q_CRYPTO_set_id_callback(a)
|
||||
+void q_CRYPTO_free(void *a, const char *b, int c);
|
||||
+#endif
|
||||
void q_DSA_free(DSA *a);
|
||||
#if OPENSSL_VERSION_NUMBER >= 0x00908000L
|
||||
// 0.9.8 broke SC and BC by changing this function's signature.
|
||||
@@ -258,6 +273,7 @@
|
||||
void q_RAND_seed(const void *a, int b);
|
||||
int q_RAND_status();
|
||||
void q_RSA_free(RSA *a);
|
||||
+#if OPENSSL_VERSION_NUMBER < 0x10100000L
|
||||
int q_sk_num(STACK *a);
|
||||
void q_sk_pop_free(STACK *a, void (*b)(void *));
|
||||
#if OPENSSL_VERSION_NUMBER >= 0x10000000L
|
||||
@@ -267,6 +283,16 @@
|
||||
void q_sk_free(STACK *a);
|
||||
char * q_sk_value(STACK *a, int b);
|
||||
#endif
|
||||
+#else
|
||||
+int q_OPENSSL_sk_num(STACK *a);
|
||||
+void q_OPENSSL_sk_pop_free(STACK *a, void (*b)(void *));
|
||||
+void q_OPENSSL_sk_free(_STACK *a);
|
||||
+void * q_OPENSSL_sk_value(STACK *a, int b);
|
||||
+#define q_sk_num q_OPENSSL_sk_num
|
||||
+#define q_sk_pop_free q_OPENSSL_sk_pop_free
|
||||
+#define q_sk_free q_OPENSSL_sk_free
|
||||
+#define q_sk_value q_OPENSSL_sk_value
|
||||
+#endif
|
||||
int q_SSL_accept(SSL *a);
|
||||
int q_SSL_clear(SSL *a);
|
||||
char *q_SSL_CIPHER_description(SSL_CIPHER *a, char *b, int c);
|
||||
@@ -314,8 +340,14 @@
|
||||
#else
|
||||
long q_SSL_get_verify_result(SSL *a);
|
||||
#endif
|
||||
+#if OPENSSL_VERSION_NUMBER < 0x10100000L
|
||||
int q_SSL_library_init();
|
||||
void q_SSL_load_error_strings();
|
||||
+#else
|
||||
+int q_OPENSSL_init_ssl(uint64_t opts, const OPENSSL_INIT_SETTINGS *settings);
|
||||
+#define q_SSL_library_init() q_OPENSSL_init_ssl(0, (const OPENSSL_INIT_SETTINGS *) NULL)
|
||||
+#define q_SSL_load_error_strings() q_OPENSSL_init_ssl(OPENSSL_INIT_LOAD_SSL_STRINGS | OPENSSL_INIT_LOAD_CRYPTO_STRINGS, (const OPENSSL_INIT_SETTINGS *) NULL)
|
||||
+#endif
|
||||
SSL *q_SSL_new(SSL_CTX *a);
|
||||
#if OPENSSL_VERSION_NUMBER >= 0x0090806fL && !defined(OPENSSL_NO_TLSEXT)
|
||||
long q_SSL_ctrl(SSL *ssl,int cmd, long larg, void *parg);
|
||||
@@ -328,11 +360,21 @@
|
||||
#if OPENSSL_VERSION_NUMBER >= 0x10000000L
|
||||
const SSL_METHOD *q_SSLv2_client_method();
|
||||
const SSL_METHOD *q_SSLv3_client_method();
|
||||
+#if OPENSSL_VERSION_NUMBER < 0x10100000L
|
||||
const SSL_METHOD *q_SSLv23_client_method();
|
||||
+#else
|
||||
+const SSL_METHOD *q_TLS_client_method();
|
||||
+#define q_SSLv23_client_method q_TLS_client_method
|
||||
+#endif
|
||||
const SSL_METHOD *q_TLSv1_client_method();
|
||||
const SSL_METHOD *q_SSLv2_server_method();
|
||||
const SSL_METHOD *q_SSLv3_server_method();
|
||||
+#if OPENSSL_VERSION_NUMBER < 0x10100000L
|
||||
const SSL_METHOD *q_SSLv23_server_method();
|
||||
+#else
|
||||
+const SSL_METHOD *q_TLS_server_method();
|
||||
+#define q_SSLv23_server_method q_TLS_server_method
|
||||
+#endif
|
||||
const SSL_METHOD *q_TLSv1_server_method();
|
||||
#else
|
||||
SSL_METHOD *q_SSLv2_client_method();
|
||||
@@ -377,7 +419,12 @@
|
||||
int q_X509_STORE_CTX_get_error(X509_STORE_CTX *ctx);
|
||||
int q_X509_STORE_CTX_get_error_depth(X509_STORE_CTX *ctx);
|
||||
X509 *q_X509_STORE_CTX_get_current_cert(X509_STORE_CTX *ctx);
|
||||
+#if OPENSSL_VERSION_NUMBER < 0x10100000L
|
||||
STACK_OF(X509) *q_X509_STORE_CTX_get_chain(X509_STORE_CTX *ctx);
|
||||
+#else
|
||||
+STACK_OF(X509) *q_X509_STORE_CTX_get0_chain(X509_STORE_CTX *ctx);
|
||||
+#define q_X509_STORE_CTX_get_chain q_X509_STORE_CTX_get0_chain
|
||||
+#endif
|
||||
|
||||
#define q_BIO_get_mem_data(b, pp) (int)q_BIO_ctrl(b,BIO_CTRL_INFO,0,(char *)pp)
|
||||
#define q_BIO_pending(b) (int)q_BIO_ctrl(b,BIO_CTRL_PENDING,0,NULL)
|
||||
@@ -399,7 +446,25 @@
|
||||
PEM_ASN1_write_bio((int (*)(void*, unsigned char**))q_i2d_DSAPrivateKey,PEM_STRING_DSA,\
|
||||
bp,(char *)x,enc,kstr,klen,cb,u)
|
||||
#endif
|
||||
+
|
||||
+X509_STORE * q_SSL_CTX_get_cert_store(const SSL_CTX *ctx);
|
||||
+ASN1_INTEGER * q_X509_get_serialNumber(X509 *x);
|
||||
+
|
||||
+#if OPENSSL_VERSION_NUMBER < 0x10100000L
|
||||
#define q_SSL_CTX_set_options(ctx,op) q_SSL_CTX_ctrl((ctx),SSL_CTRL_OPTIONS,(op),NULL)
|
||||
+#define q_X509_get_version(x) X509_get_version(x)
|
||||
+#else
|
||||
+int q_EVP_PKEY_id(const EVP_PKEY *pkey);
|
||||
+int q_EVP_PKEY_base_id(const EVP_PKEY *pkey);
|
||||
+int q_SSL_CIPHER_get_bits(const SSL_CIPHER *cipher, int *alg_bits);
|
||||
+long q_SSL_CTX_set_options(SSL_CTX *ctx, long options);
|
||||
+long q_X509_get_version(X509 *x);
|
||||
+X509_PUBKEY * q_X509_get_X509_PUBKEY(X509 *x);
|
||||
+int q_RSA_bits(const RSA *rsa);
|
||||
+int q_DSA_security_bits(const DSA *dsa);
|
||||
+void q_DSA_get0_pqg(const DSA *d, const BIGNUM **p, const BIGNUM **q, const BIGNUM **g);
|
||||
+#endif
|
||||
+
|
||||
#define q_SKM_sk_num(type, st) ((int (*)(const STACK_OF(type) *))q_sk_num)(st)
|
||||
#define q_SKM_sk_value(type, st,i) ((type * (*)(const STACK_OF(type) *, int))q_sk_value)(st, i)
|
||||
#define q_sk_GENERAL_NAME_num(st) q_SKM_sk_num(GENERAL_NAME, (st))
|
||||
@@ -410,8 +475,17 @@
|
||||
#define q_sk_SSL_CIPHER_value(st, i) q_SKM_sk_value(SSL_CIPHER, (st), (i))
|
||||
#define q_SSL_CTX_add_extra_chain_cert(ctx,x509) \
|
||||
q_SSL_CTX_ctrl(ctx,SSL_CTRL_EXTRA_CHAIN_CERT,0,(char *)x509)
|
||||
+
|
||||
+#if OPENSSL_VERSION_NUMBER < 0x10100000L
|
||||
#define q_X509_get_notAfter(x) X509_get_notAfter(x)
|
||||
#define q_X509_get_notBefore(x) X509_get_notBefore(x)
|
||||
+#else
|
||||
+ASN1_TIME *q_X509_getm_notAfter(X509 *x);
|
||||
+ASN1_TIME *q_X509_getm_notBefore(X509 *x);
|
||||
+#define q_X509_get_notAfter(x) q_X509_getm_notAfter(x)
|
||||
+#define q_X509_get_notBefore(x) q_X509_getm_notBefore(x)
|
||||
+#endif
|
||||
+
|
||||
#define q_EVP_PKEY_assign_RSA(pkey,rsa) q_EVP_PKEY_assign((pkey),EVP_PKEY_RSA,\
|
||||
(char *)(rsa))
|
||||
#define q_EVP_PKEY_assign_DSA(pkey,dsa) q_EVP_PKEY_assign((pkey),EVP_PKEY_DSA,\
|
||||
@@ -421,10 +495,21 @@
|
||||
#else
|
||||
#define q_OpenSSL_add_all_algorithms() q_OPENSSL_add_all_algorithms_noconf()
|
||||
#endif
|
||||
+#if OPENSSL_VERSION_NUMBER < 0x10100000L
|
||||
void q_OPENSSL_add_all_algorithms_noconf();
|
||||
void q_OPENSSL_add_all_algorithms_conf();
|
||||
+#else
|
||||
+int q_OPENSSL_init_crypto(uint64_t opts, const OPENSSL_INIT_SETTINGS *settings);
|
||||
+#define q_OPENSSL_add_all_algorithms_conf() q_OPENSSL_init_crypto(OPENSSL_INIT_ADD_ALL_CIPHERS | OPENSSL_INIT_ADD_ALL_DIGESTS | OPENSSL_INIT_LOAD_CONFIG, (const OPENSSL_INIT_SETTINGS *) NULL)
|
||||
+# define q_OPENSSL_add_all_algorithms_noconf() q_OPENSSL_init_crypto(OPENSSL_INIT_ADD_ALL_CIPHERS | OPENSSL_INIT_ADD_ALL_DIGESTS, (const OPENSSL_INIT_SETTINGS *) NULL)
|
||||
+#endif
|
||||
int q_SSL_CTX_load_verify_locations(SSL_CTX *ctx, const char *CAfile, const char *CApath);
|
||||
+#if OPENSSL_VERSION_NUMBER < 0x10100000L
|
||||
long q_SSLeay();
|
||||
+#else
|
||||
+unsigned long q_OpenSSL_version_num();
|
||||
+#define q_SSLeay q_OpenSSL_version_num
|
||||
+#endif
|
||||
|
||||
// Helper function
|
||||
class QDateTime;
|
@ -1,12 +0,0 @@
|
||||
diff -up qt-everywhere-opensource-src-4.8.7/qmake/Makefile.unix.qmake_LFLAGS qt-everywhere-opensource-src-4.8.7/qmake/Makefile.unix
|
||||
--- qt-everywhere-opensource-src-4.8.7/qmake/Makefile.unix.qmake_LFLAGS 2015-05-07 09:14:42.000000000 -0500
|
||||
+++ qt-everywhere-opensource-src-4.8.7/qmake/Makefile.unix 2018-02-15 08:25:13.168838577 -0600
|
||||
@@ -3,7 +3,7 @@ BUILD_PATH = @BUILD_PATH@
|
||||
QTOBJS = @QMAKE_QTOBJS@
|
||||
QTSRCS = @QMAKE_QTSRCS@
|
||||
QMAKESPEC = @QMAKESPEC@
|
||||
-LFLAGS = @QMAKE_LFLAGS@
|
||||
+LFLAGS = @QMAKE_LFLAGS@ $(QMAKE_LFLAGS_RELEASE)
|
||||
|
||||
#qmake code
|
||||
OBJS=project.o property.o main.o makefile.o unixmake2.o unixmake.o \
|
@ -1,17 +0,0 @@
|
||||
--- src/gui/kernel/qguiplatformplugin.cpp.adwaita 2015-02-12 14:32:45.217935391 +0100
|
||||
+++ src/gui/kernel/qguiplatformplugin.cpp 2015-02-12 14:46:11.471866038 +0100
|
||||
@@ -165,8 +165,13 @@ QString QGuiPlatformPlugin::styleName()
|
||||
case DE_GNOME: {
|
||||
QStringList availableStyles = QStyleFactory::keys();
|
||||
// Set QGtkStyle for GNOME if available
|
||||
+ QString adwaitaStyleKey = QString::fromLatin1("adwaita");
|
||||
QString gtkStyleKey = QString::fromLatin1("GTK+");
|
||||
- if (availableStyles.contains(gtkStyleKey)) {
|
||||
+ if (availableStyles.contains(adwaitaStyleKey)) {
|
||||
+ stylename = adwaitaStyleKey;
|
||||
+ break;
|
||||
+ }
|
||||
+ else if (availableStyles.contains(gtkStyleKey)) {
|
||||
stylename = gtkStyleKey;
|
||||
break;
|
||||
}
|
Loading…
Reference in New Issue
Block a user