IP_SRCROUTE

Add IP source-routing to $_ Tune with confENVDEF

Mail is normally transported over networks with TCP/IP. At the IP layer, packets are usually constructed to be point-to-point—from one host to another. IP packets can also be constructed to contain source-routing information—from one host, through a second, then to a final host.

Although such source routing (when used) is generally legitimate, it can also be used to generate fraudulent mail. V8.7 and above sendmail attempt to extract source-routing information from the initial connection’s IP information. If any is found, sendmail adds that information to the $_ defined macro ($_ on page 801) for use in the Received: header (Received: on page 1162). The $_ defined macro is usually used like this:

Received: from $s ($_) ...

where $_ will contain information such as the following when IP source-routing information is found:

IP source-routing information
             ↓
 user@host.domain [!@hostC@hostB:hostA]
  ↑
 RFC1413 identd information

IP source-routing information is presented inside square brackets. If routing is strict, the information is prefixed with an exclamation mark. The format of the information is made to resemble that of source-route addressing (see also the DontPruneRoutes option, DontPruneRoutes on page 1024). In this example, the IP packets will go first to hostC, then to hostB, and finally to hostA.

The inclusion of code to support this reporting is determined by the IP_SRCROUTE definition in your Build m4 file:

APPENDDEF(`confENVDEF', ...

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.