aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--g10/ChangeLog5
-rw-r--r--g10/tdbio.c3
2 files changed, 8 insertions, 0 deletions
diff --git a/g10/ChangeLog b/g10/ChangeLog
index 422c2ca1f..b240e9c18 100644
--- a/g10/ChangeLog
+++ b/g10/ChangeLog
@@ -1,3 +1,8 @@
+2002-08-08 David Shaw <[email protected]>
+
+ * tdbio.c (tdbio_set_dbname): Create new trustdbs with user-only
+ permissions.
+
2002-08-07 David Shaw <[email protected]>
* sig-check.c (signature_check2): Sanity check that the md has a
diff --git a/g10/tdbio.c b/g10/tdbio.c
index 20b32afac..cdeba46cf 100644
--- a/g10/tdbio.c
+++ b/g10/tdbio.c
@@ -458,6 +458,7 @@ tdbio_set_dbname( const char *new_dbname, int create )
TRUSTREC rec;
int rc;
char *p = strrchr( fname, DIRSEP_C );
+ mode_t oldmask;
assert(p);
*p = 0;
@@ -477,7 +478,9 @@ tdbio_set_dbname( const char *new_dbname, int create )
if( make_dotlock( lockhandle, -1 ) )
log_fatal( _("%s: can't make lock\n"), db_name );
#endif /* __riscos__ */
+ oldmask=umask(077);
fp =fopen( fname, "wb" );
+ umask(oldmask);
if( !fp )
log_fatal( _("%s: can't create: %s\n"), fname, strerror(errno) );
fclose(fp);