Newer
Older
*) 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]
*) 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>]
Loading full blame...