blob: 1143f6cc2bb29dafdaba25150c93573ab4128de2 (
plain) (
blame)
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
53
54
55
56
57
58
59
|
Index: lib/env.tcl
===================================================================
RCS file: /cvsroot/exmh/exmh/lib/env.tcl,v
retrieving revision 1.1
retrieving revision 1.3
diff -c -r1.1 -r1.3
*** lib/env.tcl 1998/05/05 17:55:23 1.1
--- lib/env.tcl 2001/01/16 02:07:46 1.3
***************
*** 34,44 ****
}
# Init TMPDIR
! if [info exists env(EXMHTMPDIR)] {
set env(TMPDIR) $env(EXMHTMPDIR)
}
! if {![info exists env(TMPDIR)] || ![file isdirectory $env(TMPDIR)]} {
! set env(TMPDIR) /tmp
}
# Make sure MH is on the path
--- 34,45 ----
}
# Init TMPDIR
!
! if {[info exists env(EXMHTMPDIR)]} {
set env(TMPDIR) $env(EXMHTMPDIR)
}
! if {![info exists env(TMPDIR)]} {
! set env(TMPDIR) /tmp/$env(USER)
}
# Make sure MH is on the path
***************
*** 58,63 ****
--- 59,80 ----
proc Env_Tmp {} {
global env
+
+ # Doing this every time we use the temp file directory ensures
+ # no-one steals it without the user knowing it.
+
+ if {[catch {
+ file mkdir $env(TMPDIR)
+ if {$env(TMPDIR) != "/tmp"} {
+ file attributes $env(TMPDIR) -permissions 0700
+ }
+ } err]} {
+ puts $err
+ catch {puts stderr "WARNING: exmh using unsafe /tmp directory"}
+ Exmh_Status "WARNING: exmh using unsafe /tmp directory" red
+ set env(TMPDIR) /tmp
+ }
+
return $env(TMPDIR)
}
|