Pitfalls
The result of a subroutine call cannot be looked up directly in a database map. Consider this RHS of a rule:
$(uucp $>96 $1 $)
Here, the intention is to pass
$1to rule set 96 and then to look up the result in theuucpdatabase map. Instead, the literal value 96 and the value in$1are looked up together and fail first. Then$1is passed to rule set 96, and the result of that subroutine call becomes the result of the RHS.If you are running a Solaris 2.4 or earlier release of Sun’s operating system, your database files should not live on
tmpfs-mounted filesystems. File locking was not implemented fortmpfsuntil Solaris 2.5.Avoid assuming that all
Kcommand switches mean the same thing for all types. The ad hoc nature of database-type submissions by outsiders makes that assumption perilous.Not all initialization errors or lookup errors are reported. For some of them you will see an indication of an error only if you use the
-d38.2debugging switch (-d38.2).The sendmail program automatically creates certain database maps as it needs them. This is done without the need to declare them with a
Kconfiguration command. For example, consider the following mc configuration line:define(`ALIAS_FILE', `/etc/mail/aliases')
When sendmail encounters this
AliasFileoption (AliasFile), it automatically creates the aliases.files database map so that it can easily look up aliases. sendmail automatically creates the following database maps: aliases.files, aliases.nis, aliases.nisplus
Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.
Read now
Unlock full access