Practical Unix & Internet Security, 3rd Edition by Gene Spafford, Alan Schwartz, Simson Garfinkel The following corrections were made to the 1/04 reprint: Here's a key to the markup: [page-number]: serious technical mistake {page-number}: minor technical mistake : important language/formatting problem (page-number): language change or minor formatting problem (3) in the last sentence of the second paragraph "...private computer systems, and using those systems for nefarious purposes." NOW READS: "...private computer systems, using those systems for nefarious purposes." (33) IN PRINT: "Planning Your Security Needs", first paragraph, third sentence; "Basically, we a computer is..." NOW READS: "Basically, we know a computer is..." (285) under UDP section; "Uunreliable" NOW READS: "Unreliable" {351} 'Security concerns with SMTP banners and commands', 1st sentence; "... previous versions of SMTP and MTP were in used in the 1970s." NOW READS: "... previous versions of SMTP and MTP were in use in the 1970s. {399} 'Freeware security scanners'; "The disadvantage is that their databases are can be limited ..." NOW READS: "The disadvantage is that their databases can be limited ..." {424} 2nd half of page, last line of final code snippet; +:*:000:000::: NOW READS: +:*:999:999::: {466} first footnote, second sentence; Historically, the value of nobody was -1, .... NOW READS: Historically, the value of nobody was -2, .... (526) just after box; RFC 1705 NOW READS: RFC 1750. {630} example find command, near end of line of code; A space HAS BEEN ADDED between "{}" and "\;" . (735) 1st paragraph; typo: simultaniously NOW READS: simultaneously {775} destructive program example; The body of the while loop was incorrectly specified: main() { while (1) malloc(256*1024*1024); fork(); } NOW READS: main() { while (1) { malloc(256*1024*1024); fork(); } } 799 1st paragraph at the end "sinilar" NOW READS: "similar" (820) 6th paragraph; typo: producct NOW READS: product 878 The Sendmail listing; "O'Reill" NOW READS: "O'Reilly"