sqlite: Use 0600

The in-tree SQLite3 is used for HDB and ccache -- these should have
0600 permissions.

Of course, if we're using an out-of-tree SQLite3, then we need to rely
on the process' umask, but we use SQLite3 in libraries, where we can't
set the umask...

What to do?

TBD:

 - On Windows: nothing to do.

 - On Unix: if SQLite3 is out of tree then [v]fork() to create the
   connection then close, then connect again after??

   Or... maybe make sure to create an intermediate directory with 0700
   permissions?
This commit is contained in:
Nicolas Williams
2021-11-30 00:58:15 -06:00
committed by Jeffrey Altman
parent beae9c3c43
commit 250eee7acf
2 changed files with 5 additions and 1 deletions

View File

@@ -3,7 +3,7 @@
include $(top_srcdir)/Makefile.am.common
if ENABLE_PTHREAD_SUPPORT
AM_CPPFLAGS += -DSQLITE_THREADSAFE=1
AM_CPPFLAGS += -DSQLITE_THREADSAFE=1 -DSQLITE_DEFAULT_FILE_PERMISSIONS=0600
endif
AM_CPPFLAGS += -DSQLITE_WITHOUT_ZONEMALLOC=1

View File

@@ -37,6 +37,10 @@ INCFILES= \
$(INCDIR)\sqlite3.h \
$(INCDIR)\sqlite3ext.h
# pmode 0600 = _S_IREAD | _S_IWRITE
cdefines = $(cdefines) \
-DSQLITE_DEFAULT_FILE_PERMISSIONS=0600
$(LIBSQLITE): $(OBJ)\sqlite3.obj
$(LIBCON)