Christoph Anton Mitterer:
> Hi.
> 
> Is there somewhere some documentation how each of the exit codes from  
> sysexit.h is interpreted by Postfix when used with pipe(8) (returned  
> e.g. by maildrop)?

I naively assume that the sysexits.h names speak for themselves.

> I just now the EX_TEMPFAIL means that mail is defered, and I assume  
> EX_UNAVAILABLE leads to a bounce.
> 
> What about the others?

EX_TEMPFAIL defers mail, as does EX_OSERR (system resource not
available). All others are hard coded as non-retryable. Making this
configurable is a couple hours of work (design a user interface,
implement the code, test the code, preferable with an automated
test that exercises all the cases, document the user interface).
The current mapping is in global/sys_exits.c.

> But generally, if the exit status != 0 Postfix first looks at (I  
> assume) the first line of stdout and interprets "4.X.X or 5.X.X" as  
> said in the manpage. If found, the EX_* are not interpreted, right?

That behavior is documented in the pipe(8) and local(8) manpages,
in the paragraphs that discuss RFC 3463 enhanced status codes. If
there is anything not correct in that text then I am sure you will
post an improvement.

        Wietse

Reply via email to