aboutsummaryrefslogtreecommitdiff
path: root/libraries/qt5/patches
diff options
context:
space:
mode:
authorDave Woodfall <dave@tty1.uk>2019-05-18 21:51:46 +0100
committerWilly Sudiarto Raharjo <willysr@slackbuilds.org>2019-05-25 07:31:56 +0700
commit3bd264869747532239e7561c407d2442b54e14dc (patch)
tree6ba24b70f4828fdd9da9ec7953774974a7fcf19e /libraries/qt5/patches
parent8ee7e92217555121fa50e817a81f62fb7681a711 (diff)
libraries/qt5: Add mysql patch.
Diffstat (limited to 'libraries/qt5/patches')
-rw-r--r--libraries/qt5/patches/explicitly-initialize-sqlite.patch217
-rw-r--r--libraries/qt5/patches/nss-update-sslv3-nonce.patch44
-rw-r--r--libraries/qt5/patches/qt5.mysql.h.diff6
3 files changed, 220 insertions, 47 deletions
diff --git a/libraries/qt5/patches/explicitly-initialize-sqlite.patch b/libraries/qt5/patches/explicitly-initialize-sqlite.patch
new file mode 100644
index 0000000000000..2773658adcf00
--- /dev/null
+++ b/libraries/qt5/patches/explicitly-initialize-sqlite.patch
@@ -0,0 +1,217 @@
+From 9bab2acc924790b0a01a08e76f9216acc2d6528b Mon Sep 17 00:00:00 2001
+From: Allan Sandfeld Jensen <allan.jensen@qt.io>
+Date: Thu, 16 May 2019 11:19:49 +0200
+Subject: [Backport] WebSQL: Explicitly initialize SQLite, remove deprecated
+ API usage.
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+Change-Id: I291dd041c5646c4fdd714ff98dd939566861d921
+Reviewed-on: https://chromium-review.googlesource.com/892092
+Task-number: QTBUG-75853
+Reviewed-by: Jüri Valdmann <juri.valdmann@qt.io>
+---
+ .../Source/modules/webdatabase/DatabaseTracker.cpp | 2 +-
+ .../modules/webdatabase/sqlite/SQLiteFileSystem.cpp | 21 ++++++++++++++++++++-
+ .../modules/webdatabase/sqlite/SQLiteFileSystem.h | 21 +++++++++++++++------
+ .../webdatabase/sqlite/SQLiteFileSystemPosix.cpp | 19 ++++++++++---------
+ .../webdatabase/sqlite/SQLiteFileSystemWin.cpp | 19 ++++++++++---------
+ 5 files changed, 56 insertions(+), 26 deletions(-)
+
+diff --git a/chromium/third_party/WebKit/Source/modules/webdatabase/DatabaseTracker.cpp b/chromium/third_party/WebKit/Source/modules/webdatabase/DatabaseTracker.cpp
+index 13ea7d8181..f78d90a5df 100644
+--- a/chromium/third_party/WebKit/Source/modules/webdatabase/DatabaseTracker.cpp
++++ b/chromium/third_party/WebKit/Source/modules/webdatabase/DatabaseTracker.cpp
+@@ -66,7 +66,7 @@ DatabaseTracker& DatabaseTracker::tracker() {
+ }
+
+ DatabaseTracker::DatabaseTracker() {
+- SQLiteFileSystem::registerSQLiteVFS();
++ SQLiteFileSystem::initializeSQLite();
+ }
+
+ bool DatabaseTracker::canEstablishDatabase(DatabaseContext* databaseContext,
+diff --git a/chromium/third_party/WebKit/Source/modules/webdatabase/sqlite/SQLiteFileSystem.cpp b/chromium/third_party/WebKit/Source/modules/webdatabase/sqlite/SQLiteFileSystem.cpp
+index 9c25341c57..2a6e140f9e 100644
+--- a/chromium/third_party/WebKit/Source/modules/webdatabase/sqlite/SQLiteFileSystem.cpp
++++ b/chromium/third_party/WebKit/Source/modules/webdatabase/sqlite/SQLiteFileSystem.cpp
+@@ -39,9 +39,28 @@
+ // platform-specific files SQLiteFileSystemChromium{Win|Posix}.cpp
+ namespace blink {
+
+-SQLiteFileSystem::SQLiteFileSystem() {}
++#if DCHECK_IS_ON()
++// static
++bool SQLiteFileSystem::initialize_sqlite_called_ = false;
++#endif // DCHECK_IS_ON
+
++// static
++void SQLiteFileSystem::initializeSQLite() {
++#if DCHECK_IS_ON()
++ DCHECK(!initialize_sqlite_called_) << __func__ << " already called";
++ initialize_sqlite_called_ = true;
++#endif // DCHECK_IS_ON()
++
++ sqlite3_initialize();
++ registerSQLiteVFS();
++}
++
++// static
+ int SQLiteFileSystem::openDatabase(const String& filename, sqlite3** database) {
++#if DCHECK_IS_ON()
++ DCHECK(initialize_sqlite_called_)
++ << "InitializeSQLite() must be called before " << __func__;
++#endif // DCHECK_IS_ON()
+ SafePointScope scope(BlinkGC::HeapPointersOnStack);
+ return sqlite3_open_v2(filename.utf8().data(), database,
+ SQLITE_OPEN_READWRITE | SQLITE_OPEN_CREATE,
+diff --git a/chromium/third_party/WebKit/Source/modules/webdatabase/sqlite/SQLiteFileSystem.h b/chromium/third_party/WebKit/Source/modules/webdatabase/sqlite/SQLiteFileSystem.h
+index 97c0ad83a1..af2bcd9211 100644
+--- a/chromium/third_party/WebKit/Source/modules/webdatabase/sqlite/SQLiteFileSystem.h
++++ b/chromium/third_party/WebKit/Source/modules/webdatabase/sqlite/SQLiteFileSystem.h
+@@ -42,22 +42,31 @@ namespace blink {
+ // A class that abstracts the file system related operations required
+ // by the WebKit database code.
+ class SQLiteFileSystem {
+- DISALLOW_NEW();
+-
+ public:
+- // Registers a user-defined SQLite VFS.
+- static void registerSQLiteVFS();
++ // This class is used as a namespace, so instantiating it doesn't make sense.
++ SQLiteFileSystem() = delete;
++
++ // Initializes SQLite for Blink's use.
++ //
++ // This must be called exactly once in each renderer process that uses SQLite.
++ static void initializeSQLite();
+
+ // Opens a database file.
+ //
++ // initializeSQLite() must be called before this method is called.
++ //
+ // filemame - The name of the database file.
+ // database - The SQLite structure that represents the database stored
+ // in the given file.
+ static int openDatabase(const String& filename, sqlite3** database);
+
+ private:
+- // do not instantiate this class
+- SQLiteFileSystem();
++ // Registers Chromium's VFS with SQLite.
++ static void registerSQLiteVFS();
++
++#if DCHECK_IS_ON()
++ static bool initialize_sqlite_called_;
++#endif // DCHECK_IS_ON()
+ }; // class SQLiteFileSystem
+
+ } // namespace blink
+diff --git a/chromium/third_party/WebKit/Source/modules/webdatabase/sqlite/SQLiteFileSystemPosix.cpp b/chromium/third_party/WebKit/Source/modules/webdatabase/sqlite/SQLiteFileSystemPosix.cpp
+index 77e7b6d904..20d0fd2e0e 100644
+--- a/chromium/third_party/WebKit/Source/modules/webdatabase/sqlite/SQLiteFileSystemPosix.cpp
++++ b/chromium/third_party/WebKit/Source/modules/webdatabase/sqlite/SQLiteFileSystemPosix.cpp
+@@ -321,11 +321,6 @@ int chromiumSleep(sqlite3_vfs* vfs, int microseconds) {
+ return wrappedVfs->xSleep(wrappedVfs, microseconds);
+ }
+
+-int chromiumCurrentTime(sqlite3_vfs* vfs, double* prNow) {
+- sqlite3_vfs* wrappedVfs = static_cast<sqlite3_vfs*>(vfs->pAppData);
+- return wrappedVfs->xCurrentTime(wrappedVfs, prNow);
+-}
+-
+ int chromiumGetLastError(sqlite3_vfs* vfs, int e, char* s) {
+ // xGetLastError() has never been used by SQLite. The implementation in
+ // os_win.c indicates this is a reasonable implementation.
+@@ -333,6 +328,11 @@ int chromiumGetLastError(sqlite3_vfs* vfs, int e, char* s) {
+ return 0;
+ }
+
++int chromiumCurrentTimeInt64(sqlite3_vfs* vfs, sqlite3_int64* now) {
++ sqlite3_vfs* wrapped_vfs = static_cast<sqlite3_vfs*>(vfs->pAppData);
++ return wrapped_vfs->xCurrentTimeInt64(wrapped_vfs, now);
++}
++
+ } // namespace
+
+ void SQLiteFileSystem::registerSQLiteVFS() {
+@@ -342,9 +342,9 @@ void SQLiteFileSystem::registerSQLiteVFS() {
+ // TODO(shess): Implement local versions.
+ ASSERT(wrappedVfs->xRandomness);
+ ASSERT(wrappedVfs->xSleep);
+- ASSERT(wrappedVfs->xCurrentTime);
++ ASSERT(wrappedVfs->xCurrentTimeInt64);
+
+- static sqlite3_vfs chromium_vfs = {1,
++ static sqlite3_vfs chromium_vfs = {2,
+ sizeof(chromiumVfsFile),
+ wrappedVfs->mxPathname,
+ 0,
+@@ -360,8 +360,9 @@ void SQLiteFileSystem::registerSQLiteVFS() {
+ chromiumDlClose,
+ chromiumRandomness,
+ chromiumSleep,
+- chromiumCurrentTime,
+- chromiumGetLastError};
++ nullptr, // CurrentTime is deprecated.
++ chromiumGetLastError,
++ chromiumCurrentTimeInt64};
+ sqlite3_vfs_register(&chromium_vfs, 0);
+ }
+
+diff --git a/chromium/third_party/WebKit/Source/modules/webdatabase/sqlite/SQLiteFileSystemWin.cpp b/chromium/third_party/WebKit/Source/modules/webdatabase/sqlite/SQLiteFileSystemWin.cpp
+index 2933df65f6..31103047fd 100644
+--- a/chromium/third_party/WebKit/Source/modules/webdatabase/sqlite/SQLiteFileSystemWin.cpp
++++ b/chromium/third_party/WebKit/Source/modules/webdatabase/sqlite/SQLiteFileSystemWin.cpp
+@@ -148,11 +148,6 @@ int chromiumSleep(sqlite3_vfs* vfs, int microseconds) {
+ return wrappedVfs->xSleep(wrappedVfs, microseconds);
+ }
+
+-int chromiumCurrentTime(sqlite3_vfs* vfs, double* prNow) {
+- sqlite3_vfs* wrappedVfs = static_cast<sqlite3_vfs*>(vfs->pAppData);
+- return wrappedVfs->xCurrentTime(wrappedVfs, prNow);
+-}
+-
+ int chromiumGetLastError(sqlite3_vfs* vfs, int e, char* s) {
+ // xGetLastError() has never been used by SQLite. The implementation in
+ // os_win.c indicates this is a reasonable implementation.
+@@ -160,6 +155,11 @@ int chromiumGetLastError(sqlite3_vfs* vfs, int e, char* s) {
+ return 0;
+ }
+
++int chromiumCurrentTimeInt64(sqlite3_vfs* vfs, sqlite3_int64* now) {
++ sqlite3_vfs* wrapped_vfs = static_cast<sqlite3_vfs*>(vfs->pAppData);
++ return wrapped_vfs->xCurrentTimeInt64(wrapped_vfs, now);
++}
++
+ } // namespace
+
+ void SQLiteFileSystem::registerSQLiteVFS() {
+@@ -169,9 +169,9 @@ void SQLiteFileSystem::registerSQLiteVFS() {
+ // TODO(shess): Implement local versions.
+ ASSERT(wrappedVfs->xRandomness);
+ ASSERT(wrappedVfs->xSleep);
+- ASSERT(wrappedVfs->xCurrentTime);
++ ASSERT(wrappedVfs->xCurrentTimeInt64);
+
+- static sqlite3_vfs chromium_vfs = {1,
++ static sqlite3_vfs chromium_vfs = {2,
+ wrappedVfs->szOsFile,
+ wrappedVfs->mxPathname,
+ 0,
+@@ -187,8 +187,9 @@ void SQLiteFileSystem::registerSQLiteVFS() {
+ chromiumDlClose,
+ chromiumRandomness,
+ chromiumSleep,
+- chromiumCurrentTime,
+- chromiumGetLastError};
++ nullptr, // CurrentTime is deprecated.
++ chromiumGetLastError,
++ chromiumCurrentTimeInt64};
+ sqlite3_vfs_register(&chromium_vfs, 0);
+ }
+
+--
+cgit v1.2.1
+
diff --git a/libraries/qt5/patches/nss-update-sslv3-nonce.patch b/libraries/qt5/patches/nss-update-sslv3-nonce.patch
deleted file mode 100644
index 1700c226a65d8..0000000000000
--- a/libraries/qt5/patches/nss-update-sslv3-nonce.patch
+++ /dev/null
@@ -1,44 +0,0 @@
-diff -Naur qt-everywhere-opensource-src-5.5.1.orig/qtwebengine/src/3rdparty/chromium/net/quic/crypto/chacha20_poly1305_decrypter_nss.cc qt-everywhere-opensource-src-5.5.1/qtwebengine/src/3rdparty/chromium/net/quic/crypto/chacha20_poly1305_decrypter_nss.cc
---- qt-everywhere-opensource-src-5.5.1.orig/qtwebengine/src/3rdparty/chromium/net/quic/crypto/chacha20_poly1305_decrypter_nss.cc 2015-10-13 04:36:54.000000000 +0000
-+++ qt-everywhere-opensource-src-5.5.1/qtwebengine/src/3rdparty/chromium/net/quic/crypto/chacha20_poly1305_decrypter_nss.cc 2016-03-15 11:57:53.898988200 +0000
-@@ -66,9 +66,9 @@
- AeadParams* aead_params) const {
- aead_params->len = sizeof(aead_params->data.nss_aead_params);
- CK_NSS_AEAD_PARAMS* nss_aead_params = &aead_params->data.nss_aead_params;
-- nss_aead_params->pIv =
-+ nss_aead_params->pNonce =
- reinterpret_cast<CK_BYTE*>(const_cast<char*>(nonce.data()));
-- nss_aead_params->ulIvLen = nonce.size();
-+ nss_aead_params->ulNonceLen = nonce.size();
- nss_aead_params->pAAD =
- reinterpret_cast<CK_BYTE*>(const_cast<char*>(associated_data.data()));
- nss_aead_params->ulAADLen = associated_data.size();
-diff -Naur qt-everywhere-opensource-src-5.5.1.orig/qtwebengine/src/3rdparty/chromium/net/quic/crypto/chacha20_poly1305_encrypter_nss.cc qt-everywhere-opensource-src-5.5.1/qtwebengine/src/3rdparty/chromium/net/quic/crypto/chacha20_poly1305_encrypter_nss.cc
---- qt-everywhere-opensource-src-5.5.1.orig/qtwebengine/src/3rdparty/chromium/net/quic/crypto/chacha20_poly1305_encrypter_nss.cc 2015-10-13 04:36:54.000000000 +0000
-+++ qt-everywhere-opensource-src-5.5.1/qtwebengine/src/3rdparty/chromium/net/quic/crypto/chacha20_poly1305_encrypter_nss.cc 2016-03-15 11:57:53.902988200 +0000
-@@ -66,9 +66,9 @@
- AeadParams* aead_params) const {
- aead_params->len = sizeof(aead_params->data.nss_aead_params);
- CK_NSS_AEAD_PARAMS* nss_aead_params = &aead_params->data.nss_aead_params;
-- nss_aead_params->pIv =
-+ nss_aead_params->pNonce =
- reinterpret_cast<CK_BYTE*>(const_cast<char*>(nonce.data()));
-- nss_aead_params->ulIvLen = nonce.size();
-+ nss_aead_params->ulNonceLen = nonce.size();
- nss_aead_params->pAAD =
- reinterpret_cast<CK_BYTE*>(const_cast<char*>(associated_data.data()));
- nss_aead_params->ulAADLen = associated_data.size();
-diff -Naur qt-everywhere-opensource-src-5.5.1.orig/qtwebengine/src/3rdparty/chromium/net/third_party/nss/ssl/ssl3con.c qt-everywhere-opensource-src-5.5.1/qtwebengine/src/3rdparty/chromium/net/third_party/nss/ssl/ssl3con.c
---- qt-everywhere-opensource-src-5.5.1.orig/qtwebengine/src/3rdparty/chromium/net/third_party/nss/ssl/ssl3con.c 2015-10-13 04:36:52.000000000 +0000
-+++ qt-everywhere-opensource-src-5.5.1/qtwebengine/src/3rdparty/chromium/net/third_party/nss/ssl/ssl3con.c 2016-03-15 12:00:01.376986796 +0000
-@@ -2088,8 +2088,8 @@
- param.len = sizeof(aeadParams);
- param.data = (unsigned char *) &aeadParams;
- memset(&aeadParams, 0, sizeof(aeadParams));
-- aeadParams.pIv = (unsigned char *) additionalData;
-- aeadParams.ulIvLen = 8;
-+ aeadParams.pNonce = (unsigned char *) additionalData;
-+ aeadParams.ulNonceLen = 8;
- aeadParams.pAAD = (unsigned char *) additionalData;
- aeadParams.ulAADLen = additionalDataLen;
- aeadParams.ulTagLen = tagSize;
diff --git a/libraries/qt5/patches/qt5.mysql.h.diff b/libraries/qt5/patches/qt5.mysql.h.diff
index 41dc9d34d52a0..1ac6faacfd208 100644
--- a/libraries/qt5/patches/qt5.mysql.h.diff
+++ b/libraries/qt5/patches/qt5.mysql.h.diff
@@ -1,6 +1,6 @@
-diff -Naur qt-everywhere-opensource-src-5.1.0.orig/qtbase/src/sql/drivers/mysql/qsql_mysql_p.h qt-everywhere-opensource-src-5.1.0/qtbase/src/sql/drivers/mysql/qsql_mysql_p.h
---- qt-everywhere-opensource-src-5.1.0.orig/qtbase/src/sql/drivers/mysql/qsql_mysql_p.h 2013-07-02 07:09:52.000000000 +0000
-+++ qt-everywhere-opensource-src-5.1.0/qtbase/src/sql/drivers/mysql/qsql_mysql_p.h 2013-07-21 21:21:01.190172379 +0000
+diff -Naur qt-everywhere-opensource-src-5.1.0.orig/qtbase/src/plugins/sqldrivers/mysql/qsql_mysql_p.h qt-everywhere-opensource-src-5.1.0/qtbase/src/plugins/sqldrivers/mysql/qsql_mysql_p.h
+--- qt-everywhere-opensource-src-5.1.0.orig/qtbase/src/plugins/sqldrivers/mysql/qsql_mysql_p.h 2013-07-02 07:09:52.000000000 +0000
++++ qt-everywhere-opensource-src-5.1.0/qtbase/src/plugins/sqldrivers/mysql/qsql_mysql_p.h 2013-07-21 21:21:01.190172379 +0000
@@ -60,7 +60,7 @@
#include <QtCore/qt_windows.h>
#endif