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
$1
to rule set 96 and then to look up the result in theuucp
database map. Instead, the literal value 96 and the value in$1
are looked up together and fail first. Then$1
is 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 fortmpfs
until Solaris 2.5.Avoid assuming that all
K
command 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.2
debugging switch (-d38.2 on page 564).The sendmail program automatically creates certain database maps as it needs them. This is done without the need to declare them with a
K
configuration command. For example, consider the following mc configuration line:define(`ALIAS_FILE', `/etc/mail/aliases')
When sendmail encounters this
AliasFile
option (AliasFile on page 970) 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
Get sendmail, 4th Edition now with the O’Reilly learning platform.
O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.