On 1/3/20 8:35 AM, Paul Menzel via blfs-dev wrote:
Dear Beyond Linux From Scratch folks,
The configuration instructions for SQLite [1] still enable the two-argument
version of the fts3_tokenizer() interface.
-DSQLITE_ENABLE_FTS3_TOKENIZER=1
The command explanations do not contain that.
CFLAGS="-g -O2 -DSQLITE_ENABLE_FTS3=1 -DSQLITE_ENABLE_FTS4=1
-DSQLITE_ENABLE_COLUMN_METADATA=1 -DSQLITE_SECURE_DELETE
-DSQLITE_ENABLE_UNLOCK_NOTIFY=1 -DSQLITE_ENABLE_DBSTAT_VTAB=1":
Applications such as Firefox require secure delete and enable unlock
notify to be turned on. Since firefox-41 the dbstat virtual table and
FTS3/4 are also required. The only way to do this is to include them
in the CFLAGS. By default, these are set to "-g -O2" so we specify
that to preserve those settings. You may, of course, wish to omit the
'-g' if you do not wish to create debugging information. For further
information on what can be specified see
http://www.sqlite.org/compile.html.
So, I wonder if that is an oversight, as the SQLite upstream say there are
security concerns.
SQLITE_ENABLE_FTS3_TOKENIZER
This option enables the two-argument version of the fts3_tokenizer()
interface. The second argument to fts3_tokenizer() is suppose to be
a pointer to a function (encoded as a BLOB) that implements an
application defined tokenizer. If hostile actors are able to run the
two-argument version of fts3_tokenizer() with an arbitrary second
argument, they could use crash or take control of the process.
Because of security concerns, the two-argument fts3_tokenizer()
feature was disabled beginning with Version 3.11.0 (2016-02-15)
unless this compile-time option is used. Version 3.12.0 (2016-03-29)
added the
sqlite3_db_config(db,SQLITE_DBCONFIG_ENABLE_FTS3_TOKENIZER,1,0)
interface that activates the two-argument version of
fts3_tokenizer() for a specific database connection at run-time.
Kind regards,
Paul
Hi Paul,
This isn't due to an oversight. In 2016, a ticket was filed named
"sqlite-3.11.0 causes error in Thunderbird serarch" (Ticket #7991). In
order to get search to work again, we had to add
-DSQLITE3_ENABLE_FTS3_TOKENISER=1 to the sqlite CFLAGS. That option
became required around Thunderbird-52.5.0. I'll update the command
explanations to match that though.
--
http://lists.linuxfromscratch.org/listinfo/blfs-dev
FAQ: http://www.linuxfromscratch.org/blfs/faq.html
Unsubscribe: See the above information page