Apache: The Definitive Guide, 2nd Edition by Ben Laurie and Peter Laurie Unconfirmed error reports are from readers. They have not yet been approved or disproved by the author or editor and represent solely the opinion of the reader. This page was last modified on November 3, 1999. 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 ?page-number?: reader question or request for clarification UNCONFIRMED errors and suggestions from readers: {18) The code example almost at the foot of the page includes the line: This construct doesn't work for me. The Apache documentation indicates that the argument to the "" directive should be the filename of the module. Quoting from the Apache documentation: The module name argument is a module name as given as the file name of the module, at the time it was compiled. For example, mod_rewrite.c. I believe that that the example on page 18 should replace with This construct works for me. It might be worth adding a note to this effect in the description of the directive on page 52. Currently one is given no hint of what "module-name" should be. {71} The second paragraph reads: The more trusting webmaster may be willing to concede FollowSymLinksIfOwnerMatch..." It should read: SymLinksIfOwnerMatch {116} Deny from env--2nd last line from code "deny from go_away" should read "deny from env=go_away" {168-169} I believe the usage of $1 and $2 are reversed with respect to the example URL, or the URL is reversed. For the example URL of: http://sales.butterthlies.com/info/2949/price a rewrite rule of: ^/info/([^/]+)/([^/]+)$ should set $1 to 2949 and $2 to price if the book's explanation on pg 168 (bottom paragraph) is correct. If that's true, the usage of $2 and $1 need to be reversed in the script example and perhaps elsewhere on those 2 pages. {177} Last para/178, 1st para: Is this paragraph correct as it is? Should the IP number read "192.168.124.1"? ^ {183, 184} The example lines resembling << ... >> should read << ... >> {185} Under the section "XSSI" the first example states: <!--#flastmod ... -->. I believe it should read: . In either case, the ">", if correct, requires a ";" after it so that it reads ">" (190) 2nd para: change "pipe" to "pipe character" and "error log" to "entries in the error log files". (198) Corrosion Research Group: remove this entry; it is listed in the "Apache Module Registry", but without any remarks and the URL there is unvalid. {227} The second and third examples (calling ssleay) are wrong. I think the second example should read: % ssleay rsa -in privkey.pem -out new3.cert.key (ie the "rsa" argument is missing) and the third example should read: % ssleay x509 -in new3.cert.csr -out new3.cert.csr -req signkey privkey.pem (ie the "x509" argument was mis-spelled as "c509", and "new3.cert.csr" was mis-spelled as "new3cert.csr".) One thing that isn't explained whatsoever is how the server verifies (ie SSLVerifyClient is > 0) certificates, namely what it looks for in SSLCACertificatePath. This is rather "glossed over". {229} End of code (line -5): there needs to be a blank after "CustomLog" {Chapter 14} (API): update to the renaming of the functions via adding ap_ (mostly done but there are still some places where it is missing): 242.-2.3 [get_module_config()] 248.4.3 [copy_array_header()] (note also that "header" is "hdr") 251.3.synopsis [cleanup_for_exec(void)] 251.4.synopsis [note_cleanups_for_fd...] 251.5.synopsis [kill_cleanups_for_fd...] 271.-2.1, 271.-1.1 (twice), 272.1.1 (twice) [sub_req_lookup_*] (250) ap_table_do: explanation too short (compared with the depth and the details in the rest of the book) and suggests to replace with something like the following: ### If the NULL terminated vararg list is empty, traverses the whole ### table and runs the function comp(rec,key,value) on each key/value ### pair. If the vararg list is non-empty, traverses the matching keys ### (strcasecmp() is used to determine a match) and runs the same ### function. Each traversal is terminated if the function comp returns ### the value 0. ### In either case it may well happen, that the comp() function is called ### multiple times for the same key: First of all the table may again ### contain various entries of the same key. And, if the vararg list ### is non-empty, the traversal is repeated for any vararg item - even ### if they are equal. (264) ap_pvsprintf: description should read "Similar to ap_psprintf(), ..." ^ (267) Last paragraph: shouldn't "name" read "hostname" (see synopsis)? {297} Mid of page, http_config.h code, 6th line asterisk (*) is missing before slash (/) (332) Zyzzyva: company may have changed: the web address points to http://www.covalent.net/ now. {341} 3rd para (2nd last and last line before header "Diffie Hellman ..." Shouldn't "ServerHello.random" be italic? (359) Last entry: "DMB files" should read "DBM files" (361) Entry groups: subentry "ASI functions" should read "API functions" (362) Entry isapi-isa: "hander" should read "handler" (368) Entry troubleshooting: subentry "prerun mixups" should read "prerun fixups" UNCONFIRMED errors in Apache: The Definitive Edition, 1ed: {56} 4th line from the bottom of the page:
should be as it appears on page 58, 2nd line just to be consistent. (The example can use either GET or POST.) {137} para. 1, line 2: "SetHandle" should be "SetHandler" (still in constant width font.)