-----BEGIN PGP SIGNED MESSAGE-----
Hash: RIPEMD160
Ken Moffat wrote:
> But, I'm half expecting that anything using tempfile will fall back
> to even-less-safe predefined file names if tempfile is either not
> present or if it returns an error.
Yeah, it wouldn't surprise me either. But I've done a bit of checking
into scripts:
find {,/usr}/{,s}bin -type f -exec sh -c "file {} | grep text | grep \
- -viq perl && grep tempfile {} /dev/null" \;
to see if any scripts (i.e. text files) include the "tempfile" string.
(The /dev/null is there so grep actually prints a filename; there's
probably a better way to do that, but whatever. It filters out Perl
because there are lots of references to its tempfile function in Perl
scripts.)
I've found a few, mostly false positives:
- ----
/sbin/generate-modprobe.conf: Calls mktemp first, and tempfile if mktemp
fails (and uses a name based on PID if tempfile fails).
/usr/bin/updatedb: Prints "tempfile failed" if the mktemp call fails.
(Yes, it has the wrong program name. Oh well.)
/usr/bin/tempfile: Going away, doesn't matter.
/usr/bin/vimtutor: Similar to generate-modprobe.conf: calls mktemp
first, calls tempfile if that fails, and uses "none" if *that* fails.
/usr/bin/mysqlaccess: Perl script. File thinks it's an awk script,
though, so the grep -v doesn't kill name.
/usr/sbin/grub-install: Checks whether /bin/tempfile is executable
*first*, then /bin/mktemp, and uses names based on the script's PID if
neither is executable. (I think we should patch this anyway: if nothing
else, to look in /usr/bin as well as /bin. But preferably to look for
mktemp first, as well.)
- ----
Other than grub-install, it looks like all the scripts on my system will
work fine. (I'm not sure on compiled programs. But I'd hope that those
would use the C library mkstemp function instead.)
(Although I should note that this isn't an LFS system. It's an x86_64
CLFS 1.0.0rc4 (hey! I needed multilib! :-P) with a good number of
packages from BLFS, and a few from beyond BLFS. I'd say it might be a
good idea for someone else to re-run the test on their machine if
they're running a relatively recent LFS.)
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.7 (GNU/Linux)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org
iD8DBQFHFstmS5vET1Wea5wRAzWzAJ9vyGoOcVsivgS8umGli74tNwDmAACfVB2c
N7crUvFmT0AAevaFxIN/CXE=
=HAUt
-----END PGP SIGNATURE-----
--
http://linuxfromscratch.org/mailman/listinfo/lfs-dev
FAQ: http://www.linuxfromscratch.org/faq/
Unsubscribe: See the above information page