Sendmail Book, 2nd Edition Errata

Errata $Revision: 1.1.1.1 $
Sun May 3 07:32:51 PDT 1998


All text herein reproduced from the book is Copyright 1997, 1998 O'Reilly & Associates, Inc. All rights reserved. All new and added text is Copyright 1998 Bryan Costales. All rights reserved.

1st Printing, January 199


All Pages Change all references to 8.8.4 Into 8.8.8 and Change all references to 8.8.5 Into 8.8.8

Page xxiv Acknowledgments, last sentence of third paragraph: Change sendmil Into sendmail

Page 1 Section I, first sentence of first indented paragraph, Change: Covers mail transport agents and ... Into: Covers mail transfer agents and ...

Page 4 Section 1.1, 2nd paragraph, Change: A mail transport agent (MTA) Into: A mail transfer agent (MTA)

Page 7 Section 1.4, 1st sentence following 1st example on page: Change: ...this file begins with eight lines of.... Into: ...this file begins with seven lines of....

Page 14 Section 2.1, third example on page: Change: % cd sendmail.8... Into: % cd sendmail-8...

Page 15 Section 2.3, first example in section: Change: % cd sendmail.8... Into: % cd sendmail-8...

Second paragraph from the bottom of the page: Change: The files whose names end in .1, .5, and .8 are the manual pages for sendmail. Into: The files whose names end in .0 are pre-formatted manual pages. The files whose names end in .1, .5, and .8 are unformated.

Page 17And up to four other places in chapter 2, Change db(8) Into: db(3)

Page 17 Section 2.4, 2nd paragraph, 2nd sentence of paragraph, Change "copies" to "to", and delete "there" in: ... source files and copies an appropriate Makefile there. To form: ... source files and to an appropriate Makefile.

Page 81 Chapter 8, Figure 8-4: Change the "other.us.edu" in the top grey box from other.us.edu Into mail.us.edu

Page 88 the 3rd line from the bottom: Change the: > 0 y Into: > 0 z

Page 101 Section 9.4, Last example on page. Insert a "0" into: > boss@acme To form: > 0 boss@acme

Page 136 Chapter 12, 3rd paragraph, 2nd from last sentence: Change ... in that file to the class Ww. by dropping the W, Into: ... in that file to the class w.

Page 144 Section 13.2.7, paragraph 3, sentence 1, Change: ether Into: either

Page 145 Section 13.2.8, footnote, Add ", because the address arrives there unquoted" To: ...at the other site causes the confusion. To form: ...at the other site causes the confusion, because the address arrives there unquoted.

Page 151 Section 14.1.2, last sentence in section Remove the word "three" from: These three items ... To form: These items ...

Page 156 Section 14.4, In paragraph heading "bulk" Rewrite: ...delivered, throw it away instead of bouncing it. Into: ...delivered, the message body is discarded from the bounced mail.

In paragraph heading "junk" Rewrite: ... it is discarded rather than bounced. Into: ... the message body is discarded from the bounced mail.

Page 163 Section 15.2, 3rd sentence. Rephrase: ... can be accessed, copied, or possibly removed ... Into: ... can possibly be accessed, copied, or removed ...

Page 169 Section 15.4, Delete the entire paragraph that begins with: Again, your local machine is recognized ...

Page 171 Section 15.7, Things to Try First bulleted item, Delete the last sentence, the one that begins: Determine the value of such other ...

Page 175 Section 16.2.3, Second sentence of second paragraph Change "sendmail" in: ... tells sendmail to create a null ... Into "m4(1)", to form: ... tells m4(1) to create a null ...

Page 184 Section 17.1.4, 4th paragraph Change the second sentence from: Everything to the left of the rightmost exclamation point is taken as the full UUCP path for delivery. Into: The host to the left of the leftmost exclamation point is taken as the next hop in the UUCP path for delivery.

and Change "path" in the 3rd sentence: ...added to that path,... Into "host", to form: ...added to that host,...

Page 187 Section 17.3, 4th paragraph, Change the List;: Into List: ...of the List:; form...

Page 280 Section 19.6.42, 1st sentence. Change: ... mail server (see MAIL_HUB, Into: ... mail server (see MAIL_HUB)

Page 289 Section 20.2.1, line 19, insert an _ character To change: RealHostAddr.sin.sin_addr.saddr Into: RealHostAddr.sin.sin_addr.s_addr

Page 195 Section 18.3, last sentence on page: Change the word "the" Into "a pre-V8.6" To form: To verify a pre-V8.6 distribution, ...

Page 196 Section 18.3, Replace the line: and certify that key with his PGP fingerprint: With this new text: For V8.6 and above, you down-load a special signing key from www.sendmail.org, instead of Eric's key. The fingerprint for the signing key is: CA AE F2 94 3B 1D 41 3C 94 7B 72 5F AE 0B 6A 11 The fingerprint for Eric's key is:

Page 197 Section 18.3.1, entire section Change all references to "8.7" Into "8.8.6", and Change all references to "8.7.1" Into "8.8.6".

Page 200 Chapter 18, Table 18-2, the table column Aliases should be annotated for a footnote. The following footnote should be added below the table: If yes, this database format supports aliasing.

Page 202 Chapter 18, end of 2nd paragraph: Change the "reslov" in: Paul Vixie's version of -lreslov as supplied with BIND 4.9. Into "resolv"

Page 207 Section 18.8, Table 18-3 Change the 3.1 in the LA_TYPE line Into 3.5

Change the Tort in the NEED_ line Into Port.

Page 227 Section 18.8.34, subsection "/etc/sendmail.cf". In the last sentence of the first paragraph Change -D_PATH_VENDOR_CF Into -D_PATH_SENDMAILCF

Change the example to read:

ENVDEF= -D_PATH_SENDMAILCF=\"/src/tests/test.cf\"

Delete the paragraph following the example, the one that begins with The USE_VENDOR_CF_PATH tells..

Page 252 Table 19-6, in the line FEATURE(allmasquerade) Change the sender in The sender too into recipient to form The recipient too

Page 259 Section 19.6.8, 5th paragraph, Replace the paragraph: 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. With the new paragraph: 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.

and last paragraph on page, last sentence. Change two instances of sex.your.real.domain Into sex.bogus.site.com.

Page 266 Section 19.6.15, last sentence in section. Change the sentence from: Finally, note that this feature handles only incoming mail. Into: But note that the virtusertable feature handles only incoming mail.

Page 271 Section 19.6.23: Change: From V8.1 to V8.6 sendmail if the m4 MAIL_HUB is not defined, lookups in the User Database and the additional processing of rule set 5 are skipped. Into: From V8.1 to V8.6 sendmail, if the address has a host part, lookups in the User Database and the additional processing of rule set 5 are skipped.

Page 273 Section 19.6.27, 3rd paragraph, last sentence. Change: ... transform pathalias's output into.... Into: ... transform the UIUC pathalias(1) program's output into....

Page 274 Section 19.6.28, 4th line from end of page, insert a new paragraph above the one one that begins "You declare ...." Also note that virtual domains in the key (such as @fictional.com) must be added to class w in order for them to be recognized as local.

Page 274 Section 19.6.28, 2nd line from end of page: Add footnote to: to appear in the configuration file: Footnote: The m4 line also causes special rules to be added, consequently just modifying the cf file will not work.

Page 277 Section 19.6.35, last sentence of first paragraph, Change both 6's into 96, in: ... rule set 6 (with $>6) before returning. To form: ... rule set 96 (with $>96) before returning.

Page 278 Section 19.6.37, in the third line of the example: Change the first .$m in: R$* < @ $* .$m > $*.... Into a .$m. to form: R$* < @ $* .$m. > $*....

Page 282 Section 19.6.46, paragraph 6, sentence 2, Replace the sentence: The class $=W is set aside to hold lists of locally connected hosts that will later be declared with site. With two new sentences: The class $=W is set aside to hold lists of hosts that appear locally connected. This class is also used with the SITE macro.

Page 283 Section 19.6.46, paragraph 7. Replace the entire paragraph: If nothing is specified ... becomes Y. With this new paragraph: If nothing is specified, the class becomes Y. If class U is specified in the third parameter, the second parameter is assumed to be the UUCP name of the local site, rather than the name of a remote site. In this latter case, the specified local name has a .UUCP appended, and the result is added to class $=w.

Page 287 Section 20.1.2, Change checkcompat Into checkcompat()

Page 290 Section 20.2.1, last paragraph, last sentence: Delete phrase: , nor does it expect RealHostAddr to be NULL.

Page 290 Section 20.2.2, Add 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))

Page 294 Section 20.2.5, In line 18 of the code example Change the "saddr" in: (RealHostAddr.sin.sin_addr.saddr & OUR_NETMASK) ... Into "s_addr" to form: (RealHostAddr.sin.sin_addr.s_addr & OUR_NETMASK)

In line 28 of the code example: Insert an & in front of "e->e_header" in: addheader(LOOP_CHECK, "", e->e_header); To form: addheader(LOOP_CHECK, "", &e->e_header);

Page 302 Section 20.3.8, 2nd paragraph, 1st sentence, Change macid Into wordinclass()

Page 302 Section 20.3.8, last paragraph, last sentence, Change (line 7) into (line 6)

Page 324 Section 21.5.2, Change the section heading into: Offsite Servers

Page 334 Section 22.4.1, 1st sentence of 3rd paragraph on page, Change: If TCPWRAPPER is defined .... Into: If TCPWRAPPERS is defined ....

Page 336 Section 22.4.3, last sentence on page Insert a slash in front of tmp/.shell To form: /tmp/.shell

Page 334 Section 22.4.1 Change: To allow incoming connections you will need to add this line to your hosts.allow file: Into: If, as CERT recommends, you have ALL:ALL in your hosts.deny file, you will need to add this line to your hosts.allow file:

Section 22.4.1: Change: The only exception is the QUIT command which allows the spamming host to disconnect. Into: The only exception is the QUIT command (and beginning with V8.8.5, the HELO, EHLO, and NOOP commands) which allows the spamming host to disconnect.

Page 341 Section 22.5.3, second line from end of page: Insert a tilde in front of /.forward To form: ~/.forward

Page 342 Section 22.5.4, table 22-1, The 3rd item is mangled. This should read /usr/lib with a section footnote to item a.

Page 388 Section 23.9.13, 3rd paragraph Change greater than 1 Into greater than 0

Page 388 Section 23.9.13, the indented paragraph headed N, Add a new sentence just before the last: If the N is absent, but an S, F, or D is present, DSN information will not be propagated.

Page 397 Section 24.2, second sentence: Change: The user specifies either final delivery to a user's mail spool file (via the ~/.forward file), or one step in further aliasing. Into: The user specifies either final delivery to a user's mail spool file (via the ~/.forward file), or delivery to a new address (e.g. user@newsite), or one step in further aliasing.

Page 400 Section 24.2.3, 5th paragraph: Change A= Into P=

Page 401 Section 24.2.3, second paragraph on line, second line Change attacking Into attaching

In the footnote, Change: 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.

Page 402 Section 24.3, 4th line in section: Change A= Into P=

Page 407 Section 24.4.4, Second paragraph, end of sentence: Change the "second" in: ... cause the second entry to be ignored. Into "first" to form: ... cause the first entry to be ignored.

Page 443 Section 26.1.3.8 Delete the last sentence in this section, the one that starts: The proto= syslog equate ....

Page 445 Section 26.1.3.13, all three examples at top of page: Change delay= Into xdelay=

Page 454 Section 26.4, 2nd paragraph from end of section, Delete the words a copy of itself

Page 463 Section 27.5: Change the paragraph heading "2+" into "5+" and Move the whole paragraph to below the paragraph labeled "3+".

and Change 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". This will leave two paragraphs labeled "0-5" and two labeled "0-6."

Page 492 Section 29.1.5, 3rd line of 1st example: Change: Pjunk Into: Pjunk=-100

Page 495 Section 29.3.1, last sentence on page: Change: ... Figure 29-3. Into: ... Figure 29-4.

Page 497 Section 29.4.1, last sentence in section: Change: Rule set 0 later turns ... Into: Other rule sets later turn ...

Page 507 Section 29.10, under paragraph heading "check_rcpt", Change the "sender-" in: Validate the sender-envelope address... Into "recipient-" to form: Validate the recipient-envelope address...

Page 523 Section 30.4.1, last sentence of last paragraph: Insert a footnote after: ... then the ($u) argument Footnote reads: When $u is used as part of a UUCP delivery agent's A= array, it should be parenthesized. This is what the uux(1) program expects.

Page 535 Section 30.4.11, 3rd sentence: Change: ... SMTP RCPT ... Into: ... SMTP MAIL ...

Page 545 Table 30-8 Insert a new line item between items "8" and ":".

9 | 30.8.6 | Convert 7- to 8-bit if appropriate (V8.8 and above)

Page 548 Section 30.8.3, 3rd sentence: Change: ... with the F=5 flag set ... Into: ... with the F=A flag set ...

Page 549 Section 30.8.5, last sentence: Change: (pass8bit) Into: (pass 8)

Page 551 Section 29.10.3, 2nd paragraph, 1st sentence. Change: The second rule Into: The first rule

Page 551 Section 29.10.3, 2nd paragraph, 3rd sentence. Change: The third rule Into: The second rule

Page 552 Section 30.8.15, change the end of the first sentence From: ... that lacks one. Into: ... that lacks one after having been rewritten by rule set 3.

Page 565 Section 30.8.4, 1st paragraph, second from last sentence: Insert "effective" in two places in: as the user and group specified To form: as the effective user and effective group specified

Page 565 Section 30.8.4, 1st paragraph, append to end of paragraph: In both instances, the real GID and UID remain that of the receiving user --that is, the F=S flag acts like the UNIX suid and sgid bits.

Page 567 Section 30.8.45, first sentence: Change: ... signifies the end of the message. Into: ... have that dot doubled.

Page 567 Section 30.8.45, Delete the 2 sentences: Ordinarily, SMTP would interpret the first of those lines as the end of the mail message. To prevent that misinterpretation, it is necessary to double the leading dot in transmission

Page 588 Section 31.10.5 2nd from last paragraph, last sentence: Change: relay_host Into: relayhost

Page 589 section 31.10.7, third line of example: Change the RHS: $&{client_addr} Into: $: $(dequote "" $&{client_addr} $)

Page 590 section 31.10.8, third line of example: Change the RHS: $&{client_name} Into: $: $(dequote "" $&{client_name} $)

Page 592 Section 31.10.14, first sentence of last paragraph on page: Change: (and performed aliasing for a local sender) Into: (possibly aliased)

Page 596 Section 31.10.20, 2nd to last paragraph in section: Change: $j is also used in the Message-Id: header definition. Into: $j is also used: in the Message-Id: header definition; and as the canonical host-name following the HELO or EHLO command.

Page 613 Section 32.1.2.1, last example in section, and first sentence in last paragraph (two places): Change: %[^#] Into: %[^\#]

Page 613 Section 32.1.2.1, last paragraph: Append a new sentence to end of paragraph: The \ character prevents sendmail from treating the # as a comment character.

Page 614 Section 32.2.1, last sentence on page: Change: server1@domain2.edu Into: server1.domain2.edu

Page 616 Section 32.2.3, second example: Change: R$+ . $=X $* Into: R$+ $=X $*

Page 638 Section 33.3.4.11, last sentence in section: Change: See also -k for the value's column .... Into: See also -k for the key's column ....

Page 666 Section 34.1.3, Table 34-1, Change: Use the -i command line switch .... Into: Use the -OIgnoreDots command line switch ....

Page 669 Section 34.3, Table 34-3 for item confCOPY_ERRORS_TO: Change: PostmasterCopy (g) Into: PostmasterCopy (P)

Page 670 Section 34.3, Table 34-3 for item confOLD_STYLE_HEADERS: Change: OldStyleHeaders (g) Into: OldStyleHeaders (o)

Page 672 Section 34.4, Table 34-4, item EightBitMode: Change: Boolean Into: Character

Page 678 Section 34.6.5, Insert new paragraph following table 34-10: The sendmail program checks its connection cache just before opening up a new connection to a host. If the cache contains an entry for that host, sendmail sends an SMTP RSET command to the host to make sure the connection is still active. If the SMTP RSET succeeds, the connection is re-used. If the SMTP RSET times out (see 34.8.70.18, the Timeout.rset option), or fails, or if the host was not in the cache, an new connection is made.

Page 678 Section 34.6.6, first sentence: Change: The sendmail program offers three .... Into: The sendmail program offers four ....

Page 683 Chapter 34, in the heading for AllowBogusHELO: Change the "V8.7" in: (V8.7 and above) Into "V8.8"

Page 687 Section 34.8.7, second from last paragraph on page. Append to the end of the paragraph: ... get duplicate deliveries. To form: ... 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.

Page 705 Section 34.8.22.1, Append new sentence to section: Note that compiling with MIME8TO7=1 causes ESMTP to always advertise 8BITMIME.

Page 711 Section 34.8.27, third sentence: Change: $f Into: $x

Page 713 Section 34.8.30, second sentence: Change /etc/host Into /etc/hosts

Page 715 Section 34.8.32, 3rd line of first listing, Change: ... command line shorthand Into: ... command line shorthand (deprecated)

Pages 716-717 Section 34.8.33. Renumber item 12 as 15 and renumber item 14-98 as 16-98, and move the now number 15 to after 13. Add to item 3 the following: Transient forward/include errors logged at LOG_ERROR. Connect timeouts logged at LOG_NOTICE. Add to item 4 the following: Out of date alias databases logged at LOG_INFO. Connection rejections (via libwrap.a or one of the check_ rule sets) logged at LOG_NOTICE. Add to item 5 the following: Envelope cloning logged at LOG_INFO. Add to item 6 the following: The ETRN and EXPN ESMTP commands logged at LOG_INFO. Add to item 8 the following: Alias database rebuilds logged at LOG_NOTICE. Add to item 11 the following: The end of processing (job deletion) logged at LOG_INFO. Add a new item 12: SMTP connects, logged at LOG_INFO. Add a new item 14: Connection refusals (as when the load average is too high) logged at LOG_INFO.

Page 719 Section 34.8.35, 3rd line of 1st example: Change: `(CInum' Into: `num'

Page 771 Section 34.8.76, section heading. Change: Verbose ... (v) Into: Verbose (v) ... (All versions)

Page 772 Section 34.8.77, 3rd paragraph, second sentence: Delete sentence: This new value overrides whatever value r may have been given in the configuration file.

Page 727 Table 34-16, Change the What column entry from: add-undisclosed Into: add-to-undisclosed

Page 728 Section 34.8.43.4, section heading. Change: NoRecipientAction=add-undisclosed Into: NoRecipientAction=add-to-undisclosed

Page 728 Section 34.8.44, OldStyleHeaders, first and second listings, in 4 places, and on page 729 last listing in 2 places (six places total on two pages): Change: anderson Into: andersen

Page 738 Section 34.8.52, section heading. Change: (deprecated Into: (deprecated)

Page 739 Section 34.8.52, last sentence, 2nd paragraph on page: Change: (which could envolve creating a freeze file) Into: (which prior to V8 could involve creating a freeze file)

Page 743 Section 34.8.55, last sentence of third paragraph from end. Change: Version 7 and above configuration files defer the decision .... Into: Starting with V8.7, sendmail defers the decision ....

Page 743 Section 34.8.55, third paragraph from end. Append this new sentence to then end of the paragraph: ... to the ServiceSwitchFile option (see ss34.8.61). To form: ... to the ServiceSwitchFile option (see ss34.8.61). DNS is now only considered canonical if the dns service is listed for hosts in the ServiceSwitchFile.

Page 761 Section 34.8.70.8, 2 places in section. Change: confconfTO_HOSTSTATUS Into: confTO_HOSTSTATUS

Page 790 Section 35.8, 2nd paragraph from end of section: Change: recipients is the number of recipients specified in the To:, Cc: and Bcc: header lines (after alias expansion), Into: recipients is either the number of recipients in the envelope or (with -t) the number of recipients specified in the To:, Cc: and Bcc: header lines (after alias expansion),

Page 799 Section 35.10.15, Append new text to last sentence in section: But note that V8 sendmail will remove the Full-Name: header if the F=x flag is not set for the recipient's delivery agent.

Page 803 Section 35.10.25, 3rd sentence of section: Change: ... added to the end of the list .... Into: ... added to the top of the list ....

Page 805 Section 35.10.25, item "$?u for $u" Change: $?u for $u Into: $?u for $u$.

Page 806 Section 35.10.27, first sentence: Change: ... go to an address that is ... Into: ... to to one or more addresses that are ...

Page 806 Section 35.10.28, only example in section: Change: H?P?Return-Path: $g Into: H?P?Return-Path: <$g>

Page 813 Section 36.1.1, under item Results, second example: Change: smtp msg Into: smtp id msg

Page 813 Section 36.1.1, third paragraph: First sentence ends: ... reply code. Insert new sentence following first. ... reply code. The id is the message's queue identifier.

Page 825 Section 36.5.8, 5th paragraph: Change: DNS lookups Into: DNS lookup failures

Page 832 Section 36.7.9, first bulleted item on page: Change: ..., the sender becomes .... Into: ..., the envelope sender becomes ....

Page 846 Section 37.1, 4th paragraph on page: Swap the second and third sentences in that paragraph to form: The maximum value that may be specified for a single category is 99. Any value specified above the maximum is reduced to the maximum. The maximum value for level is that of an unsigned char (255 decimal).

Page 864 Section 37.5.18, last sentence of last paragraph: Change: ...TRUE is a zero result and FALSE is a.... Into: ...TRUE represents a zero result and FALSE represents a....

Page 870 Section 37.5.30, Table 37.5, line 1: Change: Authoritative server not found Into: Host not found (authoritative answer returned)

Page 879 Section 37.5.48, Table 37.8, item j: Change: Deliver w/o queueing Into: Deliver w/o queueing (obsolete as of V8)

Page 897 Section 37.5.88, 3rd example from bottom of page: Change: unbrea.k.a.ble Into: unbreakable

Page 897 Section 37.5.88, 3rd paragraph from end: Change: unbrea.k.a.ble Into: unbreakable

Page 911 Section 37.5.118, 1st paragraph of section: Change: When sendmail bounces a mail message, it needs to create headers that probably didn't exist before. It uses the putheader() routine to create them. Into: The sendmail program uses putheader() to create headers that didn't exist before.

Page 911 Section 37.5.119, 1st sentence: Change: Each header line created for the bounced message is displayed Into: Each header line created is displayed

Page 914 Section 37.3.123, footnote to Table 37.13: Change: This is the base (offset) of types 16 through 16+n, where n is the maximum number of connections as defined with the ConnectionCacheSize (k) option (see 34.8.10). Into: This is the base (offset) of types 16 through 16+n, where n is 16 plus MAXMAILERS as defined in conf.h.

Page 927 Section 37.5.146, Table 37-15: Change: Priority must be high enough Into: Priority must be high enough (required qf file line)

Page 927 Section 37.5.146, Table 37-15: Change: Must have been in queue long enough Into: Must have been in queue long enough (required qf file line)

Page 928 Section 37.5.148, Table 37-16: Change: Message (DATA) being sent Into: Message being sent

Page 934 Section 37.5.159, 1st sentence of 4th paragraph on page: Change: ... specified, if SUID_ROOT_FILES_OK was defined when sendmail was compiled, if the file .... Into: ... specified, if the file .... And Delete the footnote about SUID_ROOT_FILES_OK.

Page 940 Section 37.5.176, last sentence 2nd paragraph: Change: If logging fails, ... Into: If the message on output fails, ...

Page 963 Section 38.5.5, 2nd paragraph from end, first sentence: Change: your@localhost Into: you@localhost

Page 983 Section C.3, first example on page,
% ln -s /usr/local/include/db/cdefs.h /usr/local/include/db/sys
% ln -s /usr/local/include/db/cdefs.h /usr/local/include/db/sys

Delete the second, duplicate, line.

Page 985 Appendix D, first paragraph. Replace existing first paragraph with new text: Sun Microsystems has adopted V8.6 as its standard version of sendmail as of Solaris 2.5. It will adopt V8.8 when it releases Solaris 2.7. Here, we cover Sun's enhancements to V8.8 as planned for Solaris 2.7.

Page 985 Appendix D, 2nd paragraph, 2nd sentence: Change: V6/Sun Into: V7/Sun

Page 985 Section D.1, 1st paragraph, 3rd line, two places: Change: V6/Sun Into: V7/Sun

Page 985 Appendix D, footnote: Change: Note that V6/Sun is available only with Solaris 2.6. If your release of the operating system is earlier than Solaris 2.6, ... Into: Note that V7/Sun will be available only with Solaris 2.7. If your release of the operating system is earlier than Solaris 2.7, ...

Pages 989-990 Delete sections D.5 and D.5.1

Page 991 the first two bibliography entries. ``RFC1894'' is duplicated, remove the extra one.

Page 995 Bibliography. The listing for ``RFC 934'' is out of order and and should be moved just before ``RFC822'' on page 994.

Page 1001 Index: Change: ConnectionCasheTimeout Into: ConnectionCacheTimeout


2nd Printing, April 1998

Note. Not all of the above changes made it into the second printing. The explaination from O'Reilly & Associates is, "when [we] don't make a correction that an author has requested, it is usually for one of three reasons: 1. the correction was a very minor change, such as fixing kerning in text, 2. the reprint was a surprise and [we] didn't have time, or 3. [We] had a question about the correction or a difficulty in making it (such as pages not gmatting properly or changes affecting too many subsequent pagebreaks)".