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

  *) Begin to sanitize the MPM configuration directives.  Now, all
     MPMs use the same functions for all common MPM directives.  This
     should make it easier to catch all bugs in these directives once.
     [Cody Sherr <csherr@covalent.net>]

  *) Close a major resource leak.  Everytime we had issued a
     graceful restart, we leaked a socket descriptor.
     [Ryan Bloom]

  *) Fix a problem with the new method code.  We need to cast
     the 1 to an apr_int64_t or it will be treated as a 32-bit
     integer, and it will wrap after being shifted 32 times.
     [Cody Sherr <csherr@covalent.net> and Ryan Morgan <rmorgan@covalent.net>]

  *) Fix a bug in mod_expires.  Previous to this patch, if you
     told mod_expires to add 604800 seconds to the last-modified
     time, it actually added 604800 usec's to the last-modified time,
     so that when looking at the response it looked like nothing
     had been done.  The root of the problem was that we always compute
     time in usec's, but we ask users to input sec's.  This means we
     need to convert to usec's before using those values.
     [Ryan Bloom]

  *) The worker MPM now handles shutdown and restart requests.  It
     definately isn't perfect, but we do stop the servers correctly.
     The biggest problem right now is that SIGHUP causes the server to
     just die.  [Ryan Bloom]

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>]

Loading full blame...