Skip to content
CHANGES 440 KiB
Newer Older
Changes with Apache 2.0.24-dev

Cliff Woolley's avatar
Cliff Woolley committed
Changes with Apache 2.0.23
  *) Use the prefork MPM by default on Unix.  [various]

  *) mod_rewrite: Fix the line ending on some non-Unix systems for 
     messages written to the rewrite log.  
     [Richard Labennett <rlabenn@us.ibm.com>]

William A. Rowe Jr's avatar
 
William A. Rowe Jr committed
  *) All mod_autoindex query parsing is now quietly quashed with the 
     IndexOption IgnoreClient.  The IndexOption SuppressColumnSorting 
     still drops the column sort <a href>'s for the column headers, but 
     IgnoreClient is required to ignore these Query options entirely.  
     [William Rowe]

  *) Introduced new mod_autoindex query argument parsing for F=[0|1|2]
     to allow the client to select plain, FancyIndexing or HTMLTable
     formatting, V=[0|1] to inhibit or enable version sorting, and 
     P=pattern to return only specific files.  The old Query Arguments
     were reorganized as C=f for sorting column 'f' (same N, D, S, or M
     as before), and O=A|D for ordering ascending or descending.  
     [William Rowe]

  *) Fixed an error in mod_include's directive parsing routines which
     caused #if, #elif, and #else expressions containing backslashes
     to be improperly evaluated.  [Cliff Woolley]

  *) Introduced new mod_autoindex IndexOptions flags; SuppressIcon to 
     drop the icon column, SuppressRules to drop the <hr> elements, 
     and HTMLTable to create rudimentary HTML table listings (implies 
     FancyIndexing).  [William Rowe]

  *) Re-Introduced the mod_autoindex IndexOptions flag TrackModified
     from Apache 1.3.15.  This is needed for two reasons, first, given
     multiple machines within a server farm, ETags and Last-Modified 
     stamps won't correspond from machine to machine, and second, many 
     Unixes don't capture changes to the date or time stamp of existing 
     files, since these don't modify the dirent itself.  [William Rowe]

  *) Re-Introduced the mod_autoindex InextOptions flag FoldersFirst 
     and DirectoryWidth options from Apache 1.3.10. 
     [William Rowe, Ken Coar]

  *) Eliminated FancyIndexing directive, depricated early in Apache
     1.3 by the IndexOptions FancyIndexing syntax.  [William Rowe]

William A. Rowe Jr's avatar
 
William A. Rowe Jr committed
  *) mod_autoindex now excludes any file names that would result in
     an error, other than a success or redirect.  Also optimized
     the parent directory, always included except in the URI '/'.
     [William Rowe]
William A. Rowe Jr's avatar
 
William A. Rowe Jr committed

William A. Rowe Jr's avatar
 
William A. Rowe Jr committed
  *) Refactored mod_negotiation and mod_mime to help mod_dir accept
     negotiated index pages, and prevent the server from defaulting
William A. Rowe Jr's avatar
 
William A. Rowe Jr committed
     to an autoindex of the directory.  mod_negotiation will now die
     with a 500 Internal Error if it could match some filenames 
     (e.g. for mod_dir) but none can be served.  mod_negotation now
     refuses to serve any file with an extention that mod_mime doesn't
     recognize, and wasn't part of the request.  [William Rowe]
William A. Rowe Jr's avatar
 
William A. Rowe Jr committed

William A. Rowe Jr's avatar
 
William A. Rowe Jr committed
  *) Eliminate mod_cgi's handling of .exe files without the .exe file
     extension.  This is already handled by multiviews, if the admin
     wishes to AddHandler .exe or define a content type handler and 
William A. Rowe Jr's avatar
 
William A. Rowe Jr committed
     associate .exe files with that content type.  Multiviews must be
     enabled to allow these to be served.  [William Rowe]
William A. Rowe Jr's avatar
 
William A. Rowe Jr committed

  *) Speed up the server's response to a spike in incoming workload
     or restarts by assigning empty scoreboard slots to new processes
     when they are available.  [Greg Ames]

  *) Add a handler to mod_includes.c.  This handler is designed to
     implement the XbitHack directive.  This can't be done with a
     fixup, because we need to check the content-type, which is
     only available in the handler phase.  [Ryan Bloom]

  *) Make the includes filter check return codes from filters lower in
     the filter chain.  If a lower level filter returns an error, then
     the request needs to stop immediately.  This allows mod_include to
     stop parsing data once a lower filter recognizes an error.
     [Ryan Bloom]

  *) Add the ability to extend the methods that Apache understands
     and have those methods <limit>able in the httpd.conf. It uses 
     the same bit mask/shifted offset as the original HTTP methods 
     such as M_GET or M_POST, but expands the total bits from an int to 
     an ap_int64_t to handle more bits for new request methods than 
     an int provides.  [Cody Sherr <csherr@covalent.net>]

William A. Rowe Jr's avatar
 
William A. Rowe Jr committed
  *) Fix broken mod_mime behavior in merging its arguments.  Possible
     cause of unexplicable crashes introduced in 2.0.20.  [William Rowe]

William A. Rowe Jr's avatar
 
William A. Rowe Jr committed
  *) Solve many mod_ssl porting issues (too many to detail) with 
     help from the whole team, but most notably [Ralf S. Engelschall, 
     Madhusudan Mathihalli <madhusudan_mathihalli@hp.com>, 
     Doug MacEachern, William Rowe, Cliff Woolley]
William A. Rowe Jr's avatar
 
William A. Rowe Jr committed

  *) More stall fixes for the threaded & worker mpm's.
     Make mod_status output more accurate.  Don't
     count workers in processes which aren't actively
     serving requests. [Greg Ames]
     
  *) Win32: Get SSI exec cgi tag working. [Bill Stoddard]
William A. Rowe Jr's avatar
 
William A. Rowe Jr committed

  *) Add a single listener/multiple worker MPM.  This MPM is
     definately not fully correct, but it allows us to solve many
     of the problems that exist in the threaded MPM.  This is a 
     modified version of the threaded MPM.  [Ryan Bloom]

William A. Rowe Jr's avatar
 
William A. Rowe Jr committed
  *) Improve content generation throughout Apache, providing closer
     compliance with HTML 3.2, HTML 4.01 Transitional and XHTML 1.0
     Transitional specifications.  [William Rowe]

William A. Rowe Jr's avatar
 
William A. Rowe Jr committed
Changes with Apache 2.0.22
  
  *) Fix a problem where the threaded MPM stalls after restarts or
     segfaults.  Also prevent multiple active processes from using
     the same scoreboard slot.  [Greg Ames]
William A. Rowe Jr's avatar
 
William A. Rowe Jr committed
  *) Apache/Win32 now fills in the service description with Apache's
     server version string, including loaded and advertised modules.
     [William Rowe]

  *) Improved support for the Win32 build, to recover gracefully from
     missing apr or apr-util directories or the awk interpreter, 
     create the proper cgi-bin examples, including a test-cgi.bat, and 
     fix the perl shebang line for printenv.pl, when installing from 
     the build environment.  [William Rowe]

  *) Fix a segfault in threaded.c caused by passing uninitialized
     apr_thread_t * to apr_thread_join().  [Jeff Trawick]

  *) Use new APR number conversion functions to reduce CPU consumption 
     when setting the content length, and in mod_log_config.
     [Brian Pane]
     
  *) Fix problem reported by Taketo Kabe <kabe@sra-tohoku.co.jp>
     where HEAD response headers were being repeated twice for
     files greater than 32K bytes (4*AP_MIN_BYTES_TO_WRITE). This
     problem in the http_header filter was exposed by the recent rewrite
     of the content_length filter. [Taketo Kabe, Bill Stoddard]

  *) Fix seg faults in mod_status with ExtendedStatus enabled, after
     restarts.  A garbage pointer to a vhost's server_rec from the
     previous generation was being left around under certain
Ryan Bloom's avatar
Ryan Bloom committed

  *) Fix a cosmetic problem with mod_include.  Non-existant SSI vars
     used to appear as '(none', without the closing paren.
     [Günter Knauf <eflash@gmx.net>]

  *) Improve the exports generating awk script.  In the past, we had
     work around problems in the awk script by avoiding some #if and
     #ifdefs.  This has bitten us many times in generating the exports.c
     file.  This improvement allows corrects the header file parsing.
     [Sander Striker <striker@apache.org>]

Changes with Apache 2.0.21
William A. Rowe Jr's avatar
 
William A. Rowe Jr committed
  *) Resolve the Win32 htpasswd bug, where a file that existed would be
     overwritten, regardless of the -c flag.
     [William Rowe, Mladen Turk <mladen.turk@mail.inet.hr>]

William A. Rowe Jr's avatar
 
William A. Rowe Jr committed
  *) Introduce connection sub-pools into ab.  Truncating the lifetime
     of these allocations means that ab no longer perpetually grows
     its working set, running out of memory on large request attempts.
     [William Rowe]

  *) Make scoreboard creation a hook.  This allows management
     modules to have access to the scoreboard at the time that it is
     created, and at every restart request.  
     [Cody Sherr <csherr@covalent.net>]

Paul J. Reder's avatar
 
Paul J. Reder committed
  *) Changed AP_MPMQ_MAX_DAEMONS to refer to MaxClients and
     added an AP_MPMQ_MAX_DAEMON_USED to refer to the highest
     daemon index actually used in the scoreboard. I also
     updated the pertinent calls. [Paul J. Reder]

  *) Win32: Prevent listening sockets from being inherited by
     the Apache child process, CGI scripts, rotatelog process
     etc.  If the Apache child process segfaults, any processes 
     that the child started are not reaped. Prior to this fix,
     these processes inherited the listening sockets which sometimes
     prevented the restarted Apache child process from accepting
     connections (ie, the server would hang). 
     [Bill Stoddard]

  *) Provide vhost and request strings when ExtendedStatus is on.
     [Greg Ames]

  *) Fix some issues with the pod and prefork: check the pod *after*
     processing a connection so that a server processing a time-
     consuming request bails out as soon as practical; when the
     parent process wakes up a server process via connect(), use an
     APR timeout on the connect() so that we don't hang for a long
     time if there aren't server processes around to do accept().
     [Jeff Trawick, Greg Ames]

  *) Performance improvement to mod_mime.c. find_ct() in mod_mime, 
     spends a lot of time in apr_table_get calls.  Using the default 
     httpd.conf, the tables for languages and charsets are somewhat
Loading full blame...