@@ -356,11 +356,12 @@ static int sqlcipher_find_db_index(sqlite3 *db, const char *zDb) {
356356}
357357
358358int sqlite3_key (sqlite3 * db , const void * pKey , int nKey ) {
359+ CODEC_TRACE (("sqlite3_key entered: db=%p pKey=%s nKey=%d\n" , db , (char * )pKey , nKey ));
359360 return sqlite3_key_v2 (db , "main" , pKey , nKey );
360361}
361362
362363int sqlite3_key_v2 (sqlite3 * db , const char * zDb , const void * pKey , int nKey ) {
363- CODEC_TRACE (("sqlite3_key : entered db=%p pKey=%s nKey=%d\n" , db , (char * )pKey , nKey ));
364+ CODEC_TRACE (("sqlite3_key_v2 : entered db=%p zDb=%s pKey=%s nKey=%d\n" , db , zDb , (char * )pKey , nKey ));
364365 /* attach key if db and pKey are not null and nKey is > 0 */
365366 if (db && pKey && nKey ) {
366367 int db_index = sqlcipher_find_db_index (db , zDb );
@@ -370,6 +371,7 @@ int sqlite3_key_v2(sqlite3 *db, const char *zDb, const void *pKey, int nKey) {
370371}
371372
372373int sqlite3_rekey (sqlite3 * db , const void * pKey , int nKey ) {
374+ CODEC_TRACE (("sqlite3_rekey entered: db=%p pKey=%s nKey=%d\n" , db , (char * )pKey , nKey ));
373375 return sqlite3_rekey_v2 (db , "main" , pKey , nKey );
374376}
375377
@@ -384,11 +386,11 @@ int sqlite3_rekey(sqlite3 *db, const void *pKey, int nKey) {
384386** 3. If there is a key present, re-encrypt the database with the new key
385387*/
386388int sqlite3_rekey_v2 (sqlite3 * db , const char * zDb , const void * pKey , int nKey ) {
387- CODEC_TRACE (("sqlite3_rekey : entered db=%p pKey=%s, nKey=%d\n" , db , (char * )pKey , nKey ));
389+ CODEC_TRACE (("sqlite3_rekey_v2 : entered db=%p zDb=%s pKey=%s, nKey=%d\n" , db , zDb , (char * )pKey , nKey ));
388390 if (db && pKey && nKey ) {
389391 int db_index = sqlcipher_find_db_index (db , zDb );
390392 struct Db * pDb = & db -> aDb [db_index ];
391- CODEC_TRACE (("sqlite3_rekey : database pDb=%p\n" , pDb ));
393+ CODEC_TRACE (("sqlite3_rekey_v2 : database pDb=%p db_index:%d \n" , pDb , db_index ));
392394 if (pDb -> pBt ) {
393395 codec_ctx * ctx ;
394396 int rc , page_count ;
@@ -400,13 +402,13 @@ int sqlite3_rekey_v2(sqlite3 *db, const char *zDb, const void *pKey, int nKey) {
400402
401403 if (ctx == NULL ) {
402404 /* there was no codec attached to this database, so this should do nothing! */
403- CODEC_TRACE (("sqlite3_rekey : no codec attached to db, exiting\n" ));
405+ CODEC_TRACE (("sqlite3_rekey_v2 : no codec attached to db, exiting\n" ));
404406 return SQLITE_OK ;
405407 }
406408
407409 sqlite3_mutex_enter (db -> mutex );
408410
409- codec_set_pass_key (db , 0 , pKey , nKey , CIPHER_WRITE_CTX );
411+ codec_set_pass_key (db , db_index , pKey , nKey , CIPHER_WRITE_CTX );
410412
411413 /* do stuff here to rewrite the database
412414 ** 1. Create a transaction on the database
@@ -424,21 +426,21 @@ int sqlite3_rekey_v2(sqlite3 *db, const char *zDb, const void *pKey, int nKey) {
424426 if (rc == SQLITE_OK ) {
425427 sqlite3PagerUnref (page );
426428 } else {
427- CODEC_TRACE (("sqlite3_rekey : error %d occurred writing page %d\n" , rc , pgno ));
429+ CODEC_TRACE (("sqlite3_rekey_v2 : error %d occurred writing page %d\n" , rc , pgno ));
428430 }
429431 } else {
430- CODEC_TRACE (("sqlite3_rekey : error %d occurred getting page %d\n" , rc , pgno ));
432+ CODEC_TRACE (("sqlite3_rekey_v2 : error %d occurred getting page %d\n" , rc , pgno ));
431433 }
432434 }
433435 }
434436
435437 /* if commit was successful commit and copy the rekey data to current key, else rollback to release locks */
436438 if (rc == SQLITE_OK ) {
437- CODEC_TRACE (("sqlite3_rekey : committing\n" ));
439+ CODEC_TRACE (("sqlite3_rekey_v2 : committing\n" ));
438440 rc = sqlite3BtreeCommit (pDb -> pBt );
439441 sqlcipher_codec_key_copy (ctx , CIPHER_WRITE_CTX );
440442 } else {
441- CODEC_TRACE (("sqlite3_rekey : rollback\n" ));
443+ CODEC_TRACE (("sqlite3_rekey_v2 : rollback\n" ));
442444 sqlite3BtreeRollback (pDb -> pBt , SQLITE_ABORT_ROLLBACK );
443445 }
444446
0 commit comments