(From update of attachment 416474) >diff --git a/configure.in b/configure.in >--- a/configure.in >+++ b/configure.in >@@ -6132,16 +6132,85 @@ MOZ_NATIVE_SQLITE=1, > MOZ_NATIVE_SQLITE= ) > > if test -z "$MOZ_NATIVE_SQLITE" > then > SQLITE_CFLAGS= > SQLITE_LIBS='$(call EXPAND_LIBNAME_PATH,sqlite3,$(DIST)/lib)' > else > PKG_CHECK_MODULES(SQLITE, sqlite3 >= $SQLITE_VERSION) >+ dnl *********************************** >+ dnl *** SQLITE_SECURE_DELETE checks *** >+ dnl ***********************************
Nit: we seem to use dnl ============= to denote sections in configure.in more than *******.
>+ AC_CACHE_VAL(ac_cv_sqlite_secure_delete,[ >+ AC_TRY_RUN([ >+ #include "sqlite3.h" >+ #include <stdio.h> >+ #include <assert.h> >+ >+ int main(int argc, char **argv){ >+ sqlite3 *db; >+ sqlite3_uint64 r; >+ char *zFilename; >+ FILE *in; >+ int i; >+ int rc; >+ char *zBuf; >+ >+ zBuf = malloc(1024*3*sizeof(char)); >+ assert( zBuf ); >+ rc = sqlite3_open(":memory:", &db); >+ assert( rc==SQLITE_OK ); >+ sqlite3_close(db); >+ sqlite3_randomness(sizeof(r), &r); >+ zFilename = sqlite3_mprintf("test_db_%llu.sqlite", r); >+ rc = sqlite3_open(zFilename, &db); >+ assert( rc==SQLITE_OK ); >+ rc = sqlite3_exec(db, >+ "BEGIN;" >+ "CREATE TABLE t1(x);" >+ "INSERT INTO t1 VALUES(zeroblob(1000)||'abcdefghijklmnopqrstuvwxyz');" >+ "COMMIT;" >+ "DELETE FROM t1;", >+ 0, 0, 0 >+ ); >+ assert( rc==SQLITE_OK ); >+ sqlite3_close(db); >+ in = fopen(zFilename, "r"); >+ assert( in!=0 ); >+ rc = fread(zBuf, 1, sizeof(zBuf), in); >+ assert( rc==sizeof(zBuf) ); >+ fclose(in); >+ unlink(zFilename); >+ free( zBuf ); >+ for(i=0; i<sizeof(zBuf)-11; i++){ >+ if( *(zBuf+i)=='h' && memcmp(zBuf+i, "hijklmnopq", 10)==0 ){ >+ return 1; >+ } >+ } >+ return 0; >+ }], >+ ac_cv_sqlite_secure_delete=yes, >+ ac_cv_sqlite_secure_delete=no, >+ ac_cv_sqlite_secure_delete=no >+ ) >+ ]) >+ AC_MSG_RESULT($ac_cv_sqlite_secure_delete) >+ CFLAGS="$_SAVE_CFALGS"
You have a typo here.
r=me with those fixed.
(From update of attachment 416474) SQLITE= 1, SQLITE" LIBNAME_ PATH,sqlite3, $(DIST) /lib)' MODULES( SQLITE, sqlite3 >= $SQLITE_VERSION) ******* ******* ******* ******* SECURE_ DELETE checks *** ******* ******* ******* *******
>diff --git a/configure.in b/configure.in
>--- a/configure.in
>+++ b/configure.in
>@@ -6132,16 +6132,85 @@ MOZ_NATIVE_
> MOZ_NATIVE_SQLITE= )
>
> if test -z "$MOZ_NATIVE_
> then
> SQLITE_CFLAGS=
> SQLITE_LIBS='$(call EXPAND_
> else
> PKG_CHECK_
>+ dnl *******
>+ dnl *** SQLITE_
>+ dnl *******
Nit: we seem to use dnl ============= to denote sections in configure.in more than *******.
>+ AC_CACHE_ VAL(ac_ cv_sqlite_ secure_ delete, [ 1024*3* sizeof( char)); open(": memory: ", &db); randomness( sizeof( r), &r); mprintf( "test_db_ %llu.sqlite" , r); open(zFilename, &db); zeroblob( 1000)|| 'abcdefghijklmn opqrstuvwxyz' );" secure_ delete= yes, secure_ delete= no, secure_ delete= no RESULT( $ac_cv_ sqlite_ secure_ delete) "$_SAVE_ CFALGS"
>+ AC_TRY_RUN([
>+ #include "sqlite3.h"
>+ #include <stdio.h>
>+ #include <assert.h>
>+
>+ int main(int argc, char **argv){
>+ sqlite3 *db;
>+ sqlite3_uint64 r;
>+ char *zFilename;
>+ FILE *in;
>+ int i;
>+ int rc;
>+ char *zBuf;
>+
>+ zBuf = malloc(
>+ assert( zBuf );
>+ rc = sqlite3_
>+ assert( rc==SQLITE_OK );
>+ sqlite3_close(db);
>+ sqlite3_
>+ zFilename = sqlite3_
>+ rc = sqlite3_
>+ assert( rc==SQLITE_OK );
>+ rc = sqlite3_exec(db,
>+ "BEGIN;"
>+ "CREATE TABLE t1(x);"
>+ "INSERT INTO t1 VALUES(
>+ "COMMIT;"
>+ "DELETE FROM t1;",
>+ 0, 0, 0
>+ );
>+ assert( rc==SQLITE_OK );
>+ sqlite3_close(db);
>+ in = fopen(zFilename, "r");
>+ assert( in!=0 );
>+ rc = fread(zBuf, 1, sizeof(zBuf), in);
>+ assert( rc==sizeof(zBuf) );
>+ fclose(in);
>+ unlink(zFilename);
>+ free( zBuf );
>+ for(i=0; i<sizeof(zBuf)-11; i++){
>+ if( *(zBuf+i)=='h' && memcmp(zBuf+i, "hijklmnopq", 10)==0 ){
>+ return 1;
>+ }
>+ }
>+ return 0;
>+ }],
>+ ac_cv_sqlite_
>+ ac_cv_sqlite_
>+ ac_cv_sqlite_
>+ )
>+ ])
>+ AC_MSG_
>+ CFLAGS=
You have a typo here.
r=me with those fixed.