Merge pull request #24 from developernotes/prerelease
PRAGMA cipher_version
This commit is contained in:
commit
8e4d13b57f
10
src/crypto.c
10
src/crypto.c
@ -38,6 +38,16 @@
|
||||
#include "btreeInt.h"
|
||||
#include "crypto.h"
|
||||
|
||||
/* Generate code to return a string value */
|
||||
void codec_vdbe_return_static_string(Parse *pParse, const char *zLabel, const char *value){
|
||||
Vdbe *v = sqlite3GetVdbe(pParse);
|
||||
int mem = ++pParse->nMem;
|
||||
sqlite3VdbeAddOp4(v, OP_String, 0, mem, 0, (char*)value, P4_STATIC);
|
||||
sqlite3VdbeSetNumCols(v, 1);
|
||||
sqlite3VdbeSetColName(v, 0, COLNAME_NAME, zLabel, SQLITE_STATIC);
|
||||
sqlite3VdbeAddOp2(v, OP_ResultRow, mem, 1);
|
||||
}
|
||||
|
||||
int codec_set_kdf_iter(sqlite3* db, int nDb, int kdf_iter, int for_ctx) {
|
||||
struct Db *pDb = &db->aDb[nDb];
|
||||
CODEC_TRACE(("codec_set_kdf_iter: entered db=%p nDb=%d kdf_iter=%d for_ctx=%d\n", db, nDb, kdf_iter, for_ctx));
|
||||
|
||||
@ -37,6 +37,10 @@
|
||||
|
||||
#define FILE_HEADER_SZ 16
|
||||
|
||||
#ifndef CIPHER_VERSION
|
||||
#define CIPHER_VERSION "2.0.5"
|
||||
#endif
|
||||
|
||||
#ifndef CIPHER
|
||||
#define CIPHER "aes-256-cbc"
|
||||
#endif
|
||||
|
||||
@ -1535,6 +1535,10 @@ void sqlite3Pragma(
|
||||
}
|
||||
}else
|
||||
/** BEGIN CRYPTO **/
|
||||
if( sqlite3StrICmp(zLeft, "cipher_version")==0 && !zRight ){
|
||||
extern void codec_vdbe_return_static_string(Parse *pParse, const char *zLabel, const char *value);
|
||||
codec_vdbe_return_static_string(pParse, "cipher_version", CIPHER_VERSION);
|
||||
}else
|
||||
if( sqlite3StrICmp(zLeft, "cipher")==0 && zRight ){
|
||||
extern int codec_set_cipher_name(sqlite3*, int, const char *, int);
|
||||
codec_set_cipher_name(db, iDb, zRight, 2); // change cipher for both
|
||||
|
||||
@ -1205,4 +1205,16 @@ do_test change-default-use-hmac-attach {
|
||||
db close
|
||||
file delete -force test.db
|
||||
|
||||
# verify the pragma cipher_version
|
||||
# returns the currently configured
|
||||
# sqlcipher version
|
||||
do_test verify-pragma-cipher-version {
|
||||
sqlite_orig db test.db
|
||||
execsql {
|
||||
PRAGMA cipher_version;
|
||||
}
|
||||
} {2.0.5}
|
||||
db close
|
||||
file delete -force test.db
|
||||
|
||||
finish_test
|
||||
|
||||
Loading…
Reference in New Issue
Block a user