sendmail, 2nd edition by Bryan Costales with Eric Allman Here are the changes from the 10/97 reprint: {17}: Section 2.4, 2nd paragraph, 2nd sentence of paragraph: change "source files and copies an appropriate Makefile there." to "source files and to an appropriate Makefile." {101}: Page 101, Section 9.4, Last example on page: insert a "0" into: > boss@acme To form: > 0 boss@acme {145}: footnote: added ", because the address arrives there unquoted" to the end. (151): Section 14.1.2, last sentence in section: changed "These three items" to "These items" {156}: Section 14.4, paragraph heading "bulk": changed "delivered, throw it away instead of bouncing it." to "delivered, the message body is discarded from the bounced mail." In paragraph heading "junk" changed: "it is discarded rather than bounced." to "the message body is discarded from the bounced mail." (157): started in a different place (163): Section 15.2, 3rd sentence. Changed "can be accessed, copied, or possibly removed" to "can possibly be accessed, copied, or removed" {169}: Section 15.4: deleted the entire paragraph that begins with "Again, your local machine is recognized..." {171}: under "Things to Try": deleted the last sentence ("Determine the value...") (174): Section 16.2.1, line 1: changed "willdiffer" to "will differ" {175}, Section 16.2.3, second sentence of second paragraph: changed "sendmail" to "m4(1)" {184}: Section 17.1.4, 4th paragraph. Changed the second sentence from "Everything to the left of the rightmost exclamation point is taken as the full UUCP path for delivery." to "The host to the left of the leftmost exclamation point is taken as the next hop in the UUCP path for delivery." Plus, in the 3rd sentence, changed "path" to "host". (187): Section 17.3, 4th paragraph, changed "List;:" to "List:;" (195), Section 18.3, last sentence on page: changed "the distribution" to "a pre-V8.6 distribution" {196}: Section 18.3, replaced the line: and certify that key with his PGP fingerprint: with this new text (here's the troff): For V8.6 and above, you down-load a special \fIsigning key\fR from \fIwww.sendmail.org\fR, instead of Eric's key. The fingerprint for the \fIsigning key\fR is: .Ps \f(CWCA AE F2 94 3B 1D 41 3C 94 7B 72 5F AE 0B 6A 11\fR .Pe The fingerprint for Eric's key is: (197), Section 18.3.1, entire section: changed all references to "8.7" into "8.8.6" and all references to "8.7.1" into "8.8.6". (207), table 18-3, line "NEED_", changed "Tort" to "Port" (227), Section 18.8.34, end of first paragraph, changed "-D_PATH_VENDOR_CF" to "-D_PATH_SENDMAILCF" and the 1st example to (in troff) ENVDEF= -D_PATH_SENDMAILCF=\"/src/tests/test.cf\ Deleted the paragraph following the example, the one that begins with "The USE_VENDOR_CF_PATH tells..." {252}, Table 19-6, in the line "FEATURE(allmasquerade)": changed "The sender too" to "The recipient too" {259}, Section 19.6.8, 5th paragraph, changed: The list of domains is added to the class $=B, and the members of that class are looked up in place of those in $=w. to: The list of domains is added to the class $=B. Only hosts in those domains are allowed to list your site as the best MX record for use with this feature. {259} last sentence on page: changed "sex.your.real.domain" to "sex.bogus.site.com" twice (266), Section 19.6.15, last sentence in section. Changed "Finally, note that this feature handles only incoming mail." to "But note that the virtusertable feature handles only incoming mail." ("virtusertable" is in CW) (273), Section 19.6.27, 3rd paragraph, last sentence. Changed "transform pathalias's output into" to "transform the UIUC pathalias(1) program's output into" {277}, Section 19.6.35, last sentence of first paragraph, changed "rule set 6 (with $>6) before returning." to "rule set 96 (with \f(CW$>96\fR) before returning." {282}, Section 19.6.46, paragraph 6, sentence 2, changed "The class $=W is set aside to hold lists of locally connected hosts that will later be declared with site." into "The class $=W is set aside to hold lists of hosts that appear locally connected. This class is also used with the SITE macro." with "$=W" in CW font (283): started in a different place (287), Section 20.1.2: changed "checkcompat" to "checkcompat()" (288): started in a different place (290), Section 20.2.2, added a right parenthesis to the end of: if (!bitnset(M_LOCALMAILER, to->q_mailer->m_flags) To form: if (!bitnset(M_LOCALMAILER, to->q_mailer->m_flags)) {293}, Section 19.6.46, paragraph 7. Replace the entire paragraph: If nothing is specified ... becomes Y. With this new paragraph (here's the troff): If nothing is specified, the class becomes \f(CWY\fR. If class \f(CWU\fR is specified in the third parameter, the second parameter is assumed to be the \s-1UUCP\s0 name of the local site, rather than the name of a remote site. In this latter case, the specified local name has a \s-1.UUCP\s0 appended, and the result is added to class \f(CW$=w\fR. (294):Section 20.2.5: line 18 of the code example: changed "saddr" to "s_addr"; also, in line 28 of the code example, added an & in front of "e->e_header" {302}, Section 20.3.8: changed "macid" to "wordinclass()" (in itals) (324), Section 21.5.2, changed the section heading to "Offsite Servers" (336), Section 22.4.3, last sentence on page, inserted a slash in front of "tmp/.shell" to form "/tmp/.shell" (341), Section 22.5.3, second line from end of page: inserted a tilde in front of "/.forward" to form "~/.forward" (342): table, line 2: changed all the junk after "/usr/libv" into a superscripted "a" {388}, Section 23.9.13, 3rd paragraph: changed "greater than 1" into "greater than 0" {397}, Section 24.2, second sentence: changed (in troff): The \f(CIuser\fR specifies either final delivery to a user's mail spool file (via the \fI~/\^.forward\fR file), or one step in further aliasing. to The \f(CIuser\fR specifies either final delivery to a user's mail spool file (via the \fI~/\^.forward\fR file), or delivery to a new address (e.g. \fIuser@newsite\fR), or one step in further aliasing. (400), Section 24.2.3, 5th paragraph: changed "A=" to "P=" (401), line 4: changed "attacking" to "attaching". In the footnote, changed: Because of a bug in all but the IDA and V8 versions, this requeueing is silently ignored. Into: Because of a bug in all but the IDA and V8 versions, the message is silently discarded without being requeued or bounced. (402): 24.3, line 4: changed "attacking" to "attaching" (407), Section 24.4.4, Second paragraph, end of sentence: changed "cause the second entry to be ignored" to "cause the first entry to be ignored" {443}, Section 26.1.3.8: delete the last sentence in this section, the one that starts: "The proto= syslog equate ..." {445}, Section 26.1.3.13, all three examples at top of page: changed "delay=" to "xdelay=" {454}, Section 26.4, 2nd paragraph from end of section, deleted "a copy of itself" (459): footnote: changed "Script" to "Scripts" {463}, Section 27.5: changed the paragraph heading "0-6" into "0-5" and split that paragraph at "Set the SmtpGreetingMessage..." to form a new paragraph with the heading "0-6" {507}, Section 29.10, under paragraph heading "check_rcpt", changed "sender-" to "recipient-" {545}, Table 30-8: Insert a new line item between items "8" and ":". 9 | 30.8.6 | Convert 7- to 8-bit if appropriate (546): started in a different place {687}, Section 34.8.7, second from last paragraph on page: added the following after "get duplicate deliveries": Note that the F=M flag on local delivery will try as many recipients as possible before checkpointing, even if that number is greater than the value of this CheckpointInterval option. with "F=M" and "CheckpointInterval" in CW font {727}, Table 34-16, change the What column entry from: "add-undisclosed" to "add-to-undisclosed" {728}, Section 34.8.43.4, section heading: changed "NoRecipientAction=add-undisclosed" to "NoRecipientAction=add-to-undisclosed" {743}, Section 34.8.55, last sentence of third paragraph from end: changed "Version 7 and above configuration files defer the decision" to "Starting with V8.7, sendmail defers the decision"; also, in the third paragraph from end, added a new sentence to then end of the paragraph: DNS is now only considered canonical if the dns service is listed for hosts in the ServiceSwitchFile. with "dns", "hosts", and "ServiceSwitchFile" in CW (761), Section 34.8.70.8, 2 places in section: changed "confconfTO_HOSTSTATUS" to "confTO_HOSTSTATUS" [Pages 989-990]: deleted sections D.5 and D.5.1