Talk here about issues with one of the components hosted at
wxCode , or suggest features for it.
dkaip
Super wx Problem Solver
Posts: 334 Joined: Wed Jan 20, 2010 1:15 pm
Post
by dkaip » Thu Jun 02, 2022 12:27 pm
Hello.
I am using old wxSQLite3 library.
The files with sqlcipher was ...
<Unit filename="../include/wx/wxsqlite3.h" />
<Unit filename="../include/wx/wxsqlite3_version.h" />
<Unit filename="../include/wx/wxsqlite3def.h" />
<Unit filename="../include/wx/wxsqlite3dyn.h" />
<Unit filename="../include/wx/wxsqlite3opt.h" />
<Unit filename="minimal.cpp" />
<Unit filename="../sqlite3secure/src/sqlite3secure.c">
<Option compilerVar="CC" />
</Unit>
<Unit filename="../sqlite3secure/src/sqlite3secure.h" />
<Unit filename="../src/wxsqlite3.cpp" />
and as options ...
<Add option="-DTHREADSAFE=1" />
<Add option="-DSQLITE_MAX_ATTACHED=10" />
<Add option="-DSQLITE_SOUNDEX" />
<Add option="-DSQLITE_ENABLE_COLUMN_METADATA" />
<Add option="-DSQLITE_HAS_CODEC=1" />
<Add option="-DCODEC_TYPE=CODEC_TYPE_CHACHA20" />
<Add option="-DSQLITE_SECURE_DELETE" />
<Add option="-DSQLITE_ENABLE_FTS3" />
<Add option="-DSQLITE_ENABLE_FTS3_PARENTHESIS" />
<Add option="-DSQLITE_ENABLE_FTS4" />
<Add option="-DSQLITE_ENABLE_FTS5" />
<Add option="-DSQLITE_ENABLE_JSON1" />
<Add option="-DSQLITE_ENABLE_RTREE" />
<Add option="-DSQLITE_CORE" />
<Add option="-DSQLITE_ENABLE_EXTFUNC" />
<Add option="-DSQLITE_ENABLE_CSV" />
<Add option="-DSQLITE_ENABLE_SHA3" />
<Add option="-DSQLITE_ENABLE_CARRAY" />
<Add option="-DSQLITE_ENABLE_FILEIO" />
<Add option="-DSQLITE_ENABLE_SERIES" />
<Add option="-DSQLITE_TEMP_STORE=2" />
<Add option="-DSQLITE_USE_URI" />
<Add option="-DSQLITE_USER_AUTHENTICATION" />
<Add option="-DwxUSE_DYNAMIC_SQLITE3_LOAD=0" />
<Add option="-DWXSQLITE3_HAVE_METADATA=1" />
<Add option="-DWXSQLITE3_USER_AUTHENTICATION=1" />
<Add option="-DWXSQLITE3_HAVE_CODEC=1" />
<Add option="-DWXSQLITE3_HAVE_LOAD_EXTENSION=0" />
Question is, with new sqlcipher codes, is the same source files and dependencies?
Thank you
Jim.
utelle
Moderator
Posts: 1125 Joined: Tue Jul 05, 2005 10:00 pm
Location: Cologne, Germany
Contact:
Post
by utelle » Thu Jun 02, 2022 6:31 pm
dkaip wrote: ↑ Thu Jun 02, 2022 12:27 pm
I am using old wxSQLite3 library.
[...]
Question is, with new sqlcipher codes, is the same source files and dependencies?
The project
wxSQLite3 is now based on the new implementation of the encryption extension,
SQLite3 Multiple Ciphers . However, the new implementation is included as an amalgamated source file. Therefore the files that have to be compiled have slightly changed:
The files are now ...
<Unit filename="../include/wx/wxsqlite3.h" />
<Unit filename="../include/wx/wxsqlite3_version.h" />
<Unit filename="../include/wx/wxsqlite3def.h" />
<Unit filename="../include/wx/wxsqlite3opt.h" />
<Unit filename="../src/sqlite3mc_config.h" />
<Unit filename="../src/sqlite3mc_amalgamation.h" />
<Unit filename="minimal.cpp" />
<Option compilerVar="CC" />
</Unit>
<Unit filename="../src/sqlite3mc_amalgamation.c" />
<Unit filename="../src/wxsqlite3.cpp" />
and the options ...
<Add option="-DCODEC_TYPE=CODEC_TYPE_CHACHA20" />
<Add option="-DTHREADSAFE=1" />
<Add option="-DSQLITE_DQS=0" />
<Add option="-DSQLITE_MAX_ATTACHED=10" />
<Add option="-DSQLITE_SOUNDEX=1" />
<Add option="-DSQLITE_ENABLE_COLUMN_METADATA=1" />
<Add option="-DSQLITE_SECURE_DELETE=1" />
<Add option="-DSQLITE_ENABLE_DESERIALIZE=1" />
<Add option="-DSQLITE_ENABLE_FTS3=1" />
<Add option="-DSQLITE_ENABLE_FTS3_PARENTHESIS=1" />
<Add option="-DSQLITE_ENABLE_FTS4=1" />
<Add option="-DSQLITE_ENABLE_FTS5=1" />
<Add option="-DSQLITE_ENABLE_RTREE=1" />
<Add option="-DSQLITE_ENABLE_GEOPOLY=1" />
<Add option="-DSQLITE_CORE=1" />
<Add option="-DSQLITE_ENABLE_EXTFUNC=1" />
<Add option="-DSQLITE_ENABLE_MATH_FUNCTIONS=1" />
<Add option="-DSQLITE_ENABLE_CSV=1" />
<Add option="-DSQLITE_ENABLE_VSV=1" />
<Add option="-DSQLITE_ENABLE_SHA3=1" />
<Add option="-DSQLITE_ENABLE_CARRAY=1" />
<Add option="-DSQLITE_ENABLE_FILEIO=1" />
<Add option="-DSQLITE_ENABLE_SERIES=1" />
<Add option="-DSQLITE_ENABLE_UUID=1" />
<Add option="-DSQLITE_ENABLE_REGEXP=1" />
<Add option="-DSQLITE_TEMP_STORE=2" />
<Add option="-DSQLITE_USE_URI=1" />
<Add option="-DSQLITE_USER_AUTHENTICATION=1" />
You may want to adjust the options to your liking.
dkaip
Super wx Problem Solver
Posts: 334 Joined: Wed Jan 20, 2010 1:15 pm
Post
by dkaip » Fri Jun 03, 2022 7:49 pm
But i don't see encryption files like sqlite3secure.c and sqlite3secure.h
Thank you
Jim.
utelle
Moderator
Posts: 1125 Joined: Tue Jul 05, 2005 10:00 pm
Location: Cologne, Germany
Contact:
Post
by utelle » Fri Jun 03, 2022 9:19 pm
dkaip wrote: ↑ Fri Jun 03, 2022 7:49 pm
But i don't see encryption files like sqlite3secure.c and sqlite3secure.h
As already said in my previous post the SQLite encryption extension is now managed in a separate project,
SQLite3 Multiple Ciphers .
wxSQLite3 uses the amalgamated sources of that project, which you find in the file
sqlite3mc_amalgamation.c in the folder
src .
dkaip
Super wx Problem Solver
Posts: 334 Joined: Wed Jan 20, 2010 1:15 pm
Post
by dkaip » Sun Jun 05, 2022 8:22 pm
Ok, as i see the
<Unit filename="../include/wx/wxsqlite3dyn.h" />
<Unit filename="../sqlite3secure/src/sqlite3secure.c">
<Unit filename="../sqlite3secure/src/sqlite3secure.h" />
was removed and instead we have ...
<Unit filename="../src/sqlite3mc_config.h" />
<Unit filename="../src/sqlite3mc_amalgamation.h" />
<Unit filename="../src/sqlite3mc_amalgamation.c" />
Thank you
Jim.
dkaip
Super wx Problem Solver
Posts: 334 Joined: Wed Jan 20, 2010 1:15 pm
Post
by dkaip » Sun Jun 05, 2022 9:12 pm
Hello again, i am taking an error.
Linux Mint 20.3, GCC compiller.
In file sqlite3mc_amalgamation.c, in function aesGenKeyDecrypt, inlining failed to call always inline _mm_aesimc_si128 in line 256213
/usr/lib/gcc/x86_64-linux-gnu/9/include/wmmintrin.h line 77
Thank you
Jim.
utelle
Moderator
Posts: 1125 Joined: Tue Jul 05, 2005 10:00 pm
Location: Cologne, Germany
Contact:
Post
by utelle » Mon Jun 06, 2022 7:06 am
dkaip wrote: ↑ Sun Jun 05, 2022 9:12 pm
Hello again, i am taking an error.
Linux Mint 20.3, GCC compiller.
In file sqlite3mc_amalgamation.c, in function aesGenKeyDecrypt, inlining failed to call always inline _mm_aesimc_si128 in line 256213
/usr/lib/gcc/x86_64-linux-gnu/9/include/wmmintrin.h line 77
You need to add the compiler options
-msse4.2 -maes , because AES hardware support was added in December 2020 to speed up AES encryption.
dkaip
Super wx Problem Solver
Posts: 334 Joined: Wed Jan 20, 2010 1:15 pm
Post
by dkaip » Wed Jun 08, 2022 11:02 am
I just try it.
It works fine.
Thank you
Jim.