On Sat, 9 May 1998, David W. Tamkin wrote:
With Smail setting EXITCODE to anything nonzero is no different from setting
it to zero
Hmmm. I'm looking at the Smail source (3.2 #101; WWA looks like they're
running #88...tell them to upgrade ;-), and it looks like there is
actually an option to IGNORE the status returned by the child, and this is
enabled by DEFAULT. To wit from the source:
* ignore_status: if set, ignore the exit status of the
* child process. Otherwise complain if it is non-zero.
* ignore_write_errors: if set, ignore write errors. Otherwise
* complain about them.
* defer_child_errors: generally, only child failures from the
* signal SIGTERM are retried. If this is set, then retries
* are performed if the exit code is non-zero, or if the
* write failed on the pipe.
* status_to_sender: if set and the exit status of the child process
* is non-zero, then report back to the sender. This interacts
* with the ignore_status flag which controls reporting of error
* status to the postmaster.
You've got a few (scary) options here: ignore_status, which is the
equivilent of what is happening with your system, along with
defer_child_errors, which appears to, by default, simply bounce on a child
error. "ignore_write_errors" is just plain dangerous; you could end up
with munged mail if this is set. And "status_to_sender" and
"ignore_status" could result in your mail being silently lost forever,
from what I can tell.
Why on earth would someone run brain-damaged software like this? Can
anyone actually using SMail in the real world comment on this?
--
-------------------. emarshal at logic.net .---------------------------------
Edward S. Marshall `-----------------------' http://www.logic.net/~emarshal/
Spammers: Please email my blacklisting service at
"spam(_at_)logic(_dot_)net".