aboutsummaryrefslogtreecommitdiffstats
path: root/g10/keydb.c
diff options
context:
space:
mode:
authorDavid Shaw <[email protected]>2002-08-09 02:23:42 +0000
committerDavid Shaw <[email protected]>2002-08-09 02:23:42 +0000
commit74a84ca93b9662b32475fd19af4ca41a96290d42 (patch)
treedbd137199de0a7cfbd91a7f48d6da9524465e572 /g10/keydb.c
parent* Makefile.am, md.c (load_digest_module): Allow switching TIGER on and off (diff)
downloadgnupg-74a84ca93b9662b32475fd19af4ca41a96290d42.tar.gz
gnupg-74a84ca93b9662b32475fd19af4ca41a96290d42.zip
* options.skel: Some language tweaks, and remove the load-extension
section for random gatherers. * keyring.c (create_tmp_file, rename_tmp_file): Create tmp files with user-only permissions, but restore the original permissions if the user has something special set. * openfile.c (copy_options_file): Create new options file (gpg.conf) with user-only permissions. * keydb.c (keydb_add_resource): Create new keyrings with user-only permissions.
Diffstat (limited to '')
-rw-r--r--g10/keydb.c16
1 files changed, 3 insertions, 13 deletions
diff --git a/g10/keydb.c b/g10/keydb.c
index eb94ef363..d8dd83fe6 100644
--- a/g10/keydb.c
+++ b/g10/keydb.c
@@ -147,6 +147,7 @@ keydb_add_resource (const char *url, int force, int secret)
case KEYDB_RESOURCE_TYPE_KEYRING:
if (access(filename, F_OK))
{ /* file does not exist */
+ mode_t oldmask;
char *last_slash_in_filename;
if (!force)
@@ -169,7 +170,9 @@ keydb_add_resource (const char *url, int force, int secret)
}
*last_slash_in_filename = DIRSEP_C;
+ oldmask=umask(077);
iobuf = iobuf_create (filename);
+ umask(oldmask);
if (!iobuf)
{
log_error ( _("error creating keyring `%s': %s\n"),
@@ -178,19 +181,6 @@ keydb_add_resource (const char *url, int force, int secret)
goto leave;
}
-#ifndef HAVE_DOSISH_SYSTEM
- if (secret && !opt.preserve_permissions)
- {
- if (chmod (filename, S_IRUSR | S_IWUSR) )
- {
- log_error (_("changing permission of "
- " `%s' failed: %s\n"),
- filename, strerror(errno) );
- rc = G10ERR_WRITE_FILE;
- goto leave;
- }
- }
-#endif
if (!opt.quiet)
log_info (_("keyring `%s' created\n"), filename);
iobuf_close (iobuf);