Chapter 18. The R (Rules) Configuration Command
Rules are like little if-then clauses[23] that exist inside rule sets, which test a given pattern against an address and change the address if the two match. The process of converting one form of an address into another is called rewriting. Most rewriting requires a sequence of many rules because an individual rule is relatively limited in what it can do.
What’s New with V8.13
There is only one change in rules in V8.13:
Balancing of special characters in rules is no longer checked when the configuration file is read (Section 18.1.1 [V8.13]).
Rules No Longer Need to Balance
Prior to V8.13, special characters in
rules were required to balance. If they
didn’t, sendmail
would issue a
warning and try to make them balance.
SCheck_Subject R ----> test <---- $#discard $: discard
When a rule such as the above was read by
sendmail
(while parsing its
configuration file), sendmail
would issue the
following warning:
/path/cffile
: linenum
: ----> test <----... Unbalanced '>'/path/cffile
: linenum
: ----> test <----... Unbalanced '<'
Thereafter, sendmail
would rewrite this rule
internally to become:
R <----> test ---- $#discard $: discard
Clearly, such behavior made it difficult to write rules for parsing header values and for matching unusual sorts of addresses. Beginning with V8.13 sendmail, rules are no longer automatically balanced. Instead, unbalanced expressions in rules are accepted as is, no matter what.
The characters that were special prior to V8.13 ...
Get sendmail 8.13 Companion 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.