Re: File::Temp::_gettemp warning
| Newsgroups | perl.perl5.porters,perl.daily-build |
|---|---|
| Message-ID | <[email protected]> |
On Wed, Feb 21, 2001 at 01:17:49PM -1000, Tim Jenness wrote: > > This can be solved by using t/tmp instead of File::Spec->tmpdir. > > t/lib/ftmp-security.t can create t/tmp and chmod it the way it likes, > > then run tempfile() with it as the DIR. At the end, it can delete it. > > > > Only partly. We've thought of this before but HIGH security involves > testing all the parent directories not just the one containing the > directory itself. t/tmp will not fix the problem if the parent dir is > "unsafe". Crap. This is one of those odd cases where it seems necessary to almost totally reimplement the code in order to test it. Damn, chroot() would solve this, but its root-only. Well, you could add a test which tries to chroot to t/ if the test is run as root. Ok, I'd say that doing a test for a safe temp directory under HIGH security is right out for the discussed reasons. However, we can do a test for an *unsafe* temp directory under HIGH security. Simply create a ringer in t/tmp and make sure File::Temp rejects it properly. Something that tests the dir-walking properties of _is_very_safe(), like: t/tmp/safe/safe/unsafe/safe/safe/ -- Michael G Schwern <[email protected]> http://www.pobox.com/~schwern/ Perl6 Quality Assurance <[email protected]> Kwalitee Is Job One