"Craig A. Berry" <[EMAIL PROTECTED]> writes:
> At 8:12 AM -0500 3/16/00, lane @ DUPHY4.Physics.Drexel.Edu wrote:
> >"Craig A. Berry" <[EMAIL PROTECTED]> writes:
> >> As I reported earlier, taint.t was failing at test 10. The reason
> >> has to do with how /tmp is now handled by the C RTL. The test would
> >> determine that /tmp is a world-writeable directory, which is true for
> >> recent versions of the C RTL that treat /tmp as sys$scratch.
So /tmp gets translated to sys$scratch "internal" to the CRTL, no logicals,
no hint that it's happening? Hmm... Well, in that case it's sys$scratch
we need to test.
> >Well, I don't know about you, but I *don't* have sys$scratch: pointing
> >to a "world" writable directory. That would be unusual on VMS.
> >Writable by the owner, yes. Writable by the world, no. Gets around
> >a lot of the "files in /tmp security holes" on Unix :)
...
> Imagine my consternation, though, in finding out that my sys$scratch has
> w:rwed access! Ouch. That's gonna change right now, and further
> enhance my reputation as the one whose job is not to manage the
> system but to annoy those who do ;-).
:) :) :)
If you were using VMS back in the days of a globe-spanning DECnet,
having a WORLD-writable directory meant just that:
KREMVAX> COPY WAREZ.EXE YOURVAX::USERDISK1:[CBARRY.SCRATCH]
> >It may make more sense to have t/op/taint.t "vmsify" directories
> >before putting them into DCL$PATH, and the list of directories to
> >try shouldn't need changing.
> Sounds good, but look what happens when you vmsify /tmp:
> $ perl -e "use VMS::Filespec; print vmsify('/tmp');
> tmp:[]
Hmmm...it could be that VMSify should know about the "/tmp" -> "sys$scratch:"
convention of recent CRTLs. The translation you show is perfectly correct
for a typical "logical name for a device"...but if CRTL is playing
games internally we get a rather obnoxious inconsistency.
> Perhaps that's what we want, though, since that will be rejected as a
> writeable directory (as long as you don't have a tmp logical) and it
> will proceed down the list to /sys$scratch, which vmsify will translate:
> $ perl -e "use VMS::Filespec; print vmsify('/sys$scratch');
> DISK8:[BERRYC]
I'd say (1) do a vmsify on the stuff put into DCL$PATH and (2) modify
vmsify to know about /tmp on those CRTL versions that change it for you.
We can do (1) right now, and leave (2) until we figure out exactly what's
needed. Probably more games to play and switches to set in SUBCONFIGURE,
unless there's some way to test it "on the fly".
Does something like TEMP, TMP, /tmp, etc. show up in getenv? Things
like HOME (->SYS$LOGIN) do...and I guess vmsify should know about them
too...
--
Drexel University \V --Chuck Lane
----------------->--------*------------<[EMAIL PROTECTED]
(215) 895-1545 / \ Particle Physics [EMAIL PROTECTED]
FAX: (215) 895-5934 /~~~~~~~~~~~ [EMAIL PROTECTED]