summaryrefslogtreecommitdiff
path: root/mail/metamail/patches/patch-aj
blob: 988ac6c9caab67569bfe04e16b02ef6266036599 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
$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