Newer
Older
*) Fix a restart problem when cgid is used. Code in the parent
httpd process was trying to clear a pool which is now only
initialized in the child. [Greg Ames, Jeff Trawick]
*) 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>]
*) 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]
an error, other than a success or redirect. Also optimized
the parent directory, always included except in the URI '/'.
[William Rowe]
*) Refactored mod_negotiation and mod_mime to help mod_dir accept
negotiated index pages, and prevent the server from defaulting
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]
*) 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
associate .exe files with that content type. Multiviews must be
enabled to allow these to be served. [William Rowe]
*) 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>]
*) Fix broken mod_mime behavior in merging its arguments. Possible
cause of unexplicable crashes introduced in 2.0.20. [William Rowe]
*) 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]
*) 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]
*) 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]
*) Improve content generation throughout Apache, providing closer
compliance with HTML 3.2, HTML 4.01 Transitional and XHTML 1.0
Transitional specifications. [William Rowe]
*) 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]
*) 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
conditions. [Greg Ames]
*) 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
*) 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>]
*) 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>]
*) 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]
Loading full blame...