8 * sendmail, subroutine calls can appear anywhere inside the
RHS, and there can be multiple subroutine calls. Consider the same RHS as shown
earlier:
$>22 xxx $>23 yyy
Beginning withV8.8 sendmail, rule set 23 is called first and is given the workspace
yyy to rewrite. The workspace, as rewritten by rule set 23, is added to the end of the
xxx, and the combined result is passed to rule set 22.
Under V8.8 sendmail, subroutine rule set calls are performed from right to left. The
result (rewritten workspace) of each call is appended to the RHS text to the left.
You should beware of one problem with all versions of sendmail.When ordinary text
immediately follows the number of the rule set, that text is likely to be ignored. This
can be witnessed by using the -d21.3 debugging switch.
Consider the following RHS:
$>3uucp.$1
Because sendmail parses the 3 and the uucp as a single token, the subroutine call succeeds,
but the uucp is lost. The -d21.3 switch illustrates this problem:
-----callsubr 3uucp (3) ?†? sees this
-----callsubr 3 (3) ?†? but should have seen this
* Using code derived from IDA sendmail.
This is the Title of the Book, eMatter Edition
Copyright ?© 2007 O??™Reilly & Associates, Inc. All rights reserved.
18.7 The RHS | 667
The 3uucp is interpreted as the number 3, so it is accepted as a valid number despite
the fact that uucp was attached.
Pages:
1148
1149
1150
1151
1152
1153
1154
1155
1156
1157
1158
1159
1160
1161
1162
1163
1164
1165
1166
1167
1168
1169
1170
1171
1172