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
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. - The
%s
of IDA sendmail databases will not work as is with V8 sendmail. To make it work, replace it with a%1
throughout the IDA source file, then reverse the keys and values, and finally recreate the database file. This conversion can easily be automated with sed(1) or awk(1). - 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 file systems. File locking was not implemented fortmpfs
until Solaris 2.5. - Avoid assuming that all
K
command switches mean the same thing for all classes. The ad hoc nature of class 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 (see -d38.2).