File: 17_encryption.patch

package info (click to toggle)
db5.3 5.3.28%2Bdfsg1-0.5
  • links: PTS, VCS
  • area: main
  • in suites: buster
  • size: 158,360 kB
  • sloc: ansic: 448,411; java: 111,824; tcl: 80,544; sh: 44,326; cs: 33,697; cpp: 21,604; perl: 14,557; xml: 10,799; makefile: 4,077; yacc: 1,003; awk: 965; sql: 801; erlang: 342; python: 216; php: 24; asm: 14
file content (85 lines) | stat: -rw-r--r-- 2,390 bytes parent folder | download | duplicates (7)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
--- Makefile.in
+++ Makefile.in
@@ -163,8 +163,8 @@
 #
 LIBOBJS0 = alter.lo analyze.lo attach.lo auth.lo \
          backup.lo bitvec.lo btmutex.lo btree.lo build.lo \
-         callback.lo complete.lo ctime.lo date.lo db_pragma.lo db_shell.lo \
-         delete.lo expr.lo fault.lo fkey.lo \
+         callback.lo complete.lo ctime.lo date.lo db_encrypt.lo db_pragma.lo \
+         db_shell.lo delete.lo expr.lo fault.lo fkey.lo \
          fts3.lo fts3_aux.lo fts3_expr.lo fts3_hash.lo fts3_icu.lo fts3_porter.lo \
          fts3_snippet.lo fts3_tokenizer.lo fts3_tokenizer1.lo fts3_write.lo \
          func.lo global.lo hash.lo \
@@ -207,6 +208,7 @@
   $(TOP)/src/complete.c \
   $(TOP)/src/ctime.c \
   $(TOP)/src/date.c \
+  $(TOP)/../adapter/db_encrypt.c \
   $(TOP)/../adapter/db_pragma.c \
   $(TOP)/../adapter/db_shell.c \
   $(TOP)/src/delete.c \
@@ -580,6 +581,10 @@
 date.lo:	$(TOP)/src/date.c $(HDR)
 	$(LTCOMPILE) $(TEMP_STORE) -c $(TOP)/src/date.c
 
+db_encrypt.lo:	$(TOP)/../adapter/db_encrypt.c $(HDR) \
+		$(TOP)/../adapter/btreeInt.h
+	$(LTCOMPILE) $(TEMP_STORE) -c $(TOP)/../adapter/db_encrypt.c
+
 db_pragma.lo:	$(TOP)/../adapter/db_pragma.c $(HDR) \
 		$(TOP)/../adapter/btreeInt.h
 	$(LTCOMPILE) $(TEMP_STORE) -c $(TOP)/../adapter/db_pragma.c
--- src/tclsqlite.c
+++ src/tclsqlite.c
@@ -2864,6 +2864,9 @@
   const char *zFile;
   const char *zVfs = 0;
   int flags;
+#ifdef SQLITE_HAS_CODEC
+  int rc;
+#endif
   Tcl_DString translatedFilename;
 
   /* In normal use, each TCL interpreter runs in a single thread.  So
@@ -2968,7 +2971,13 @@
   }
 #ifdef SQLITE_HAS_CODEC
   if( p->db ){
-    sqlite3_key(p->db, pKey, nKey);
+    rc = sqlite3_key(p->db, pKey, nKey);
+    if( rc ){
+      zErrMsg = sqlite3_mprintf("%s", sqlite3ErrStr(rc));
+      sqlite3_close(p->db);
+      p->db = 0;
+    }
+
   }
 #endif
   if( p->db==0 ){
--- test/vtab1.test
+++ test/vtab1.test
@@ -849,8 +849,12 @@
 ifcapable attach {
   do_test vtab1.8-1 {
     set echo_module ""
+    set key ""
+    if {[sqlite -has-codec]} {
+      set key "xyzzy"
+    }
     execsql {
-      ATTACH 'test2.db' AS aux;
+      ATTACH 'test2.db' AS aux KEY $key;
       CREATE VIRTUAL TABLE aux.e2 USING echo(real_abc);
     }
     set echo_module
--- tool/mksqlite3c.tcl
+++ tool/mksqlite3c.tcl
@@ -250,6 +250,7 @@
    btmutex.c
    btree.c
    backup.c
+   db_encrypt.c
    db_pragma.c
    db_shell.c