home *** CD-ROM | disk | FTP | other *** search
/ CD Actual 8 / CDACTUAL8.iso / share / os2 / varios / apache / changes < prev    next >
Encoding:
Text File  |  1996-07-08  |  43.6 KB  |  1,107 lines

  1. Changes with Apache 1.1.1:
  2.  
  3.   *) Fixed bug where Redirect in .htaccess files would cause memory
  4.      leak. [Nathan Neulinger]
  5.  
  6.   *) MultiViews now works correctly with AddHandler [Alexei Kosut]
  7.  
  8.   *) Problems with mod_auth_msql fixed [Dirk vanGulik]
  9.  
  10.   *) Fix mispelling of "Anonymous_Authorative" directive in mod_auth_anon.
  11.  
  12. Changes with Apache 1.1.0:
  13.  
  14.   *) Bring NeXT support up to date. [Takaaki Matsumoto]
  15.  
  16.   *) Bring QNX support up to date. [Ben Laurie]
  17.  
  18.   *) Make virtual hosts default to main server keepalive parameters.
  19.      [Alexei Kosut, Ben Laurie]
  20.  
  21.   *) Allow ScanHTMLTitles to work with lowercase <title> tags. [Alexei Kosut]
  22.  
  23.   *) Fix missing address family for connect, also remove unreachable statement
  24.      in mod_proxy. [Ben Laurie]
  25.  
  26.   *) mod_env now turned on by default in Configuration.tmpl.
  27.  
  28.   *) Bugs which were fixed:
  29.         a) yet more mod_proxy bugs [Ben Laurie]
  30.         b) CGI works again with inetd [Alexei Kosut]
  31.     c) Leading colons were stripped from passwords [osm@interguide.com] 
  32.     d) Another fix to multi-method Limit problem [jk@tools.de]
  33.  
  34. Changes with Apache 1.1b4:
  35.  
  36.   *) r->bytes_sent variable restored. [Robert Thau]
  37.  
  38.   *) Previously broken multi-method <Limit> parsing fixed. [Robert Thau]
  39.  
  40.   *) More possibly unsecure programs removed from the support directory.
  41.  
  42.   *) More mod_auth_msql authentication improvements.
  43.  
  44.   *) VirtualHosts based on Host: headers no longer conflict with the
  45.      Listen directive.
  46.  
  47.   *) OS/2 compatibility enhancements. [Gary Smiley]
  48.  
  49.   *) POST now allowed to directory index CGI scripts.
  50.  
  51.   *) Actions now work with files of the default type.
  52.  
  53.   *) Bugs which were fixed:
  54.         a) more mod_proxy bugs
  55.         b) early termination of inetd requests
  56.         c) compile warnings on several systems
  57.         d) problems when scripts stop reading output early
  58.  
  59. Changes with Apache 1.1b3:
  60.  
  61.   *) Much of cgi-bin and all of cgi-src has been removed, due to
  62.      various security holes found and that we could no longer support
  63.      them.  
  64.  
  65.   *) The "Set-Cookie" header is now special-special-cased to not 
  66.      merge multiple instances, since certain popular browsers can not 
  67.      handle multiple Set-Cookie instructions in a single header.
  68.  
  69.   *) rprintf() added to buffer code, occurrences of sprintf removed.
  70.      [Ben Laurie]
  71.  
  72.   *) CONNECT method for proxy module, which means tunneling SSL should work.
  73.      (No crypto needed)  Also a NoCache config directive.
  74.  
  75.   *) Several API additions: pstrndup(), table_unset() and get_token()
  76.      functions now available to modules.
  77.  
  78.   *) mod_imap fixups, in particular Location: headers are now complete
  79.      URL's.
  80.  
  81.   *) New "info" module which reports on installed module set through a 
  82.      special URL, a la mod_status.
  83.  
  84.   *) "ServerPath" directive added - allows for graceful transition
  85.      for Host:-header-based virtual hosts.
  86.  
  87.   *) Anonymous authentication module improvements.
  88.  
  89.   *) MSQL authentication module improvements.
  90.  
  91.   *) Status module design improved - output now table-based. [Ben Laurie]
  92.  
  93.   *) htdigest utility included for use with digest authentication
  94.      module.
  95.  
  96.   *) mod_negotiation: Accept values with wildcards to be treated with
  97.      less priority than those without wildcards at the same quality
  98.      value. [Alexei Kosut]
  99.  
  100.   *) Bugs which were fixed:
  101.     a) numerous mod_proxy bugs
  102.     b) CGI early-termination bug [Ben Laurie]
  103.     c) Keepalives not working with virtual hosts
  104.     d) RefererIgnore problems
  105.     e) closing fd's twice in mod_include (causing core dumps on
  106.        Linux and elsewhere).
  107.  
  108. Changes with Apache 1.1b2.
  109.  
  110.   *) Bugfixes:
  111.         a) core dumps in mod_digest
  112.         b) truncated hostnames/ip address in the logs
  113.         c) relative URL's in mod_imap map files
  114.  
  115. Changes with Apache 1.1b1. Also see http://www.apache.org/docs/1.1/
  116.  
  117.   *) Add new <Location> directive, similar to <Directory>, but protects
  118.      URLs instead of directories. [Alexei Kosut]
  119.  
  120.   *) Allow ErrorDocument directive to also be used from .htaccess files.
  121.      This is enabled/disabled by using the FileInfo flag with 
  122.      AllowOverrides [Mark Cox]
  123.      
  124.   *) Add AddHandler command, which allows content-type-independent 
  125.      "handlers" to be defined for file extensions. These can be either
  126.      built into Apache (such as CGI scripts or server-side includes, or
  127.      added with the Action command). [Alexei Kosut]
  128.  
  129.   *) Added new Explain() function, intended to help trace execution. Currently
  130.      only used in mod_proxy.c (and there not yet complete). Switch it on with
  131.      -DEXPLAIN. See explain.h. [Ben Laurie]
  132.  
  133.   *) Added two new directives to proxy module, CacheDirLevels and
  134.      CacheDirLength. Values of 3 and 2 respectively will result in files like
  135.      aa/bb/cc/dddddd in the cache. [Ben Laurie]
  136.  
  137.   *) Modify <VirtualHost> directive to work without the system supporting
  138.      multiple IP addresses. It can now take advantage of the Host: header
  139.      sent by some (but not all) new web browsers (e.g. Netscape 2.0). Those
  140.      that do not support it will get the default documents. More names or
  141.      name patters can be added using the ScriptAlias directive, e.g.
  142.      "ScriptAlias foo.bar.net *.foo.com foo.com" [Alexei Kosut]
  143.  
  144.   *) Added Status module with preliminary documentation available
  145.      http://www.apache.org/docs/1.1/mod_status.html [Mark Cox]
  146.  
  147.   *) Added simple and complex instrumentation to Apache to allow a
  148.      instantaneous status screen to be displayed.  Since the complex
  149.      instrumentation makes the scoreboard file bigger it has been 
  150.      made a compile-time define (add "-DSTATUS" to 
  151.      CFLAGS in the Configuration file) [Mark Cox]
  152.  
  153.   *) Made it so XBITHACK behavior only occurs for files of type text/html, as
  154.      any other file type doesn't really make sense. [Alexei Kosut]
  155.  
  156.   *) Slightly modified the API to allow handlers by things other than
  157.      content type. Setting r->handler will override r->content_type in
  158.      invoke_handler(). [Alexei Kosut]
  159.  
  160.   *) Added FLOCK_SERIALIZED_ACCEPT for those systems, like A/UX,
  161.      that need mutex-capability but using fcntl-locking is
  162.      expensive. [Jim Jagielski]
  163.  
  164.   *) Added in Cliff Skolnick's read_client_block patch (check for
  165.      no reads and break) [Jim Jagielski]
  166.  
  167.   *) If there was no default MIME type defined, Apache sent Content-type:
  168.      without a newline, thus swallowing the next header. Changed to send no
  169.      Content-type: at all. [Ben Laurie]
  170.  
  171.   *) Long overdue revamp of the Cookies module to stop Apache cookies
  172.      colliding with other cookies a site may be using.  Cookies are now
  173.      always generated for every browser, not just Netscape (and clones)
  174.      and the cookie log can be a pipe just like the other logs [Mark Cox]
  175.  
  176.   *) Add HAVE_MMAP to SCO 5. [Ben Laurie]
  177.  
  178.   *) SCO 5 reportedly (by Jay Thorne <jay@result.com>) requires
  179.      FCNTL_SERIALIZED_ACCEPT. Added to conf.h. [Ben Laurie]
  180.  
  181.   *) Clear up some nasty (int)NULLs. [Ben Laurie]
  182.  
  183.   *) Clean code to warning level 3 under SCO 5. [Ben Laurie]
  184.  
  185.   *) Fix potential buffer overrun in mod_proxy.c. [Ben Laurie]
  186.  
  187.   *) Internal redirects now preserve HTTP headers [Rob Hartil]
  188.  
  189.   *) Adds SysV-based Shared Memory support for Apache [Jim Jagielski]
  190.  
  191.   *) Use bread() etc instead of fread() for reading/writing to client.
  192.      Move the count of bytes sent into the buffering routines.
  193.      Rewrite the buffering routines to provide bputc(), bgetc() macros.
  194.      [David Robinson]
  195.  
  196.   *) Make hostname_lookups a per-directory core configuration variable.
  197.      Replace all accesses to the connection.remote_host and remote_name
  198.      variables to calls to get_remote_host(), which is now in http_core.c.
  199.      [David Robinson]
  200.  
  201.   *) Make do_rfc1413 a per-directory core configuration variable.
  202.      Replace all accesses to the connection.remote_logname
  203.      variables to calls to get_remote_logname(). Rewrite rfc931.c as
  204.      rfc1413.c to conform to new standard, avoid stdio and avoid syslog.
  205.      [David Robinson]
  206.  
  207.   *) CGI variables are now available to server side include directives
  208.      as well as the QUERY_STRING_UNESCAPED variable, as required by
  209.      the NCSA server side include documentation. [Nathan Schrenk]
  210.  
  211.   *) Better diagnostic info to enhance "malformed header from script"
  212.      [Rob Hartill]
  213.  
  214.   *) Improvements and new features added to the UserDir directive:
  215.      Additional forms of specifiying user directories, and the ability to
  216.      specify multiple user directories, much like the DirectoryIndex
  217.      command. [Alexei Kosut]
  218.  
  219.   *) Internal redirects no longer force the GET method, except when desired
  220.      (CGI scripts and error documents). [Adam Sussman and Rasmus Lerdorf]
  221.  
  222.   *) Rewrite/reorganization of mod_imap.c.  New handling of default, base
  223.      and relative URLs. New Configuration directives. Support for creating
  224.      non-graphical menu added.  (backwards compatible). [Nathan Kurz]
  225.  
  226.   *) New module which allows Apache's CGI and SSI environment to inherit
  227.      environment variables from the shell which invoked the httpd
  228.      process. CERN webservers are able to do this, so this module is
  229.      especially useful to webadmins who wish to migrate from CERN to Apache
  230.      without rewriting all their scripts [Andrew Wilson]
  231.  
  232.   *) Updated /cgi-src to the latest NCSA version, including the IBM-ERS patch
  233.      to close a security hole, as well as other changes to the distribution
  234.      since it was last updated (Apache 0.8.5) [Alexei Kosut]
  235.  
  236.   *) Move Configuration to Configuration.tmpl for CVS development. Make CVS
  237.      ignore Configuration, Makefile and modules.c. [Ben Laurie]
  238.  
  239. Changes with Apache 1.1b0
  240.  
  241.   *) Use shmget() (and family) for shared memory for the scoreboard
  242.      for SysV-based systems; basically A/UX and IRIX. Allow for
  243.      memory break-point (brk(0)) to be moved if need be before
  244.      attaching the mem segment. [Jim Jagielski]
  245.  
  246.   *) Use mmap() to allocated shared memory for the scoreboard on
  247.      Solaris, SunOS, Digital UNIX, BSDI and HP/UX. It should work on
  248.      most of the other architectures. [David Robinson]
  249.  
  250.   *) Cache the contents of .htaccess file for the duration of a request.
  251.      [David Robinson]
  252.  
  253.   *) Avoid use of strftime() whilst processing request. [David Robinson]
  254.  
  255.   *) Add the ability to have media type-based CGI script actions,
  256.      as well as an example and relevent srm.conf entries. [Alexei Kosut]
  257.  
  258.   *) Update to the icon set, and apache_pb (Powered by Apache!) logo
  259.      added [Alexei Kosut]
  260.  
  261.   *) Added an extra variable for use in mod_include: FILE_OWNER
  262.      which contains the owner of the file.  [Nick Williams]
  263.  
  264.   *)  Adds support for Keep-Alive persistent connections, as defined
  265.       in the HTTP/1.1 draft and implemented by several existing browsers
  266.       and servers. [Alexei Kosut and Rob Hartill]
  267.  
  268.   *) "HostnameLookups" is a new httpd.conf setting (on/off) to make obsolete
  269.      -DMINIMAL_DNS and enable name lookups to be switched
  270.      on/off without recompiling Apache. [Rob Hartill]
  271.  
  272.   *) Allows Redirect entries in .htaccess files, allowing users to
  273.      add their own redirects without using CGI scripts, asis files, or
  274.      access to the main server conf file. [Alexei Kosut]
  275.  
  276.   *) Scoreboard monitor program (C version) in support/ directory
  277.      [Jim Jagielski]
  278.  
  279.   *) A module to implement a caching HTTP and FTP proxy server
  280.      [David Robinson]
  281.  
  282.   *) Adds OS/2 support [Garey Smiley]
  283.  
  284.   *) Add Listen directive, causing Apache to bind to the address and
  285.      port specified. Allow <VirtualHost *>, <VirtualHost *:port>,
  286.      VirtualHost addr:*> syntaxes [David Robinson]
  287.  
  288.   *) Allow anonymous HTTP logins [Dirk van Gulik]
  289.  
  290.   *) Authentication using Berkeley DB [Andrew Cohen]
  291.  
  292.   *) Authentication using mSQL [Dirk van Gulik]
  293.  
  294.   *) Emulate the CERN HTTPD metafile semantics, allowing the ability
  295.      to manipulate HTTP headers for individual files. [Andrew Wilson[
  296.  
  297. Changes with Apache 1.0.3
  298.  
  299.   *) Internal redirects which occur in mod_dir.c now preserve the
  300.      query portion of a request (the bit after the question mark).
  301.      [Adam Sussman]
  302.  
  303.   *) Escape active characters '<', '>' and '&' in html output in
  304.      directory listings, error messages and redirection links.
  305.      [David Robinson]
  306.  
  307.   *) Apache will now work with LynxOS 2.3 and later [Steven Watt]
  308.  
  309.   *) Fix for POSIX compliance in waiting for processes in alloc.c.
  310.      [Nick Williams]
  311.  
  312.   *) setsockopt no longer takes a const declared argument [Martijn Koster]
  313.  
  314.   *) Reset timeout timer after each successful fwrite() to the network.
  315.      This patch adds a reset_timeout() procedure that is called by
  316.      send_fd() to reset the timeout ever time data is written to the net.
  317.      [Nathan Schrenk]
  318.  
  319.   *) timeout() signal handler now checks for SIGPIPE and reports
  320.      lost connections in a more user friendly way. [Rob Hartill]
  321.  
  322.   *) Location of the "scoreboard" file which used to live in /tmp is
  323.      now configurable (for OSes that can't use mmap) via ScoreBoardFile
  324.      which works similar to PidFile (in httpd.conf) [Rob Hartill]
  325.  
  326.   *) Include sys/resource.h in the correct place for SunOS4 [Samerr Parekh]
  327.  
  328.   *) the pstrcat call in mod_cookies.c didn't have an ending NULL,
  329.      which caused a SEGV with cookies enabled
  330.  
  331.   *) Output warning when MinSpareServers is set to <= 0 and change it to 1
  332.      [Rob Hartill]
  333.  
  334.   *) Log the UNIX textual error returned by some system calls, in
  335.      particular errors from accept() [David Robinson]
  336.  
  337.   *) Add strerror function to util.c for SunOS4 [Randy Terbush]
  338.  
  339. Changes with Apache 1.0.2
  340.  
  341.   *) patch to get Apache compiled on UnixWare 2.x, recommended as 
  342.      a temporary measure, pending rewrite of rfc931.c. [Chuck Murcko]
  343.  
  344.   *) Fix get_basic_auth_pw() to set the auth_type of the request.
  345.      [David Robinson]
  346.  
  347.   *) past changes to http_config.c to only use the 
  348.      setrlimit function on systems defining RLIMIT_NOFILE
  349.      broke the feature on SUNOS4. Now defines HAVE_RESOURCE
  350.      for SUNOS and prototypes the needed functions.
  351.  
  352.   *) Remove uses of MAX_STRING_LEN/HUGE_STRING_LEN from several routines.
  353.      [David Robinson]
  354.  
  355.   *) Fix use of pointer to scratch memory. [Cliff Skolnick]
  356.  
  357.   *) Merge multiple headers from CGI scripts instead of taking last
  358.      one. [David Robinson]
  359.  
  360.   *) Add support for SCO 5. [Ben Laurie]
  361.  
  362. Changes with Apache 1.0.1
  363.  
  364.   *) Silence mod_log_referer and mod_log_agent if not configured
  365.      [Randy Terbush]
  366.  
  367.   *) Recursive includes can occur if the client supplies PATH_INFO data
  368.      and the server provider uses relative links; as file.html
  369.      relative to /doc.shtml/pathinfo is /doc.shtml/file.html. [David Robinson]
  370.  
  371.   *) The replacement for initgroups() did not call {set,end}grent(). This
  372.      had two implications: if anything else used getgrent(), then
  373.      initgroups() would fail, and it was consuming a file descriptor.
  374.      [Ben Laurie]
  375.  
  376.   *) On heavily loaded servers it was possible for the scoreboard to get 
  377.      out of sync with reality, as a result of a race condition.
  378.      The observed symptoms are far more Apaches running than should
  379.      be, and heavy system loads, generally followed by catastrophic
  380.      system failure. [Ben Laurie]
  381.  
  382.   *) Fix typo in licence. [David Robinson]
  383.  
  384. Changes with Apache 1.0.0
  385.  
  386.   *) 'dbmmanage' script now takes fourth command-line argument, which is
  387.      group(s) of the user, if given.  [Rob Hartill]
  388.  
  389.   *) httpd_monitor Perl utility script added to "support" directory;
  390.      lets you know what your active server processes are up to.  [Known
  391.      to work on SunOS and HP-UX at least].  [Rob Hartill]
  392.  
  393.   *) Passes TZ environment variable to child processes if set on startup
  394.      [ David Robinson ]
  395.  
  396.   *) Attempting to retrieve the URI /foo/bar/zot.map (an imagemap request
  397.      with *no* QUERY_STRING) returns the default URL, rather than a core
  398.      dump.  [Mark Cox]
  399.  
  400.   *) Attempting to configure auth without any "requires" lines should now
  401.      be equivalent to "require valid-user", rather than a core dump.
  402.      [Patch supplied by J. Katzman]
  403.  
  404.   *) Getparents() routine fixed to handle some awkward corner cases better;
  405.      in particular, '/./' is eliminated from incoming URIs.  Also fixed the
  406.      no2slash() utility routine to reduce any number of consecutive slashes
  407.      to one.  These changes keep "trick" URIs from avoiding <Directory>
  408.      checks.  [David Robinson]
  409.  
  410.   *) Allowed any number of '/' characters to match a single '/' when
  411.      checking for Aliases; this keeps certain ScriptAlias directives
  412.      from getting bypassed.  [Robert Thau]
  413.  
  414.   *) DBM group code now checks all groups, not just the first [Rob Hartill]
  415.  
  416.   *) "allow from good.com" no longer allows clients from nogood.com to
  417.      connect; formerly this was allowed because the terminal substrings
  418.      do match.  [Robert Thau]
  419.  
  420.   *) Transactions interrupted in the middle of processing some include
  421.      directive are now logged correctly [Robert Thau]
  422.  
  423.   *) Cleaned up Configure script so it doesn't abuse EXTRA_LIBS to specify
  424.      host-specific default libraries.  [Ben Laurie]
  425.  
  426.   *) Cleaned up http_main code a bit; IdentityCheck may now work better on 
  427.      systems with virtual hosts.  [David Robinson]
  428.  
  429.   *) Improved installation instructions in top-level README [Brian Behlendorf]
  430.  
  431. Changes with Apache 0.8.16
  432.  
  433.   *) New man page for 'httpd' added to support directory [David Robinson]
  434.  
  435.   *) .htgroup files can have more than one line giving members for a
  436.      given group (each must have the group name in front), for NCSA
  437.      back-compatibility [Robert Thau]
  438.  
  439.   *) Mutual exclusion around accept() is on by default for SVR4 systems
  440.      generally, since they generally can't handle multiple processes in
  441.      accept() on the same socket.  This should cure flaky behavior on
  442.      a lot of those systems.  [David Robinson]
  443.  
  444.   *) AddType, AddEncoding, and AddLanguage directives take multiple
  445.      extensions on a single command line [David Robinson]
  446.  
  447.   *) UserDir can be disabled for a given virtual host by saying
  448.      "UserDir disabled" in the <VirtualHost> section --- it was a bug
  449.      that this didn't work.  [David Robinson]
  450.  
  451.   *) Compiles on QNX [Ben Laurie]
  452.  
  453.   *) Corrected parsing of ctime time format [David Robinson]
  454.  
  455.   *) httpd does a perror() before exiting if it can't log its pid
  456.      to the PidFile, to make diagnosing the error a bit easier.
  457.      [David Robinson]
  458.  
  459.   *) <!--#include file="..."--> can no longer include files in the
  460.      parent directory, for NCSA back-compatibility.  [David Robinson]
  461.  
  462.   *) '~' is *not* escaped in URIs generated for directory listings
  463.      [Roy Fielding]
  464.  
  465.   *) Eliminated compiler warning in the imagemap module [Randy Terbush]
  466.  
  467.   *) Fixed bug involving handling URIs with escaped %-characters
  468.      in redirects [David Robinson]
  469.  
  470. Changes with Apache 0.8.15
  471.  
  472.   *) Switched to new, simpler license
  473.  
  474.   *) Eliminated core dumps with improperly formatted DBM group files [Mark Cox]
  475.  
  476.   *) Don't allow requests for ordinary files to have PATH_INFO [Ben Laurie]
  477.  
  478.   *) Reject paths containing %-escaped '%' or null characters [David Robinson]
  479.  
  480.   *) Correctly handles internal redirects to files with names containing '%'
  481.      [David Robinson]
  482.  
  483.   *) Repunctuated some error messages [Aram Mirzadeh, Andrew Wilson]
  484.  
  485.   *) Use geteuid() rather than getuid() to see if we have root privilege,
  486.      so that server correctly resets privilege if run setuid root.  [Andrew
  487.      Wilson]
  488.  
  489.   *) Handle ftp: and telnet: URLs correctly in imagemaps (built-in module)
  490.      [Randy Terbush]
  491.  
  492.   *) Fix relative URLs in imagemap files [Randy Terbush]
  493.  
  494.   *) Somewhat better fix for the old "Alias /foo/ /bar/" business
  495.      [David Robinson]
  496.  
  497.   *) Don't repeatedly open the ErrorLog if a bunch of <VirtualHost>
  498.      entries all name the same one. [David Robinson]
  499.  
  500.   *) Fix directory listings with filenames containing unusual characters
  501.      [David Robinson]
  502.  
  503.   *) Better URI-escaping for generated URIs in directories with filenames
  504.      containing unusual characters [Ben Laurie]
  505.  
  506.   *) Fixed potential FILE* leak in http_main.c [Ben Laurie]
  507.  
  508.   *) Unblock alarms on error return from spawn_child() [David Robinson]  
  509.  
  510.   *) Sample Config files have extra note for SCO users [Ben Laurie]
  511.  
  512.   *) Configuration has note for HP-UX users [Rob Hartill]
  513.  
  514.   *) Eliminated some bogus Linux-only #defines in conf.h [Aram Mirzadeh]
  515.  
  516.   *) Nuked bogus #define in httpd.h [David Robinson]
  517.  
  518.   *) Better test for whether a system has setrlimit() [David Robinson]
  519.  
  520.   *) Calls update_child_status() after reopen_scoreboard() [David Robinson]
  521.  
  522.   *) Doesn't send itself SIGHUP on startup when run in the -X debug-only mode
  523.      [Ben Laurie]
  524.  
  525. Changes with Apache 0.8.14
  526.  
  527.   *) Compiles on SCO ODT 3.0 [Ben Laurie]
  528.  
  529.   *) AddDescription works (better) [Ben Laurie]
  530.  
  531.   *) Leaves an intelligible error diagnostic when it can't set group
  532.      privileges on standalone startup [Andrew Wilson]
  533.  
  534.   *) Compiles on NeXT again --- the 0.8.13 RLIMIT patch was failing on
  535.      that machine, which claims to be BSD but does not support RLIMIT.
  536.      [Randy Terbush]
  537.  
  538.   *) gcc -Wall no longer complains about an unused variable when util.c
  539.      is compiled with -DMINIMAL_DNS [Andrew Wilson]
  540.  
  541.   *) Nuked another compiler warning for -Wall on Linux [Aram Mirzadeh]
  542.  
  543. Changes with Apache 0.8.13
  544.  
  545.   *) Make IndexIgnore *work* (ooops) [Jarkko Torppa]
  546.  
  547.   *) Have built-in imagemap code recognize & honor Point directive [James
  548.      Cloos]
  549.  
  550.   *) Generate cleaner directory listings in directories with a mix of
  551.      long and short filenames [Rob Hartill]
  552.  
  553.   *) Properly initialize dynamically loaded modules [Royston Shufflebotham]
  554.  
  555.   *) Properly default ServerName for virtual servers [Robert Thau]
  556.  
  557.   *) Rationalize handling of BSD in conf.h and elsewhere [Randy Terbush,
  558.      Paul Richards and a cast of thousands...]
  559.  
  560.   *) On self-identified BSD systems (we don't try to guess any more),
  561.      allocate a few extra file descriptors per virtual host with setrlimit,
  562.      if we can, to avoid running out. [Randy Terbush]
  563.  
  564.   *) Write 22-character lock file name into buffer with enough space
  565.      on startup [Konstantin Olchanski]
  566.  
  567.   *) Use archaic setpgrp() interface on NeXT, which requires it [Brian
  568.      Pinkerton]
  569.  
  570.   *) Suppress -Wall warning by casting const away in util.c [Aram Mirzadeh]
  571.  
  572.   *) Suppress -Wall warning by initializing variable in negotation code
  573.      [Tobias Weingartner]
  574.  
  575. Changes with Apache 0.8.12
  576.  
  577.   *) Doesn't pause three seconds after including a CGI script which is
  578.      too slow to die off (this is done by not even trying to kill off
  579.      subprocesses, including the SIGTERM/pause/SIGKILL routine, until
  580.      after the entire document has been processed).  [Robert Thau]
  581.  
  582.   *) Doesn't do SSI if Options Includes is off.  (Ooops).  [David Robinson]
  583.  
  584.   *) Options IncludesNoExec allows inclusion of at least text/* [Roy Fielding]
  585.  
  586.   *) Allows .htaccess files to override <Directory> sections naming the
  587.      same directory [David Robinson]
  588.  
  589.   *) Removed an efficiency hack in sub_req_lookup_uri which was
  590.      causing certain extremely marginal cases (e.g., ScriptAlias of a
  591.      *particular* index.html file) to fail.  [David Robinson]
  592.  
  593.   *) Doesn't log an error when the requested URI requires
  594.      authentication, but no auth header line was supplied by the
  595.      client; this is a normal condition (the client doesn't no auth is
  596.      needed here yet).  [Robert Thau]
  597.  
  598.   *) Behaves more sanely when the name server loses its mind [Sean Welch]
  599.  
  600.   *) RFC931 code compiles cleanly on old BSDI releases [Randy Terbush]
  601.  
  602.   *) RFC931 code no longer passes out name of prior clients on current
  603.      requests if the current request came from a server that doesn't
  604.      do RFC931.  [David Robinson]
  605.  
  606.   *) Configuration script accepts "Module" lines with trailing whitespace.
  607.      [Robert Thau]
  608.  
  609.   *) Cleaned up compiler warning from mod_access.c [Robert Thau]
  610.  
  611.   *) Cleaned up comments in mod_cgi.c [Robert Thau]
  612.  
  613. Changes with Apache 0.8.11
  614.  
  615.   *) Wildcard <Directory> specifications work.  [Robert Thau]
  616.  
  617.   *) Doesn't loop for buggy CGI on Solaris [Cliff Skolnick]
  618.   
  619.   *) Symlink checks (FollowSymLinks off, or SymLinkIfOwnerMatch) always check
  620.      the file being requested itself, in addition to the directories leading
  621.      up to it. [Robert Thau]
  622.   
  623.   *) Logs access failures due to symlink checks or invalid client address
  624.      in the error log [Roy Fielding, Robert Thau]
  625.   
  626.   *) Symlink checks deal correctly with systems where lstat of
  627.      "/path/to/some/link/" follows the link.  [Thau, Fielding]
  628.  
  629.   *) Doesn't reset DirectoryIndex to 'index.html' when
  630.      other directory options are set in a .htaccess file.  [Robert Thau]
  631.   
  632.   *) Clarifed init code and nuked bogus warning in mod_access.c
  633.      [Florent Guillaume]
  634.   
  635.   *) Corrected several directives in sample srm.conf
  636.      --- includes corrections to directory indexing icon-related directives
  637.      (using unknown.gif rather than unknown.xbm as the DefaultIcon, doing
  638.      icons for encodings right, and turning on AddEncoding by default).
  639.      [Roy Fielding]
  640.   
  641.   *) Corrected descriptions of args to AddIcon and AddAlt in command table
  642.      [James Cloos]
  643.   
  644.   *) INSTALL & README mention "contributed modules" directory [Brian
  645.      Behlendorf]
  646.   
  647.   *) Fixed English in the license language...  "for for" --> "for".
  648.      [Roy Fielding]
  649.   
  650.   *) Fixed ScriptAlias/Alias interaction by moving ScriptAlias handling to
  651.      mod_alias.c, merging it almost completely with handling of Alias, and
  652.      adding a 'notes' field to the request_rec which allows the CGI module
  653.      to discover whether the Alias module has put this request through
  654.      ScriptAlias (which it needs to know for back-combatibility, as the old
  655.      NCSA code did not check Options ExecCGI in ScriptAliased directories).
  656.      [Robert Thau]
  657.   
  658.  
  659. Changes with Apache 0.8.10
  660.  
  661.   *) AllowOverride applies to the named directory, and not just
  662.      subdirectories.  [David Robinson]
  663.  
  664.   *) Do locking for accept() exclusion (on systems that need it)
  665.      using a special file created for the purpose in /usr/tmp, and
  666.      not the error log; using the error log causes real problems
  667.      if it's NFS-mounted; this is known to be the cause of a whole
  668.      lot of "server hang" problems with Solaris.  [David Robinson;
  669.      thanks to Merten Schumann for help diagnosing the problem].
  670.  
  671. Changes with Apache 0.8.9
  672.  
  673.   *) Compiles with -DMAXIMUM_DNS ---- ooops! [Henrik Mortensen]
  674.  
  675.   *) Nested includes see environment variables of the including document,
  676.      for NCSA bug-compatibility (some sites have standard footer includes
  677.      which try to print out the last-modified date).  [Eric Hagberg/Robert
  678.      Thau]
  679.  
  680.   *) <!--exec cgi="/some/uri/here"--> always treats the item named by the
  681.      URI as a CGI script, even if it would have been treated as something
  682.      else if requested directly, for NCSA back-combatibility.  (Note that
  683.      this means that people who know the name of the script can see the
  684.      code just by asking for it).  [Robert Thau]
  685.  
  686.   *) New version of dbmmanage script included in support directory as
  687.      dbmmanage.new.
  688.  
  689.   *) Check if scoreboard file couldn't be opened, and say so, rather
  690.      then going insane [David Robinson]
  691.  
  692.   *) POST to CGI works on A/UX [Jim Jaglieski]
  693.  
  694.   *) AddIcon and AddAlt commands work properly [Rob Hartill]
  695.  
  696.   *) NCSA server push works properly --- the Arena bug compatibility
  697.      workaround, which broke it, is gone (use -DARENA_BUG_WORKAROUND
  698.      if you still want the workaround).  [Rob Hartill]
  699.  
  700.   *) If client didn't submit any Accept-encodings, ignore encodings in
  701.      content negotiation.  (NB this will all have to be reworked anyway
  702.      for the new HTTP draft).  [Florent Guillaume]
  703.      
  704.   *) Don't dump core when trying to log timed-out requests [Jim Jaglieski]
  705.  
  706.   *) Really honor CacheNegotiatedDocs [Florent Guillaume]
  707.  
  708.   *) Give Redirect priority over Alias, for NCSA bug compatibility
  709.      [David Robinson]
  710.  
  711.   *) Correctly set PATH_TRANSLATED in all cases from <!--#exec cmd=""-->,
  712.      paralleling earlier bug fix for CGI [David Robinson]
  713.  
  714.   *) If DBM auth is improperly configured, report a server error and don't
  715.      dump core.
  716.  
  717.   *) Deleted FCNTL_SERIALIZED_ACCEPTS from conf.h entry for A/UX;
  718.      it seems to work well enough without it (even in a 10 hits/sec
  719.      workout), and the overhead for the locking under A/UX is
  720.      alarmingly high (though it is very low on other systems).
  721.      [Eric Hagberg]
  722.  
  723.   *) Fixed portability problems with mod_cookies.c [Cliff Skolnick]
  724.  
  725.   *) Further de-Berklize mod_cookies.c; change the bogus #include.  [Brian
  726.      Behlendorf/Eric Hagberg]
  727.  
  728.   *) More improvements to default Configuration for A/UX [Jim Jaglieski]
  729.  
  730.   *) Compiles clean on NEXT [Rob Hartill]
  731.  
  732.   *) Compiles clean on SGI [Robert Thau]
  733.  
  734. Changes with Apache 0.8.8
  735.  
  736.   *) SunOS library prototypes now never included unless explicitly
  737.      requested in the configuration (via -DSUNOS_LIB_PROTOTYPES);
  738.      people using GNU libc on SunOS are screwed by prototypes for the
  739.      standard library.
  740.  
  741.      (Those who wish to compile clean with gcc -Wall on a standard
  742.      SunOS setup need the prototypes, and may obtain them using
  743.      -DSUNOS_LIB_PROTOTYPES.  Those wishing to use -Wall on a system
  744.      with nonstandard libraries are presumably competent to make their
  745.      own arrangements).
  746.  
  747.   *) Strips trailing '/' characters off both args to the Alias command,
  748.      to make 'Alias /foo/ /bar/' work.
  749.  
  750. Changes with Apache 0.8.7
  751.  
  752.   *) Don't hang when restarting with a child from 'TransferLog "|..."' running
  753.      [reported by David Robinson]
  754.  
  755.   *) Compiles clean on OSF/1 [David Robinson]
  756.  
  757.   *) Added some of the more recent significant changes (AddLanguage stuff,
  758.      experimental LogFormat support) to CHANGES file in distribution root
  759.      directory
  760.  
  761. Changes with Apache 0.8.6
  762.  
  763.   *) Deleted Netscape reload workaround --- it's in violation of HTTP specs.
  764.      (If you actually wanted a conditional GET which bypassed the cache, you
  765.      couldn't get it). [Reported by Roy Fielding]
  766.  
  767.   *) Properly terminate headers on '304 Not Modified' replies to conditional
  768.      GETs --- no browser we can find cares much, but the CERN proxy chokes.
  769.      [Reported by Cliff Skolnick; fix discovered independently by Rob Hartill]
  770.  
  771.   *) httpd -v doesn't call itself "Shambhala".  [Reported by Chuck Murcko]
  772.  
  773.   *) SunOS lib-function prototypes in conf.h conditionalized on __GNUC__,
  774.      not __SUNPRO_C (they're needed to quiet gcc -Wall, but acc chokes on 'em,
  775.      and older versions don't set the __SUNPRO_C preprocessor variable).  On
  776.      all other systems, these are never used anyway.  [Reported by Mark Cox].
  777.  
  778.   *) Scoreboard file (/tmp/htstatus.*) no longer publically writable.
  779.  
  780. Changes with Apache 0.8.5
  781.  
  782.   *) Added last-minute configurable log experiment, as optional module
  783.  
  784.   *) Correctly set r->bytes_sent for HTTP/0.9 requests, so they get logged
  785.      properly.  (One-line fix to http_protocol.c).
  786.  
  787.   *) Work around bogus behavior when reloading from Netscape.
  788.      It's Netscape's bug --- for some reason they expect a request with
  789.      If-modified-since: to not function as a conditional GET if it also
  790.      comes with Pragma: no-cache, which is way out of line with the HTTP
  791.      spec (according to Roy Fielding, the redactor).  
  792.  
  793.   *) Added parameter to set maximum number of server processes.  
  794.  
  795.   *) Added patches to make it work on A/UX.  A/UX is *weird*.  [Eric Hagberg]
  796.  
  797.   *) IdentityCheck bugfix [Chuck Murcko].
  798.  
  799.   *) Corrected cgi-src/Makefile entry for new imagemap script.  [Alexei Kosut]
  800.  
  801.   *) More sample config file corrections; add extension to AddType for
  802.      *.asis, move AddType generic description to its proper place, and
  803.      fix miscellaneous typos. [ Alexei Kosut ]
  804.  
  805.   *) Deleted the *other* reference to the regents from the Berkeley
  806.      legal disclaimer (everyplace).
  807.  
  808.   *) Nuked Shambhala name from src/README; had already cleaned it out
  809.      of everywhere else.
  810.  
  811. Changes with Apache 0.8.4
  812.  
  813.   *) Changes to server-pool management parms --- renamed current
  814.      StartServers to MinSpareServers, created separate StartServers
  815.      parameter which means what it says, and renamed MaxServers to
  816.      MaxSpareServers (though the old name still works, for NCSA 1.4
  817.      back-combatibility).  The old names were generally regarded as
  818.      too confusing.  Also altered "docs" in sample config files.
  819.  
  820.   *) More improvements to default config files ---
  821.      sample directives (commented out) for XBitHack, BindAddress,
  822.      CacheNegotiatedDocs, VirtualHost; decent set of AddLanguage
  823.      defaults, AddTypes for send-as-is and imagemap magic types, and
  824.      improvements to samples for DirectoryIndex [Alexei Kosut]
  825.  
  826.   *) Yet more improvements to default config files --- changes to
  827.      Alexei's sample AddLanguage directives, and sample LanguagePriority
  828.      [ Florent Guillaume ]
  829.  
  830.   *) Set config file locations properly if not set in httpd.conf
  831.      [ David Robinson ]
  832.  
  833.   *) Don't escape URIs in internal redirects multiple times; don't
  834.      do that when translating PATH_INFO to PATH_TRANSLATED either.
  835.      [ David Robinson ]
  836.  
  837.   *) Corrected spelling of "Required" in 401 error reports [Andrew Wilson]
  838.  
  839. Changes with Apache 0.8.3
  840.  
  841.   *) Edited distribution README to *briefly* summarize installation
  842.      procedures, and give a pointer to the INSTALL file in the src/
  843.      directory.
  844.  
  845.   *) Upgraded imagemap script in cgi-bin to 1.8 version from more
  846.      recent NCSA distributions.
  847.  
  848.   *) Bug fix to previous bug fix --- if .htaccess file and <Directory>
  849.      exist for the same directory, use both and don't segfault.  [Reported
  850.      by David Robinson]
  851.  
  852.   *) Proper makefile dependencies [David Robinson]
  853.  
  854.   *) Note (re)starts in error log --- reported by Rob Hartill.
  855.  
  856.   *) Only call no2slash() after get_path_info() has been done, to
  857.      preserve multiple slashes in the PATH_INFO [NCSA compatibility,
  858.      reported by Andrew Wilson, though this one is probably a real bug]
  859.  
  860.   *) Fixed mod_imap.c --- relative paths with base_uri referer don't
  861.      dump core when Referer is not supplied. [Randy Terbush]
  862.  
  863.   *) Lightly edited sample config files to refer people to our documentation
  864.      instead of NCSA's, and to list Rob McCool as *original* author (also
  865.      deleted his old, and no doubt non-functional email address).  Would be
  866.      nice to have examples of new features...
  867.  
  868. Changes with Apache 0.8.2
  869.  
  870.   *) Added AddLanuage code [Florent Guillaume]
  871.  
  872.   *) Don't say "access forbidden" when a CGI script is not found.  [Mark Cox] 
  873.  
  874.   *) All sorts of problems when MultiViews finds a directory.  It would
  875.      be nice if mod_dir.c was robust enough to handle that, but for now,
  876.      just punt.  [reported by Brian Behlendorf]
  877.  
  878.   *) Wait for all children on restart, to make sure that the old socket
  879.      is gone and we can reopen it.  [reported by Randy Terbush]
  880.  
  881.   *) Imagemap module is enabled in default Configuration 
  882.  
  883.   *) RefererLog and UserAgentLog modules properly default the logfile
  884.      [Randy Terbush]
  885.  
  886.   *) Mark Cox's mod_cookies added to the distribution as an optional
  887.      module (commented out in the default Configuration, and noted as
  888.      an experiment, along with mod_dld). [Mark Cox]
  889.  
  890.   *) Compiles on Ultrix (a continuing battle...). [Robert Thau]
  891.  
  892.   *) Fixed nasty bug in SIGTERM handling [reported by Randy Terbush]
  893.  
  894.   *) Changed "Shambhala" to "Apache" in API docs. [Robert Thau]
  895.  
  896.   *) Added new, toothier legal disclaimer. [Robert Thau; copied from BSD
  897.      license]
  898.  
  899. Changes with Apache 0.8.1
  900.  
  901.   *) New imagemap module [Randy Terbush]
  902.  
  903.   *) Replacement referer log module with NCSA-compatible RefererIgnore
  904.      [Matthew Gray again]
  905.  
  906.   *) Don't mung directory listings with very long filenames.
  907.      [Florent Guillaume]
  908.  
  909. Changes with Apache 0.8.0 (nee Shambhala 0.6.2):
  910.  
  911.   *) New config script.  See INSTALL for info.  [Robert Thau]
  912.  
  913.   *) Scoreboard mechanism for regulating the number of extant server
  914.      processes.  MaxServers and StartServers defaults are the same as
  915.      for NCSA, but the meanings are slightly different.  (Actually,
  916.      I should probably lower the MaxServers default to 10).
  917.  
  918.      Before asking for a new connection, each server process checks
  919.      the number of other servers which are also waiting for a
  920.      connection.  If there are more than MaxServers, it quietly dies
  921.      off.  Conversely, every second, the root, or caretaker, process
  922.      looks to see how many servers are waiting for a new connection;
  923.      if there are fewer than StartServers, it starts a new one.  This
  924.      does not depend on the number of server processes already extant.
  925.      The accounting is arranged through a "scoreboard" file, named
  926.      /tmp/htstatus.*, on which each process has an independant file
  927.      descriptor (they need to seek without interference).
  928.  
  929.      The end effect is that MaxServers is the maximum number of
  930.      servers on an *inactive* server machine, but more will be forked
  931.      off to handle unusually heavy loads (or unusually slow clients);
  932.      these will die off when they are no longer needed --- without
  933.      reverting to the overhead of full forking operation.  There is a
  934.      hard maximum of 150 server processes compiled in, largely to
  935.      avoid forking out of control and dragging the machine down.
  936.      (This is arguably too high).
  937.  
  938.      In my server endurance tests, this mechanism did not appear to
  939.      impose any significant overhead, even after I forced it to put the
  940.      scoreboard file on a normal filesystem (which might have more
  941.      overhead than tmpfs).  [Robert Thau]
  942.    
  943.   *) Set HTTP_FOO variables for SSI <!--#exec cmd-->s, not just CGI scripts.
  944.      [Cliff Skolnick]
  945.  
  946.   *) Read .htaccess files even in directory with <Directory> section.
  947.      (Former incompatibility noted on mailing list, now fixed). [Robert
  948.      Thau]
  949.  
  950.   *) "HEAD /" gives the client a "Bad Request" error message, rather
  951.      than trying to send no body *and* no headers.  [Cliff Skolnick].
  952.  
  953.   *) Don't produce double error reports for some very obscure cases
  954.      mainly involving auth configuration (the "all modules decline to
  955.      handle" case which is a sure sign of a server bug in most cases,
  956.      but also happens when authentication is badly misconfigured).
  957.      [Robert Thau]
  958.  
  959.   *) Moved FCNTL_SERIALIZED_ACCEPT defines into conf.h (that's what
  960.      it's *for*, and this sort of thing really shouldn't be cluttering
  961.      up the Makefile). [Robert Thau]
  962.  
  963.   *) Incidental code cleanups in http_main.c --- stop dragging
  964.      sa_client around; just declare it where used.  [Robert Thau]
  965.   
  966.   *) Another acc-related fix.  (It doesn't like const char
  967.      in some places...). [Mark Cox]
  968.  
  969. Changes with 0.6.1
  970.  
  971.   *) Fixed auth_name-related typos in http_core.c [Brian Behlendorf]
  972.      Also, fixed auth typo in http_protocol.c unmasked by this fix.
  973.  
  974.   *) Compiles clean with acc on SunOS [Paul Sutton]
  975.  
  976.   *) Reordered modules in modules.c so that Redirect takes priority
  977.      over ScriptAlias, for NCSA bug-compatibility [Rob Hartill] ---
  978.      believe it or not, he has an actual site with a ScriptAlias and
  979.      a Redirect declared for the *exact same directory*.  Even *my*
  980.      compatibility fetish wouldn't motivate me to fix this if the fix
  981.      required any effort, but it doesn't, so what the hey. 
  982.  
  983.   *) Fixed to properly default several server_rec fields for virtual
  984.      servers from the corresponding fields in the main server_rec.
  985.      [Cliff Skolnick --- 'port' was a particular irritant].
  986.  
  987.   *) No longer kills off nph- child processes before they are
  988.      finished sending output. [Matthew Gray]
  989.  
  990. Changes with 0.6.0
  991.  
  992.   *) Two styles of timeout --- hard and soft.  soft_timeout()s just put
  993.      the connection to the client in an "aborted" state, but otherwise
  994.      allow whatever handlers are running to clean up.  hard_timeout()s
  995.      abort the request in progress completely; anything not tied to some
  996.      resource pool cleanup will leak.  They're still around because I
  997.      haven't yet come up with a more elegant way of handling
  998.      timeouts when talking to something that isn't the client.  The
  999.      default_handler and the dir_handler now use soft timeouts, largely
  1000.      so I can test the feature.  [Robert Thau]
  1001.  
  1002.   *) TransferLog "| my_postprocessor ..." seems to be there.  Note that
  1003.      the case of log handlers dying prematurely is probably handled VERY
  1004.      gracelessly at this point, and if the logger stops reading input,
  1005.      the server will hang.  (It is known to correctly restart the
  1006.      logging process on server restart; this is (should be!) going through
  1007.      the same SIGTERM/pause/SIGKILL routine used to ding an errant CGI
  1008.      script).  [Robert Thau]
  1009.  
  1010.   *) asis files supported (new module).  [Robert Thau]
  1011.  
  1012.   *) IdentityCheck code is compiled in, but has not been tested.  (I
  1013.      don't know anyone who runs identd). [Robert Thau]
  1014.  
  1015.   *) PATH_INFO and PATH_TRANSLATED are not set unless some real PATH_INFO
  1016.      came in with the request, for NCSA bug-compatibility. [Robert Thau]
  1017.  
  1018.   *) Don't leak the DIR * on HEAD request for a directory. [Robert Thau]
  1019.  
  1020.   *) Deleted the block_alarms() stuff from dbm_auth; no longer necessary,
  1021.      as timeouts are not in scope. [Robert Thau]
  1022.  
  1023.   *) quoted-string args in config files now handled correctly (doesn't drop
  1024.      the last character). [Robert Thau; reported by Randy Terbush]
  1025.  
  1026.   *) Fixed silly typo in http_main.c which was suddenly fatal in HP-UX.
  1027.      How the hell did it ever work? [Robert Thau; reported by Rob Hartill]
  1028.  
  1029.   *) mod_core.c --- default_type returns DEFAULT_TYPE (the compile-time
  1030.      default default type); the former default default behavior when all
  1031.      type-checkers defaulted had been a core dump.  [Paul Sutton]
  1032.  
  1033.   *) Copy filenames out of the struct dirent when indexing
  1034.      directories.  (On Linux, readdir() returns a pointer to the same
  1035.      memory area every time).  Fix is in mod_dir.c.  [Paul Sutton]
  1036.  
  1037. Changes with 0.5.3 [not released]
  1038.  
  1039.   *) Default response handler notes "file not found" in the error log,
  1040.      if the file was not found.  [Cliff Skolnick].
  1041.  
  1042.   *) Another Cliff bug --- "GET /~user" now properly redirects (the userdir
  1043.      code no longer sets up bogus PATH_INFO which fakes out the directory
  1044.      handler). [Cliff Skolnick]
  1045.  
  1046. Changes with 0.5.2
  1047.  
  1048.   *) Changes to http_main.c --- root server no longer plays silly
  1049.      games with SIGCHLD, and so now detects and replaces dying
  1050.      children.  Child processes just die on SIGTERM, without taking
  1051.      the whole process group with them.  Potential problem --- if any
  1052.      child process refuses to die, we hang in restart.
  1053.      MaxRequestsPerChild may still not work, but it certainly works
  1054.      better than it did before this!  [Robert Thau]
  1055.  
  1056.   *) mod_dir.c bug fixes: ReadmeName and HeaderName
  1057.      work (or work better, at least); over-long description lines
  1058.      properly terminated. [Mark Cox]
  1059.  
  1060.   *) http_request.c now calls unescape_url() more places where it
  1061.      should [Paul Sutton].
  1062.  
  1063.   *) More directory handling bugs (reported by Cox)
  1064.      Parent Directory link is now set correctly. [Robert Thau]
  1065.  
  1066. Changes with 0.5.1: [Hopefully complete]
  1067.  
  1068.   *) Generalized cleanup interface in alloc.c --- any function can be
  1069.      registered with alloc.c as a cleanup for a resource pool;
  1070.      tracking of files and file descriptors has been reimplemented in
  1071.      terms of this interface, so I can give it some sort of a test.
  1072.      [Robert Thau]
  1073.  
  1074.   *) More changes in alloc.c --- new cleanup_for_exec() function,
  1075.      which tracks down and closes all file descriptors which have been
  1076.      registered with the alloc.c machinery before the server exec()s a
  1077.      child process for CGI or <!--#exec-->.  CGI children now get
  1078.      started with exactly three file descriptors open.  Hopefully,
  1079.      this cures the problem Rob H. was having with overly persistent
  1080.      CGI connections. [Robert Thau]
  1081.  
  1082.   *) Mutual exclusion around the accept() in child_main() --- this is
  1083.      required on at least SGI, Solaris and Linux, and is #ifdef'ed in
  1084.      by default on those systems only (-DFCNTL_SERIALIZED_ACCEPT).
  1085.      This uses fcntl(F_SETLK,...) on the error log descriptor because
  1086.      flock() on that descriptor won't work on systems which have BSD
  1087.      flock() semantics, including (I think) Linux 1.3 and Solaris.
  1088.  
  1089.      This does work on SunOS (when the server is idle, only one
  1090.      process in the pool is waiting on accept()); it *ought* to work
  1091.      on the other systems. [Robert Thau]
  1092.  
  1093.   *) FreeBSD and BSDI portability tweaks [Chuck Murcko]
  1094.  
  1095.   *) sizeof(*sa_client) bugfix from [Rob Hartill]
  1096.  
  1097.   *) pstrdup(..., NULL) returns NULL, [Randy Terbush]
  1098.  
  1099.   *) block_alarms() to avoid leaking the DBM* in dbm auth (this should
  1100.      be unnecessary if I go to the revised timeout-handling scheme).
  1101.      [Robert Thau]
  1102.  
  1103.   *) For NCSA bug-compatibility, set QUERY_STRING env var (to a null
  1104.      string) even if none came in with the request.  [Robert Thau]
  1105.  
  1106.   *) CHANGES file added to distribution ;-).
  1107.