$OpenBSD: patch-storage_mozStorageConnection_cpp,v 1.3 2018/06/27 05:11:34 landry Exp $

chunk 1:
https://bugzilla.mozilla.org/show_bug.cgi?id=1470961

set secure_delete PRAGMA on by default, instead of using internal sqlite copy
https://bugzilla.mozilla.org/show_bug.cgi?id=546162

Index: storage/mozStorageConnection.cpp
--- storage/mozStorageConnection.cpp.orig
+++ storage/mozStorageConnection.cpp
@@ -260,9 +260,7 @@ basicFunctionHelper(sqlite3_context *aCtx,
     return;
   }
   int retcode = variantToSQLiteT(aCtx, result);
-  if (retcode == SQLITE_IGNORE) {
-    ::sqlite3_result_int(aCtx, SQLITE_IGNORE);
-  } else if (retcode != SQLITE_OK) {
+  if (retcode != SQLITE_OK) {
     NS_WARNING("User function returned invalid data type!");
     ::sqlite3_result_error(aCtx,
                            "User function returned invalid data type",
@@ -836,6 +834,13 @@ Connection::initializeInternal()
   // Register our built-in SQL collating sequences.
   srv = registerCollations(mDBConn, mStorageService);
   if (srv != SQLITE_OK) {
+    return convertResultCode(srv);
+  }
+
+  srv = ::sqlite3_exec(mDBConn, "PRAGMA secure_delete = ON", NULL, NULL, NULL);
+  if (srv != SQLITE_OK) {
+    ::sqlite3_close(mDBConn);
+    mDBConn = nullptr;
     return convertResultCode(srv);
   }
 
