Lukáš Tinkl
cfa6dd9438
performance(sqlcipher): provide optimized versions of sha1_compress
...
- on ARM, use Neon/ACLE extensions (a 3x-4x perf improvement)
- on x64 use a plain C implementation from nayuki (a 2x-3x perf gain)
Unfortunately, we can't use the dedicated `SHA1` extension on x64 as this
became widely available only recently (esp. on AMD CPUs)
v0.1.0-status.3
v0.1.0-status.2
2023-05-16 15:35:09 +03:00
Alex Jbanca
5d5c00574f
Merge pull request #1 from status-im/fix/burn-stack
...
performance(sqlcipher): Fix burn_stack performance issue
v0.0.0-status.1
v0.0.1-status.1
v0.1.0-status.1
v3.4.2-status.1
2023-05-10 12:22:14 +03:00
Alex Jbanca
d4fa1002f9
performance(sqlcipher): Fix burn_stack performance issue
...
Fixing status-im/status-desktop#10572
Implements a cross-platform version of OP-TEE/optee_os#3102
Remove recursion
Use memset instead of while loop
A description to understand introduced changes without reading the code.
zeromem weights about 50% of the total CPU time on M1 Macs and seems to be major performance offender.
It is used to clear the stack when using variables with sensitive information.
2023-05-09 16:21:44 +03:00
Frank Braun
55dbde1788
mention SQLCipher 3.x releases in README
...
Related to issue #7
v3.4.2
2019-02-27 15:23:16 +00:00
Frank Braun
6c235a2a22
update code from github.com/sqlcipher/sqlcipher
...
To release v3.4.2.
Related to issue #7
2019-02-27 15:18:15 +00:00
Frank Braun
8416e17111
travis: also download test dependencies
2019-02-27 14:42:48 +00:00
Frank Braun
3aeeb353c7
goimports -w
2019-02-27 14:25:55 +00:00
Frank Braun
0f6a32fd34
bump go version for tests
2019-02-26 22:20:48 +00:00
Frank Braun
7cfed398a7
add Makefile and activate modules
2019-02-26 17:54:51 +00:00
Frank Braun
77b893cedc
use github.com/mutecomm/go-sqlcipher for example
2019-02-26 17:53:30 +00:00
Frank Braun
f799951b4a
remove unnecssary flag
...
This pulls in the pthreads library on Windows.
It is not necessary to make libtomcrypt thread safe, a mutex is already
applied in sqlcipher.
2017-09-20 22:46:53 +00:00
Frank Braun
eee495e76d
add ExampleIsEncrypted()
2017-05-09 13:16:13 +00:00
Frank Braun
0fd2b12476
document sqlite3.IsEncrypted()
2017-05-08 21:04:03 +00:00
Frank Braun
81d39a96e8
add IsEncrypted() and tests to check encryption
2017-05-08 20:59:16 +00:00
Frank Braun
6bf6f0208d
rename SQLCipher specific tests
2017-05-08 19:01:47 +00:00
Frank Braun
1ea89987f6
add missing pragmas
2017-05-08 18:54:00 +00:00
Frank Braun
2fc2f58d75
update code from github.com/mattn/go-sqlite3
...
Upstream fix to
https://github.com/mattn/go-sqlite3/issues/311
resolves issue #5
2017-04-26 07:12:32 +00:00
Frank Braun
5270fcca18
bump go version for tests
2017-04-24 23:22:57 +00:00
Frank Braun
7fafec4233
update code from github.com/sqlcipher/sqlcipher
...
To release v3.4.1.
Related to issue #5
2017-04-24 23:16:23 +00:00
Frank Braun
34287a64fb
Merge pull request #3 from nkbai/master
...
build error on windows because of pthread
2016-07-01 14:27:31 +00:00
nkbai
fe462c2f29
build error on windows because of pthread
2016-07-01 21:43:08 +08:00
Frank Braun
23f3da79a8
switch test setup to gocheck
2016-02-02 23:47:42 +00:00
Frank Braun
b71d753b66
add support for dsn _pragma_foreign_keys
2015-11-30 01:04:21 +00:00
Frank Braun
e4e8007f0d
make _pragma_key more generic
2015-11-30 01:00:07 +00:00
Frank Braun
9314beb63f
open with databases with C.SQLITE_OPEN_NOMUTEX
...
Instead of C.SQLITE_OPEN_FULLMUTEX.
With the currently used combination of flags in
https://github.com/mattn/go-sqlite3/blob/master/sqlite3.go (compilation with
-DSQLITE_THREADSAFE and sqlite3_open_v2() called with flag
SQLITE_OPEN_FULLMUTEX) SQLite database files are opened in serialized mode
(https://www.sqlite.org/threadsafe.html ).
Since sql.Open() (https://golang.org/pkg/database/sql/#Open ) is safe for
concurrent use by multiple goroutines it should be enough to open SQLite
database files in multi-thread mode (flag SQLITE_OPEN_NOMUTEX instead of
SQLITE_OPEN_FULLMUTEX). This should also improve performance.
See also https://github.com/mattn/go-sqlite3/issues/249
2015-11-30 00:09:43 +00:00
Frank Braun
60160a1594
fix parallel access to an encrypted database
2015-11-30 00:02:48 +00:00
Frank Braun
5a9c8c118c
update code from github.com/mattn/go-sqlite3
2015-11-29 22:21:55 +00:00
Frank Braun
c81b870b72
path.Join() -> filepath.Join()
2015-11-17 14:58:18 +00:00
Frank Braun
fa20792af2
disable anything "not portable" in libtomcrypt
2015-11-03 04:33:15 +00:00
Frank Braun
33577bebab
add note about bug
2015-10-10 15:16:22 +02:00
Frank Braun
8545f20d37
add test for parallel access
2015-10-10 15:10:24 +02:00
Frank Braun
e4f3941ae6
make libtomcrypt thread-safe
2015-10-02 01:00:17 +02:00
Frank Braun
273db7c61f
go test -cover
2015-09-27 08:31:48 +02:00
Frank Braun
35afdd14fb
update go-sqlite3 & fix tests
2015-09-27 08:30:08 +02:00
Frank Braun
4dc6ba16e8
add .travis.yml
2015-09-27 08:04:06 +02:00
Frank Braun
bb1d15f32b
improve README.md
2015-09-27 08:01:47 +02:00
Frank Braun
e96b2ad74d
add script to track libtomcrypt changes
2015-09-13 16:57:01 +02:00
Frank Braun
949344cdff
update code from github.com/sqlcipher/sqlcipher
2015-09-13 16:31:55 +02:00
Frank Braun
6d954fda7b
update code from github.com/mattn/go-sqlite3
2015-09-13 16:28:51 +02:00
Frank Braun
c043586245
update code from github.com/sqlcipher/sqlcipher
2015-04-29 02:14:25 +02:00
Frank Braun
6f1de734f2
update code from github.com/mattn/go-sqlite3
2015-04-29 02:10:36 +02:00
Frank Braun
a2e3bba9dc
add code
2015-04-29 01:56:53 +02:00
Frank Braun
49683f2ff5
Initial commit
2015-04-29 01:49:23 +02:00