home | O'Reilly's CD bookshelfs | FreeBSD | Linux | Cisco | Cisco Exam  


Previous Section Next Section

EX_CONFIG

A configuration error sendmail exit value

The EX_CONFIG exit value (the value 78) means that a fatal configuration problem was found, but this does not necessarily mean that the problem was found while reading the configuration file. Failure of a delivery agent to function correctly can lead to this kind of failure:

  • During delivery, when a rule set 0 selection of a delivery agent fails to specify a host with the $@ part (Section 19.5), the following error is logged and the fork(2)'d child exits with EX_CONFIG:

    null hostname for mailer
  • During delivery, when $u appears in the argument list for an SMTP delivery agent (See this section), sendmail logs the following error and the fork(2)'d child exits with EX_CONFIG:

    non-clever IPC
  • During delivery, when an attempt is made to use an SMTP delivery agent with a version of sendmail that was compiled without SMTP support (SMTP), sendmail logs the following error and the fork(2)'d child exits with EX_CONFIG:

    deliver: need SMTP compiled to use clever mailer

Some apparent DNS errors are really configuration problems. In the following error, hostB is an MX record that points back to your host. The problem is that your host doesn't know that it should be accepting mail for hostB. The solution is to add hostB to your local $=w class ($=w):

MX list for hostB points back to ourhost  

When sendmail processes MX records, it skips any records of absurd length and logs the following message:

Host name ourhost too long

You should never set up DNS so that an MX record points to a CNAME record. If you ever do, the result can be serious. The first CNAME can point to a second, the second to a third, and so on. If this list is longer than the number defined by MAXCNAMEDEPTH in domain.c, the result is the following error:

DNS failure: CNAME loop for bad hostname here

Errors in rule sets are sometimes found only during actual rewriting, and they too yield errors:

illegal ruleset number bad number here
rewrite: excessive recursion (max max), ruleset bad number here
rewrite: ruleset num:replacement$digitout of bounds
Unknown ruleset bad name here

The solutions to rule set problems should be obvious. See Chapter 19 for guidance.

Note that the EX_CONFIG and EX_SOFTWARE (discussed later) cause the local postmaster to get a copy of the message on the presumption that local errors can only be fixed locally.

    Previous Section Next Section