On Sun, 07 Mar 2004, 18:38 GMT-06 (01:38 local time) David W. Tamkin
wrote:
The compilation procedure for procmail checks whether there is an
executable named "test" in the default $PATH. If there isn't, then
procmail will invoke $SHELL whenever test is invoked so that the shell
can handle "test"; in effect, the word "test" is treated like a
character in $SHELLMETAS.
That's why Robert saw spaces instead of commas in the log when procmail
had to call test.
Thanks a lot David for making that clear! This was in fact the problem
which is now solved. The system in question (Red Hat's GNU/Linux 6.2)
actually has test residing in /usr/bin:
# find /usr -name test
/usr/doc/lynx-2.8.3/test
/usr/doc/ncurses-devel-5.0/test
/usr/bin/test
/usr/src/redhat/BUILD/qpopper4.0.4/mmangle/test
/usr/src/redhat/BUILD/qpopper4.0.4/test
/usr/src/redhat/BUILD/qpopper4.0.4/test/out/test
and that directory *is* in the path, both in the root's and in the
user's one:
# echo $PATH
/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/usr/X11R6/bin:/root/bin:/sbin:/usr/sbin
$ echo $PATH
/usr/local/bin:/bin:/usr/bin:/usr/X11R6/bin:/home/roal/bin
Anyway, assigning
TEST = /usr/bin/test
in procmailrc and changing my code from
* $ ! ?"test -d $VIRUSDIR/EXE"
to
* $ ! ?"$TEST -d $VIRUSDIR/EXE"
did it:
procmail: Executing "/usr/bin/test,-d,/home/roal/mail/TRASH/viruses/EXE"
OK, now it works as expected, but the reason for that behaviour is
still kind of strange for me.
rob.
_______________________________________________
procmail mailing list
procmail(_at_)lists(_dot_)RWTH-Aachen(_dot_)DE
http://MailMan.RWTH-Aachen.DE/mailman/listinfo/procmail