summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDaniel Micay <danielmicay@gmail.com>2015-05-14 19:14:53 -0400
committerDaniel Micay <danielmicay@gmail.com>2016-03-23 22:40:18 -0400
commit97ef26ef2f9905b688654202978fdc8a4cde52e2 (patch)
tree3a13829aec2ac9dbfd4a66aad874be7542a96432
parent382b7beebed97d38f55c7703b1af879c5c323d7c (diff)
downloadsqlite-97ef26ef2f9905b688654202978fdc8a4cde52e2.tar.gz
enable secure_delete by default
This sanitizes deleted data by overwriting it with zeroes, rather than having it persist within SQLite's free list. In some cases, the data may end up persisting on the underlying storage due to wear levelling but only a process with direct access to block devices would be able to access it. This can be disabled via `PRAGMA SECURE_DELETE = 0;` for niches where deletion throughput is more important than enhanced privacy. The performance impact is very small unless large strings and blobs are being deleted. Android itself doesn't have any uses where disabling it would make sense, and very few apps will be negatively impacted. As a data point, Chromium and Firefox already use this for their own databases. Change-Id: I07f0e1584f0b2405f080198ad7b1f4e7ed7f68fb
-rw-r--r--dist/Android.mk3
1 files changed, 2 insertions, 1 deletions
diff --git a/dist/Android.mk b/dist/Android.mk
index bf277d2..8113e32 100644
--- a/dist/Android.mk
+++ b/dist/Android.mk
@@ -27,7 +27,8 @@ minimal_sqlite_flags := \
-DSQLITE_OMIT_BUILTIN_TEST \
-DSQLITE_OMIT_COMPILEOPTION_DIAGS \
-DSQLITE_OMIT_LOAD_EXTENSION \
- -DSQLITE_DEFAULT_FILE_PERMISSIONS=0600
+ -DSQLITE_DEFAULT_FILE_PERMISSIONS=0600 \
+ -DSQLITE_SECURE_DELETE
device_sqlite_flags := $(minimal_sqlite_flags) \
-DSQLITE_ENABLE_ICU \