summaryrefslogtreecommitdiffstats
path: root/tools
diff options
context:
space:
mode:
Diffstat (limited to 'tools')
-rw-r--r--tools/ChangeLog4
-rwxr-xr-xtools/applygnupgdefaults11
2 files changed, 9 insertions, 6 deletions
diff --git a/tools/ChangeLog b/tools/ChangeLog
index b839c4d5e..efb0478e1 100644
--- a/tools/ChangeLog
+++ b/tools/ChangeLog
@@ -1,3 +1,7 @@
+2009-12-18 Werner Koch <wk@g10code.com>
+
+ * applygnupgdefaults (errorfile): Use mktemp. Fixes bug#1146.
+
2009-12-08 Marcus Brinkmann <marcus@g10code.de>
* gpg-connect-agent.c (main): Convert posix fd to assuan fd.
diff --git a/tools/applygnupgdefaults b/tools/applygnupgdefaults
index 882189c0c..b4cff6390 100755
--- a/tools/applygnupgdefaults
+++ b/tools/applygnupgdefaults
@@ -1,5 +1,5 @@
#!/bin/sh
-# Apply defaults from/etc/gnupg/gpg.conf to all users -*- sh -*-
+# Apply defaults from /etc/gnupg/gpg.conf to all users -*- sh -*-
#
# Copyright 2007 Free Software Foundation, Inc.
#
@@ -16,7 +16,7 @@ errorfile=
error () {
echo "$PGM: $*" >&2
- echo "$PGM: $*" >>$errorfile
+ [ -n "$errorfile" ] && echo "$PGM: $*" >>$errorfile
}
info () {
@@ -34,9 +34,8 @@ cleanup ()
[ -n "$errorfile" -a -f "$errorfile" ] && rm "$errorfile"
}
trap cleanup EXIT SIGINT SIGHUP SIGPIPE
-errorfile="/tmp/$PGM.$$.log"
-: >$errorfile
-
+errorfile=$(mktemp "/tmp/$PGM.log.XXXXXX")
+[ -n "$errorfile" -a -f "$errorfile" ] || exit 2
# Check whether we can use getent
if getent --help </dev/null >/dev/null 2>&1 ; then
@@ -62,7 +61,7 @@ fi
${cat_passwd} \
| while IFS=: read -r user dmy_a uid dmy_c dmy_d home shell dmy_rest; do
- # Process only entires with a valid login shell
+ # Process only entries with a valid login shell
grep </etc/shells "^$shell" 2>/dev/null >/dev/null || continue
# and with an existant gnupg home directory
[ -d "$home/.gnupg" ] || continue