diff options
author | Dave Woodfall <dave@tty1.uk> | 2019-05-18 21:51:46 +0100 |
---|---|---|
committer | Willy Sudiarto Raharjo <willysr@slackbuilds.org> | 2019-05-25 07:31:56 +0700 |
commit | 3bd264869747532239e7561c407d2442b54e14dc (patch) | |
tree | 6ba24b70f4828fdd9da9ec7953774974a7fcf19e /libraries/qt5/patches | |
parent | 8ee7e92217555121fa50e817a81f62fb7681a711 (diff) | |
download | slackbuilds-3bd264869747532239e7561c407d2442b54e14dc.tar.gz |
libraries/qt5: Add mysql patch.
Diffstat (limited to 'libraries/qt5/patches')
-rw-r--r-- | libraries/qt5/patches/explicitly-initialize-sqlite.patch | 217 | ||||
-rw-r--r-- | libraries/qt5/patches/nss-update-sslv3-nonce.patch | 44 | ||||
-rw-r--r-- | libraries/qt5/patches/qt5.mysql.h.diff | 6 |
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 0000000000..2773658adc --- /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 1700c226a6..0000000000 --- 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 41dc9d34d5..1ac6faacfd 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 |