aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'mail-client/thunderbird/files/thunderbird-60-sqlite3-fts3-tokenizer.patch')
-rw-r--r--mail-client/thunderbird/files/thunderbird-60-sqlite3-fts3-tokenizer.patch99
1 files changed, 99 insertions, 0 deletions
diff --git a/mail-client/thunderbird/files/thunderbird-60-sqlite3-fts3-tokenizer.patch b/mail-client/thunderbird/files/thunderbird-60-sqlite3-fts3-tokenizer.patch
new file mode 100644
index 0000000..48ebbf1
--- /dev/null
+++ b/mail-client/thunderbird/files/thunderbird-60-sqlite3-fts3-tokenizer.patch
@@ -0,0 +1,99 @@
+# HG changeset patch
+# User Arfrever Frehtes Taifersar Arahesis <Arfrever@Apache.Org>
+# Date 1543532530 0
+# Thu Nov 29 23:02:10 2018 +0000
+# Node ID 1c480085935783bd1d240860bb44f410e2d36322
+# Parent 6453222232be364fb8ce3fd29b6cbcd480e5f2e3
+Bug 1270882 - Enable support for SQLite custom FTS3 tokenizers at run time.
+
+Do not require that SQLite has been built with support for custom FTS3
+tokenizers enabled by default. This allows to use system SQLite in
+distributions which provide SQLite configured in this way (which is SQLite
+upstream's default configuration due to security concerns).
+
+Requires exposing the sqlite3_db_config symbol in bundled SQLite.
+
+Disable no longer needed setting of SQLITE_ENABLE_FTS3_TOKENIZER macro in
+bundled SQLite build.
+
+--- a/db/sqlite3/src/moz.build Thu Nov 29 19:08:28 2018 +0000
++++ b/db/sqlite3/src/moz.build Thu Nov 29 23:02:10 2018 +0000
+@@ -58,10 +58,6 @@
+ if CONFIG['MOZ_WIDGET_TOOLKIT'] == 'uikit':
+ DEFINES['SQLITE_ENABLE_LOCKING_STYLE'] = 0
+
+-# Thunderbird needs the 2-argument version of fts3_tokenizer()
+-if CONFIG['MOZ_THUNDERBIRD'] or CONFIG['MOZ_SUITE']:
+- DEFINES['SQLITE_ENABLE_FTS3_TOKENIZER'] = 1
+-
+ # Turn on SQLite's assertions in debug builds.
+ if CONFIG['MOZ_DEBUG']:
+ DEFINES['SQLITE_DEBUG'] = 1
+--- a/db/sqlite3/src/sqlite.symbols Thu Nov 29 19:08:28 2018 +0000
++++ b/db/sqlite3/src/sqlite.symbols Thu Nov 29 23:02:10 2018 +0000
+@@ -45,6 +45,7 @@
+ sqlite3_create_function16
+ sqlite3_create_module
+ sqlite3_data_count
++sqlite3_db_config
+ sqlite3_db_filename
+ sqlite3_db_handle
+ sqlite3_db_mutex
+--- a/storage/mozStorageConnection.cpp Thu Nov 29 19:08:28 2018 +0000
++++ b/storage/mozStorageConnection.cpp Thu Nov 29 23:02:10 2018 +0000
+@@ -679,6 +679,10 @@
+ return convertResultCode(srv);
+ }
+
++#ifdef INIT_SQLITE_FTS3_TOKENIZER
++ ::sqlite3_db_config(mDBConn, SQLITE_DBCONFIG_ENABLE_FTS3_TOKENIZER, 1, 0);
++#endif
++
+ // Do not set mDatabaseFile or mFileURL here since this is a "memory"
+ // database.
+
+@@ -715,6 +719,10 @@
+ return convertResultCode(srv);
+ }
+
++#ifdef INIT_SQLITE_FTS3_TOKENIZER
++ ::sqlite3_db_config(mDBConn, SQLITE_DBCONFIG_ENABLE_FTS3_TOKENIZER, 1, 0);
++#endif
++
+ // Do not set mFileURL here since this is database does not have an associated
+ // URL.
+ mDatabaseFile = aDatabaseFile;
+@@ -746,6 +754,10 @@
+ return convertResultCode(srv);
+ }
+
++#ifdef INIT_SQLITE_FTS3_TOKENIZER
++ ::sqlite3_db_config(mDBConn, SQLITE_DBCONFIG_ENABLE_FTS3_TOKENIZER, 1, 0);
++#endif
++
+ // Set both mDatabaseFile and mFileURL here.
+ mFileURL = aFileURL;
+ mDatabaseFile = databaseFile;
+--- a/storage/moz.build 2018-11-14 10:14:14.000000000 -0500
++++ b/storage/moz.build 2018-11-29 17:05:42.106058951 -0500
+@@ -101,16 +101,20 @@
+ #
+ # Note: On Windows our sqlite build assumes we use jemalloc. If you disable
+ # MOZ_STORAGE_MEMORY on Windows, you will also need to change the "ifdef
+ # MOZ_MEMORY" options in db/sqlite3/src/Makefile.in.
+ if CONFIG['MOZ_MEMORY'] and not CONFIG['MOZ_SYSTEM_SQLITE']:
+ if CONFIG['OS_TARGET'] != 'Android':
+ DEFINES['MOZ_STORAGE_MEMORY'] = True
+
++# Thunderbird needs the 2-argument version of fts3_tokenizer()
++if CONFIG['MOZ_THUNDERBIRD'] or CONFIG['MOZ_SUITE']:
++ DEFINES['INIT_SQLITE_FTS3_TOKENIZER'] = 1
++
+ # This is the default value. If we ever change it when compiling sqlite, we
+ # will need to change it here as well.
+ DEFINES['SQLITE_MAX_LIKE_PATTERN_LENGTH'] = 50000
+
+ # See Sqlite moz.build for reasoning about TEMP_STORE.
+ # For system sqlite we cannot use the compile time option, so we use a pragma.
+ if CONFIG['MOZ_SYSTEM_SQLITE'] and (CONFIG['OS_TARGET'] == 'Android'
+ or CONFIG['HAVE_64BIT_BUILD']):