diff options
author | Steve Price <steve@FreeBSD.org> | 1998-10-10 04:29:27 +0000 |
---|---|---|
committer | Steve Price <steve@FreeBSD.org> | 1998-10-10 04:29:27 +0000 |
commit | 6aeac862c2c8d9ef5bd5933876093c65031ed860 (patch) | |
tree | e4a0d66a2fb5aaf9e7cce372bd45cc0df8db066e /chinese/pine4/files/pgpdecode | |
parent | 50d947fe58a371911197767fc9ac455422609fa4 (diff) | |
download | ports-6aeac862c2c8d9ef5bd5933876093c65031ed860.tar.gz ports-6aeac862c2c8d9ef5bd5933876093c65031ed860.zip |
Notes
Diffstat (limited to 'chinese/pine4/files/pgpdecode')
-rw-r--r-- | chinese/pine4/files/pgpdecode | 47 |
1 files changed, 42 insertions, 5 deletions
diff --git a/chinese/pine4/files/pgpdecode b/chinese/pine4/files/pgpdecode index 86d5a97daa04..40625939c37c 100644 --- a/chinese/pine4/files/pgpdecode +++ b/chinese/pine4/files/pgpdecode @@ -6,9 +6,46 @@ # The tmp files in the original version were world readable for # the short time of unpacking, setting suitable umask prevents this # +# Wed Sep 16 21:35:43 WST 1997 Anthony Di Pietro <anthony@dino.omen.com.au> +# Modified to work with both PGP v2 and PGP v5. +# Now uses mktemp to prevent symlink attack and tmp races. + umask 077 -trap "rm -f /tmp/pgpdecode.???.$$; exit" 0 1 2 15 -(pgp -f > /tmp/pgpdecode.txt.$$) 2>&1 | tee /tmp/pgpdecode.pgp.$$ 1>&2 -sed -e 's/^/| /' /tmp/pgpdecode.pgp.$$ -echo " " -cat /tmp/pgpdecode.txt.$$ + +MYNAME=`basename $0` + +STDOUT=`mktemp -q /tmp/${MYNAME}.XXXXXX` +if [ $? -ne 0 ] +then + echo "$0: Can't create temporary file to decode message." + exit 1 +fi + +trap "rm -f $STDOUT ; exit" 0 1 2 15 + +STDERR=`mktemp -q /tmp/${MYNAME}.XXXXXX` +if [ $? -ne 0 ] +then + echo "$0: Can't create temporary file to decode message." + exit 1 +fi + +trap "rm -f $STDOUT $STDERR; exit" 0 1 2 15 + +if [ -x /usr/local/bin/pgpv ] +then + pgpv 2>&1 > $STDOUT |tee $STDERR > /dev/tty +else + pgp -f 2>&1 > $STDOUT |tee $STDERR > /dev/tty +fi + +cat $STDERR | \ +grep -v '^No files specified. Using stdin.$' | \ +grep -v '^Opening file \"stdout\" type text.$' | \ +grep -v '^Opening file \"stdout\" type binary.$' | \ +grep -v '^Opening file \"/dev/null\" type text.$' | \ +grep -v '^Opening file \"/dev/null\" type binary.$' | \ +grep -v '^$'| \ +sed -e 's/^/| /' +echo "" +cat $STDOUT |