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


Previous Section Next Section

-d60.1

Trace database map lookups inside rewrite( ) Debug command-line switch

Rules defined by the R configuration command are rewritten by sendmail's internal rewrite( ) subroutine. The $[ and $( lookup operators (Section 23.4.3 and Section 23.4) cause sendmail to look up keys in database maps.

If sendmail is running in deferred mode (DeliveryMode), it might skip some database map lookups because they might take time to complete (as with DNS, NIS, etc.). The -d60.1 (a.k.a. -d60) debugging switch causes sendmail to print that it is skipping the lookup:

map_lookup(dbtype, key) => DEFERRED

Here, dbtype is the database map type, such as dequote or host. The key is the information being looked up.

If running in something other than deferred mode, sendmail performs the lookup. If the lookup fails (if key is not found), sendmail prints:

map_lookup(dbtype, key) => NOT FOUND (stat)

Here, stat is the number of the error that caused the failure. If it is 0, the lookup failed merely because the key was not found. Otherwise, it corresponds to the error numbers in <sysexits.h>. Then, if stat is the special value 75 (for EX_TEMPFAIL), sendmail also prints:

map_lookup(dbtype, key) tempfail: errno=err  

Here, err is the error number that corresponds to the errors listed in <errno.h>.

If the key is successfully found, sendmail prints:

map_lookup(dbtype, key) => replacement  value here (stat)

Note that the replacement value will be whatever value was defined by the -a database switch when the K configuration command defined the database map (-a).

    Previous Section Next Section