mirror of
https://github.com/status-im/status-go.git
synced 2025-01-09 22:26:30 +00:00
e8c4b7647f
* 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
96 lines
2.6 KiB
C
96 lines
2.6 KiB
C
/* LibTomCrypt, modular cryptographic library -- Tom St Denis */
|
|
/* SPDX-License-Identifier: Unlicense */
|
|
|
|
#ifndef TOMCRYPT_H_
|
|
#define TOMCRYPT_H_
|
|
#include <assert.h>
|
|
#include <stdio.h>
|
|
#include <string.h>
|
|
#include <stdlib.h>
|
|
#include <stddef.h>
|
|
#include <time.h>
|
|
#include <ctype.h>
|
|
#include <limits.h>
|
|
|
|
/* use configuration data */
|
|
#include "tomcrypt_custom.h"
|
|
|
|
#ifdef __cplusplus
|
|
extern "C" {
|
|
#endif
|
|
|
|
/* version */
|
|
#define CRYPT 0x0118
|
|
#define SCRYPT "1.18.2-develop"
|
|
|
|
/* max size of either a cipher/hash block or symmetric key [largest of the two] */
|
|
#define MAXBLOCKSIZE 144
|
|
|
|
#ifndef TAB_SIZE
|
|
/* descriptor table size */
|
|
#define TAB_SIZE 34
|
|
#endif
|
|
|
|
/* error codes [will be expanded in future releases] */
|
|
enum {
|
|
CRYPT_OK=0, /* Result OK */
|
|
CRYPT_ERROR, /* Generic Error */
|
|
CRYPT_NOP, /* Not a failure but no operation was performed */
|
|
|
|
CRYPT_INVALID_KEYSIZE, /* Invalid key size given */
|
|
CRYPT_INVALID_ROUNDS, /* Invalid number of rounds */
|
|
CRYPT_FAIL_TESTVECTOR, /* Algorithm failed test vectors */
|
|
|
|
CRYPT_BUFFER_OVERFLOW, /* Not enough space for output */
|
|
CRYPT_INVALID_PACKET, /* Invalid input packet given */
|
|
|
|
CRYPT_INVALID_PRNGSIZE, /* Invalid number of bits for a PRNG */
|
|
CRYPT_ERROR_READPRNG, /* Could not read enough from PRNG */
|
|
|
|
CRYPT_INVALID_CIPHER, /* Invalid cipher specified */
|
|
CRYPT_INVALID_HASH, /* Invalid hash specified */
|
|
CRYPT_INVALID_PRNG, /* Invalid PRNG specified */
|
|
|
|
CRYPT_MEM, /* Out of memory */
|
|
|
|
CRYPT_PK_TYPE_MISMATCH, /* Not equivalent types of PK keys */
|
|
CRYPT_PK_NOT_PRIVATE, /* Requires a private PK key */
|
|
|
|
CRYPT_INVALID_ARG, /* Generic invalid argument */
|
|
CRYPT_FILE_NOTFOUND, /* File Not Found */
|
|
|
|
CRYPT_PK_INVALID_TYPE, /* Invalid type of PK key */
|
|
|
|
CRYPT_OVERFLOW, /* An overflow of a value was detected/prevented */
|
|
|
|
CRYPT_PK_ASN1_ERROR, /* An error occurred while en- or decoding ASN.1 data */
|
|
|
|
CRYPT_INPUT_TOO_LONG, /* The input was longer than expected. */
|
|
|
|
CRYPT_PK_INVALID_SIZE, /* Invalid size input for PK parameters */
|
|
|
|
CRYPT_INVALID_PRIME_SIZE,/* Invalid size of prime requested */
|
|
CRYPT_PK_INVALID_PADDING, /* Invalid padding on input */
|
|
|
|
CRYPT_HASH_OVERFLOW /* Hash applied to too many bits */
|
|
};
|
|
|
|
#include "tomcrypt_cfg.h"
|
|
#include "tomcrypt_macros.h"
|
|
#include "tomcrypt_cipher.h"
|
|
#include "tomcrypt_hash.h"
|
|
#include "tomcrypt_mac.h"
|
|
#include "tomcrypt_prng.h"
|
|
#include "tomcrypt_pk.h"
|
|
#include "tomcrypt_math.h"
|
|
#include "tomcrypt_misc.h"
|
|
#include "tomcrypt_argchk.h"
|
|
#include "tomcrypt_pkcs.h"
|
|
|
|
#ifdef __cplusplus
|
|
}
|
|
#endif
|
|
|
|
#endif /* TOMCRYPT_H_ */
|
|
|