diff options
author | David Shaw <[email protected]> | 2002-08-09 02:23:42 +0000 |
---|---|---|
committer | David Shaw <[email protected]> | 2002-08-09 02:23:42 +0000 |
commit | 74a84ca93b9662b32475fd19af4ca41a96290d42 (patch) | |
tree | dbd137199de0a7cfbd91a7f48d6da9524465e572 /g10/keydb.c | |
parent | * Makefile.am, md.c (load_digest_module): Allow switching TIGER on and off (diff) | |
download | gnupg-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.c | 16 |
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); |