O'Reilly sendmail Book, 3rd Edition Errata

Fine Print: All text herein reproduced from the book is Copyright 2003 Bryan Costales (The 1st and 2nd editions Copyright 1997, 1998 O'Reilly & Associates, Inc.) All rights reserved. All new and added text is Copyright 1998-2006 Bryan Costales. All rights reserved.

Note that important items are highlighted in red. Also note that, each time new items are added to this errata, the issue number will be bumped to the next letter.

Issue letter "A" published in October 2003
Issue letter "B" published in December 2003
Issue letter "C" published in January 2004
Unlettered minor corrections to Errata in April 2004
Issue letter "D" published in March 2005

Page Section Issue What To Change
all all A Change all references to 8.12.7
Into references to 8.12.10
xxiv none A In the last paragraph
Change Niel Rickert
Into Neil Rickert
6 1.5.1 B In the last example on the page, insert an empty line between the last two lines of the example,
Change To: you
This is a one-line message

Into To: you

This is a one-line message
25 1.7.6 B In the fourth paragraph on the page, the one that ends with "the local date and time,"
Change It must also state that....
Into It may also state that....
41 2.2 A In the first example on the page,
Change Subject: MGET Allman
Into Subject: GET Allman
101 3.2 A In Table 3-2, at item "SLEEP_T",
Change sleep2
Into sleep(2)
125 3.4.40 A In first example of section, prefix quotes with backslashes,
Change `-D_PATH...="/new/path/filename"'
Into `-D_PATH...=\"/new/path/filename\"'
In second example of section, prefix quotes with backslashes,
Change `-D_PATH_SENDMAILCF="/src/tests/test.cf"'
Into `-D_PATH_SENDMAILCF=\"/src/tests/test.cf\"'
In fourth example of section, first line, prefix quotes with backslashes,
Change `-D_PATH_VENDOR_CF="/src/tests/test.cf"'
Into `-D_PATH_VENDOR_CF=\"/src/tests/test.cf\"'
135 3.4.53 A In second from last sub-paragraph in the section,
Change The SM_IO_MAX_BUF macro
Into The SM_IO_MAX_BUF_FILE macro
142 3.4.69 A In the only example in the section, backslash quotes,
Change -DUDB_DEFAULT_SPEC="/var/db/userdb.db"
Into -DUDB_DEFAULT_SPEC=\"/var/db/userdb.db\"
148 4.1.3 B In the first sentence of the section,
Change ... by a right parenthesis, it ...
Into ... by a left parenthesis, it ...
165 4.5.1 A In the second example in the section, and in the sentence following that example (two places),
Change relayhost
Into relay_host

Also in the last paragraph on the page,
Change FEATURE
Into feature
176 4.8.4 A In the 3rd paragraph of section,
Change ... possibly as an address somewhere out on the Internet),
Into ... might show up as a user part with a host part from an arbitrary Internet site),
190 4.8.25 A In the second line of the last example,
Change remains -> george@our.domain
Into remains -> george@host.her.domain
193 4.8.29 A In the section subtitle,
Change through V8.9
Into through V8.8

And in the first sentence of the section,
Change but as of V8.10
Into but as of V8.9
194 4.8.30 A At the end of the last sentence of the second paragraph,
Change ... the role of an MSA.
Into ... the role of an MSA connecting to that port.
289 7.1.1 A In the rule set in the middle of the page, insert a new rule set just above the one that begins with "R IPv6 : $+",
Add R $-.$-.$-.$- $: $(badhosts $1.$2.$3 $) look up network
293 7.1.3 A In the last example on the page change $@ into $#,
Change $@ OK
Into $# OK
297 7.2.2 A In the second and fourth examples (two places) in the section, add a dot following the 3,
Change `127.0.0.3'
Into `127.0.0.3.'
298 7.2.2 A In the first example on the page, add a dot following the 3,
Change `127.0.0.3'
Into `127.0.0.3.'

In the second example on the page, add a dot following the $-,
Change `127.0.0.$-'
Into `127.0.0.$-.'

In the third example on the page, add a dot following the $={OneTwoThree},
Change `127.0.0.$={OneTwoThree}'
Into `127.0.0.$={OneTwoThree}.'
299 7.3.1 A In the last example on the page, in the second from last line of the example (in the first rule), add the letter r,
Change curHeader
Into currHeader
299 7.3.1 D In the last example on the page, in the last line of the example (in the second rule),
Change "553 Subject:" $2
Into "553 Subject:" $1
321 7.5.7 A In the section heading, in the last line of the first paragraph, and in the second line of the first example (three places),
Change check_compat
Into compat_check
323 7.5.7 A In the second example on the page (last in the section),
Change Don't mail to nill
Into Don't mail to bob
325 7.6.2 A In the last example on the page, make "badequate" italic,
Change unknown filter equate badequate
Into unknown filter equate badequate
348 8.5.6 A In the last paragraph in the section (second from last on page),
Change Rule set EnvToSMTP (line 5) is called because that rule set was indicated by the esmtp delivery agent's R= equate. That rule set detects that the envelope recipient address (you) is local (line 3). Rule set final (always the last to rewrite) sees the special tag *LOCAL* and converts that tag to the canonical name of your local machine (line 4).
Into Rule set EnvToSMTP (line 4) sees the special tag *LOCAL* and converts that tag to the canonical name of your local machine. Rule set final (line 5) removes focusing from the address, thus forming the final address in its canonical form.
373 9.4 A In Table 9-1, for the "soa" entry,
Change Site of Authority record
Into Start of Authority record
376 9.5.2 A In the footnote, second sentence,
Change ... with a large TTL in the SOA
Into ... with a large TTL for the SOA
407 10.9.1 A At the end of the first sentence in the fourth paragraph on the page,
Change ... install the Kerberos package.
Into ... install the DES library.
408 10.9.1 A Last line of second paragraph on the page,
Change the Cyrus SSL source directory.
Into the Cyrus SASL source directory.
411 10.9.3 D Last example in section,
Change DAEMON_OPTIONS(`F=a')
Into DAEMON_OPTIONS(`M=a')
430 none A At the start of the second line of the second bullet,
Change RFC2824
Into RFC2821
449 11.4.5 A In the third example on the page, add a new rule above the existing rule,
Change
R $* <@some.domain>          $# somegroup 
Into
R $*                         $: $>canonify $1
R $* <@some.domain>          $# somegroup 
490 12.1.3 D Second line of the second example ot the page,
Change
MODIFY_MAILER_FLAGS(`smtp', `+A')
Into
MODIFY_MAILER_FLAGS(`SMTP', `+A')
502 12.4.5 A Last sentence of second paragraph on page,
Change Too illustrate, revisit ...
Into To illustrate, revisit ...
536 14.3.2 A In the last line of the last example on the page (because there is no "emerg" in Table 14-2,
Change *.emerg,user.none
Into *.alert,user.none
557 15.5.2 A The third paragraph from the bottom, change the first two sentences, and the first two words of the third sentence,
Change You should never set up DNS so that an MX record points to a CNAME record. If you ever do, the result can be serious. The first CNAME ...
Into When sendmail looks up a CNAME record, that CNAME ...
558 15.5.3 A The last word in the last sentence of the section is wrong,
Change EX_CONFIG
Into EX_IOERR
613 16.6.40 B In line seven of the section,
Change If the configuration file is not being read and if
IntoIf the header line is not read from the configuration file and if
631 17.3 B In the last example on the page,
Change DM16\[#megs]
IntoDM16\#megs
694 19.9.3 B In the first sentence of the second paragraph in this section,
Change a DSN 2.1.1, the
Intoa DSN 2.1.5, the
706 20.4.2 A In the first line,
Change Cyrus V1 IMAP
Into Cyrus V2 IMAP
732 20.5.8 B In the second line of last example on the page,
Change nbytes bytes max>
Into nbytes bytes max
739 20.5.15 B In Figure 20-2,
Change In the figure, swap the "1" box with the "2" box, and swap the "S=" box with the "R=" box so that the "1" box and "S=" box are at the top, and so that the down arrow under "delivery agent" points to the "S=" box.
755 20.8.21 B In the first line of the example in this section,
Change H?D?Re-sent-Date: $a
Into H?D?Resent-Date: $a
757 20.8.25 B In the first line of the example in this section,
Change H?D?Re-sent-From: $q
Into H?D?Resent-From: $q
761 20.8.35 B In the first line of the example in this section,
Change H?D?Re-sent-Message-ID: <$t.$i@$j>
Into H?D?Resent-Message-ID: <$t.$i@$j>
772 21.2 B First line of example on the page,
Change -MXsurprise!me <- /! is special for the C shell
Into -MXsurprise\!me <- ! is special for the C shell
780 21.5.3 B In the second example on the page,
Change smtp@hub<user >
Into smtp @ hub < user >
801 21.9.27 B In the only example in this section,
Change Sun Dec 26 01:03:52 2003\n\
Into Sun Dec 26 01:03:52 2003\n
828 21.9.86 C In the description for $t
Change The current time in seconds
Into The current time in the form YYYYMMDDHHmm
871 23.3.13 C The second sentence of the first paragraph
Change Consider NFS
Into Consider NIS
963 24.9.24 C The first sentence following the second example in the section.
Change Nine
Into Eight
966 24.9.24.7 C In the first sentence and the example of this section
Change ReceiveSize
Into ReceiveBufSize
966 24.9.24.8 C In the first sentence and the example of this section
Change SendSize
Into SendBufSize
965 24.9.24.4 A In Table 24-15, the "h" item's description is wrong,
Change Use name associated with the connecting interface for HELO command or for the initial greeting.
Into Ignored by the daemon
985 24.9.36.19 C The last line of the example is wrong.
Change *[sendmail_release]
Into 8.12.10
1051 24.9.99 C In the first example on the page:
Change path=
Into path
1058 24.9.109 A In the first example, the third line beginning "define",
Change conTO_keyword
Into confTO_keyword
1088 25.4.1 A In the first example on page, the fifth line beginning "C",
Change C{persistentMacros} {dsn_envid}
Into C{persistentMacros} {MsgId}
1093 25.5.1.1 C Second line of last sentence in section,
Change greater than 199
Into greater than 200
1095 25.5.3 C The last two sentences in the third pargraph from the end of the page, remove "or" in two places,
Change If it is, this rule will return TRUE, or a $| and $2 in the workspace. Otherwise, it will return FALSE, or a $| and $2.
Into If it is, this rule will return TRUE, a $| and $2 in the workspace. Otherwise, it will return FALSE, a $| and $2.
1096 25.5.3 C Second line of page,
Change greater than 9999
Into greater than 10000
1101 25.6.16 C Second from last line in section,
Change on the presence of the
Into on the absence of the
1103 25.8.1 C First sentence of second paragraph,
Change The Return-Path: header is added only if it is not already present, and if...
Into The Return-Path: header is removed if present, and is only added if...
1112 25.12.8 C First example in section,
Change Content-Disposition: paramater=value...
Into Content-Disposition: type; paramater=value; ...
1112 25.12.8 C First sentence following first example in section,
Change by one or more space
Into by a semicolon and one or more space
1116 25.12.18 C First sentence following the second example,
Change specifies destination mailboxes
Into specifies sender mailboxes
1140 Appendix A B In Table A-1, item "FEATURE(use_ct_file),"
Change the /etc/mail/trusted-users> or the
Into the /etc/mail/trusted-users or the
1163 Appendix D B In the fourth paragraph on the page,
Change ... that V8.8 sendmail ...
Into ... that V8.8 and above sendmail ...
1166 Appendix D B In the fifth line on the page,
Change The four most interesting are:
Into The five most interesting are:
1177 Biblio A The entry for RFC2554,
Change Secure SMTP over TLS
Into Authentication

The entry for RFC2487,
Change ... 1999, 8pp.
Into ... 1999, 8pp. (replaced by RFC3207)

$Id: book3_errata.php,v 1.1.1.1 2006/10/11 20:45:19 eric Exp $