$NetBSD: patch-aj,v 1.1 2004/02/25 03:58:43 snj Exp $ diff -u -r mm2.7.org/src/bin/showexternal mm2.7/src/bin/showexternal --- bin/showexternal Tue Feb 8 09:39:05 1994 +++ bin/showexternal Wed May 21 21:41:39 1997 @@ -15,9 +15,45 @@ # WITHOUT ANY EXPRESS OR IMPLIED WARRANTIES. # +# Check argument integrity. Don't trust mail headers +switch ("$1$2$3$4$5$6$7") +case "*[\t ]*": + echo "Illegal white space in arguments\!" + echo "Command was:" + echo "'$0' '$1' '$2' '$3' '$4' '$5' '$6' '$7'" + exit 2 +endsw + onintr cleanup +# Set a sensible value for the temporary directory, if its not +# already set. If TMPDIR is set previously, then we will +# assume it is adequately protected. if (! $?METAMAIL_TMPDIR) then - set METAMAIL_TMPDIR=/tmp + if ($?TMPDIR) then + set METAMAIL_TMPDIR="$TMPDIR" + else + set METAMAIL_TMPDIR=~/metamail_tmp + endif +endif + +# Set a sensible umask value +umask 077 + +# Make sure that the temporary directory is available +if (! -d "$METAMAIL_TMPDIR") then + + if (! -e "$METAMAIL_TMPDIR") then + mkdir "$METAMAIL_TMPDIR" + else + echo "$METAMAIL_TMPDIR exists, but is not a directory" + exit 2 + endif + + if ( $status != 0 || ! -d "$METAMAIL_TMPDIR" ) then + echo "Error creating $METAMAIL_TMPDIR" + exit 2 + endif + endif if (! $?FTP) then set FTP=ftp