Alex Jbanca e8c4b7647f
chore(upgradeSQLCipher): Upgrading SQLCipher to version 5.4.5 (#3559)
* chore(upgradeSQLCipher): Upgrading SQLCipher to version 5.4.5

Changes:
### github.com/mutecomm/go-sqlcipher
1. The improved crypto argorighms from go-sqlcipher v3 are merged in v4
	Tags:
	v4.4.2-status.1 - merge `burn_stack` improvement
	v4.4.2-status.2 - merge `SHA1` improvement
	v4.4.2-status.4- merge 'AES' improvement
2. Fixed `go-sqlcipher` to support v3 database in compatibility mode (`sqlcipher` already supports this) (Tag: v4.4.2-status.3)
3. Upgrade `sqlcipher` to v5.4.5 (Tag: v4.5.4-status.1)

### github.com/status-im/migrate/v4
1. Upgrade `go-sqlcipher` version in `github.com/status-im/migrate/v4`

### status-go
1. Upgrade `go-sqlcipher` and `migrate` modules in status-go
2. Configure the DB connections to open the DB in v3 compatibility mode

* chore(upgradeSQLCipher): Use sqlcipher v3 configuration to encrypt a plain text database

* chore(upgradeSQLCipher): Scanning NULL BLOB value should return nil

Fixing failing tests: TestSyncDeviceSuite/TestPairingSyncDeviceClientAsReceiver;  TestSyncDeviceSuite/TestPairingSyncDeviceClientAsSender

Considering the following configuration:
1. Table with BLOB column has 1 NULL value
2. Query the value
3. Rows.Scan(&dest sql.NullString)

Expected: dest.Valid == false; dest.String == nil
Actual: dest.Valid == true; dest.String == ""

* chore: Bump go-sqlcipher version to include NULL BLOB fix
2023-06-07 08:58:01 +03:00

38 lines
835 B
Plaintext

To maintain this code properly, the following three repositories have to be
tracked for changes (maintenance details below):
- https://github.com/mattn/go-sqlite
- https://github.com/sqlcipher/sqlcipher
- https://github.com/libtom/libtomcrypt
Update code from https://github.com/mattn/go-sqlite3
----------------------------------------------------
Current release: v1.14.5
Use ./track_go-sqlite3.sh
Update code from https://github.com/sqlcipher/sqlcipher
-------------------------------------------------------
Current release: v4.4.2
Execute:
./configure
make
Track files:
sqlite3.h
sqlite3.c
Update code from https://github.com/libtom/libtomcrypt
------------------------------------------------------
Current HEAD: cfbd7f8d364e1438555ff2a247f7e17add11840e
(from develop branch, 2020-08-29)
Use ./track_libtomcrypt.sh