Newer
Older
*) Many improvements to the threadpool MPM. [Aaron Bannert]
Justin Erenkrantz
committed
*) Fix subreqs that are promoted via fast_redirect from having invalid
frec->r structures. This would cause subtle errors later on in
request processing such as seen in PR 7966. [Justin Erenkrantz]
*) More efficient pool recycling logic for the worker MPM [Brian Pane]
*) Modify the worker MPM to not accept() new connections until
there is an available worker thread. This prevents queued
connections from starving for processing time while long-running
connections were hogging all the available threads. [Aaron Bannert]
*) Convert the worker MPM's fdqueue from a LIFO back into a FIFO.
[Aaron Bannert]
*) Get basic HTTP proxy working on EBCDIC machines. [Jeff Trawick]
*) Allow mod_unique_id to work on systems with no IPv4 address
corresponding to their host name. [Jeff Trawick]
Justin Erenkrantz
committed
*) Fix suexec behavior with user directories. PR 7810.
Justin Erenkrantz
committed
Justin Erenkrantz
committed
*) Reject a blank UserDir directive since it is ambiguous. PR 8472.
[Justin Erenkrantz]
*) Make mod_mime use case-insensitive matching when examining
extensions on all platforms. PR 8223. [Justin Erenkrantz]
*) Add an intelligent error message should no proxy submodules be
valid to handle a request. PR 8407 [Graham Leggett]
*) Major improvements in concurrent processing for AB by enabling
non-blocking connect()s and preventing APR from doing blocking
read()s. Also implement fatal error checking for apr_recv().
[Aaron Bannert]
*) Fix Win32 NTFS Junctions (symlinks). PR 8014 [William Rowe]
*) Fix Win32 'short name' aliases in httpd.conf directives.
PR 8009 [William Rowe]
*) Fix generation of default httpd.conf when the layout paths are
disjoint. PR 7979, 8227. [Justin Erenkrantz]
*) Swap downgrade-1.0 and force-response-1.0 conditional checks so
that downgraded responses can have force-response. PR 8357.
[Justin Erenkrantz]
*) Fix perchild MPM so that it can be configured with the move to the
*) Fix perchild MPM so that it uses ap_gname2id for groups instead of
*) Fix AcceptPathInfo. PR 8234 [Cliff Woolley]
*) SECURITY: CVE-2002-1592 (cve.mitre.org) [CERT VU#165803]
Added the APLOG_TOCLIENT flag to ap_log_rerror() to
explicitly tell the server that warning messages should be sent
to the client in addition to being recorded in the error log.
Prior to this change, ap_log_rerror() always sent warning
messages to the client. In one case, a faulty CGI script caused
the server to send a warning message to the client that contained
the full path to the CGI script. This could be considered a
minor security exposure. [Bill Stoddard]
*) mod_autoindex output when SuppressRules was specified would
omit the first carriage return so the first item in the list
would appear to the right of the column headings instead of
*) Moved the call to apr_mmap_dup outside the error branch so
that it would actually get called. This fixes a core dump
at init everytime you use the MMapFile directive. PR 8314
[Paul J. Reder]
*) Trigger an error when a LoadModule directive attempts to
load a module which is built-in. This is a common error when
switching from a DSO build to a static build. [Jeff Trawick]
*) Change instdso.sh to use libtool --install everywhere and then
clean up some stray files and symlinks that libtool leaves around
on some platforms. This gets subversion building properly since
it needed a re-link to be performed by libtool at install time,
and the old instdso.sh logic to simply cp the DSO didn't handle
that requirement. [Sander Striker]
*) Allow VPATH builds to succeed when configured from an empty
*) Fix 'control reaches end of non-void function' warning in
*) Perchild MPM is now correctly deemed as experimental and is now
located in server/mpm/experimental. [Justin Erenkrantz]
*) Fix segfault in mod_mem_cache when garabge collecting an expired
cache entry. [Bill Stoddard]
*) Introduced -E startup_logfile_name option to httpd to allow admins
to begin logging errors immediately. This provides Win32 users
an alternative to sending startup errors to the event viewer, and
allows other daemon tool authors an alternative to logging to stderr.
[William Rowe]
*) Fix subreqs with non-defined Content-Types being served improperly.
[Justin Erenkrantz]
*) Merge in latest GNU config.guess and config.sub files. PR 7818.
[Justin Erenkrantz]
*) Move 100 - Continue support to the HTTP_IN filter so that filters
are guaranteed to support 100 - Continue logic without any
intervention. [Justin Erenkrantz]
Justin Erenkrantz
committed
*) Add HTTP chunked input trailer support. [Justin Erenkrantz]
*) Rename and export get_mime_headers as ap_get_mime_headers.
[Justin Erenkrantz]
*) Allow empty Host: header arguments. PR 7441. [Justin Erenkrantz]
*) Properly substitute sbindir as httpd's location in apachectl. PR 7840.
*) Allow Win32 shebang scripts to follow the path (or omit the .exe
suffix from the shebang command), and allow ScriptInterpreterSource
Registry or RegistryStrict to override shebang lines, as 1.3 did.
*) worker MPM: Fix a situation where a child exited without releasing
the accept mutex. Depending on the OS and mutex mechanism this
could result in a hang. [Jeff Trawick]
*) Update the instructions for how to get started with mod_example.
[Stas Bekman]
*) Fix PidFile to default to rel_runtimedir instead of
rel_logfiledir. PR 7841. [Andreas Hasenack <andreas netbank.com.br>]
Bill Stoddard
committed
*) Win32: Fix problem that caused rapid performance degradation
when number of connecting clients exceeded ThreadsPerChild.
[Bill Stoddard]
*) Fixed a segfault parsing large SSIs on non-mmap systems.
[Brian Havard]
*) Proxy was bombing out every second keepalive request, caused by a
stray CRLF before the second response's status line. Proxy now
tries to read one more line if it encounters a CRLF where it
expected a status. PR 10010 [Graham Leggett]
*) Deprecated the apr_lock.h API. Please see the following files
for the improved thread and process locking and signaling:
apr_proc_mutex.h, apr_thread_mutex.h, apr_thread_rwlock.h,
apr_thread_cond.h, and apr_global_mutex.h. [Aaron Bannert]
*) Change mod_status to use scoreboard accessor functions so it can
be used in any MPM without having to be recompiled.
*) Fix parsing of some AP_DECLARE_DATA declarations so that the filter
handle declarations are recognized. This fixes problems loading
mod_autoindex on some platforms. [Brian Havard]
*) add optional fixup hook to proxy [Daniel Lopez <daniel covalent.net>]
*) Remind the admin about the User and Group directives when we are
unable to set permissions on a semaphore. PR 7812 [Jeff Trawick]
*) fix possible compilation problem in ssl_engine_kernel.c. PR 7802
[Doug MacEachern]
*) fix possible infinite loop in mod_ssl triggered by certain
netscape clients [Doug MacEachern]
*) fix ProxyPass when frontend is https and backend is http
[Doug MacEachern]
*) Add DASL support to mod_dav
Changes with Apache 2.0.35
*) mod_rewrite: updated to use the new APR global mutex type.
[Aaron Bannert]
*) Fixes for mod_include errors on boundary conditions in which
"<!--#" occurs at the very end of a bucket
[Paul Reder, Brian Pane]
*) worker, prefork, perchild, beos MPMs: Add -DFOREGROUND switch to
cause the Apache parent process to run in the foreground (similar to
-DNO_DETACH except that it doesn't switch session ids).
[Jeff Trawick]
Jim Jagielski
committed
*) Added support for Posix semaphore mutex locking (AcceptMutex posixsem)
for those platforms that support it. If using the default
implementation, this is between pthread and sysvsem in priority.
This implies it's the new default for Darwin. [Jim Jagielski]
*) AIX: Fix the syntax for setting the LDR_CNTRL and AIXTHREAD_SCOPE
environment variables in the envvars file. [Jeff Trawick]
*) worker MPM: Don't create a listener thread until we have a worker
thread. Otherwise, in situations where we'll have to wait a while
to take over scoreboard slots from a previous generation, we'll be
accepting connections we can't process yet. [Jeff Trawick]
*) Allow worker MPM to build on systems without pthread_kill().
[Pier Fumagalli, Jeff Trawick]
*) Prevent ap_add_output_filters_by_type from being called in
ap_set_content_type if the content-type hasn't changed.
[Justin Erenkrantz]
*) Performance: implemented the bucket allocator made possible by the
API change in 2.0.34. [Cliff Woolley]
*) Don't allow initialization to succeed if we can't get a socket
corresponding to one of the Listen statements. [Jeff Trawick]
*) Allow all Perchild directives to accept either numerical UID/GID
*) Make Perchild compile cleanly and serve pages again. [Ryan Bloom]
*) implement ssl proxy to support ProxyPass / https:// and the
SSLProxy* directives [Doug MacEachern]
*) Update mod_cgid to not do single-byte socket reads for CGI headers
[Brian Pane]
*) Made AB's use of the Host: header rfc2616 compliant
*) The old, legacy (and unused) code in which the scoreboard was totally
and completely contained in a file (SCOREBOARD_FILE) has been
removed. This does not affect scoreboards which are *mapped* to
files using named-shared-memory. [Jim Jagielski]
*) Change bucket brigades API to allow a "bucket allocator" to be
passed in at certain points. This allows us to implement freelists
so that we can stop using malloc/free so frequently.
[Cliff Woolley, Brian Pane]
*) Add support for macro expansion within the variable names in
<!--#echo--> and <!--#set--> directives [Brian Pane]
*) Fix some mod_include segfaults [Cliff Woolley, Brian Pane, Brad Nicholes]
*) Update the "RedHat" Layout to match Red Hat Linux version 7. PR BZ-7422
*) add compat layer to support RSA SSLC 1.x and 2.x in mod_ssl
[Jon Travis, John Barbee, William Rowe, Ryan Bloom, Doug MacEachern]
*) Add a new parameter to the quick_handler hook to instruct
quick handlers to optionally do a lookup rather than actually
serve content. This is the first of several changes required fix
several problems with how quick handlers work with subrequests.
[Bill Stoddard]
*) worker MPM: Get MaxRequestsPerChild to work again. [Jeff Trawick]
*) [APR-related] The ordering of the default accept mutex method has
been changed to better match what's done in Apache 1.3. The ordering
is now (highest to lowest): pthread -> sysvsem -> fcntl -> flock.
[Jim Jagielski]
*) Ensure that the build/ directory is created when using VPATH.
[Justin Erenkrantz]
*) Add some popular types to the mime magic file. PR 7730.
*) Remove the single-byte socket reads for CGI headers [Brian Pane]
*) When a proxied site was being served, Apache was replacing
the original site Server header with it's own, which is not
allowed by RFC2616. Fixed. [Graham Leggett]
*) Fix a mod_cgid problem that left daemon processes stranded
in some server restart scenarios. [Jeff Trawick]
*) Added exp_foo and rel_foo variables to config_vars.mk for
all Apache and Autoconf path variables (like --sysconfdir,
--sbindir, etc). exp_foo is the "expanded" version, which means
that all internal variable references have been interpolated.
rel_foo is the same as $exp_foo, only relative to $prefix if they
share a common path. [Aaron Bannert]
*) Fix some restart/terminate problems in the worker MPM. Don't
drop connections during graceful restart. [Jeff Trawick]
*) Change the header merging behaviour in proxy, as some headers
(like Set-Cookie) cannot be unmerged due to stray commas in
dates. [Graham Leggett]
*) Be more vocal about what AcceptMutex values we allow, to make
us closer to how 1.3 does it. [Jim Jagielski]
*) Get nph- CGI scripts working again. PRs 8902, 8907, 9983
[Jeff Trawick]
*) Upgraded PCRE library to latest version 3.9 [Brian Pane]
Bill Stoddard
committed
*) Add accessor function to set r->content_type. From now on,
ap_rset_content_type() should be used to set r->content_type.
This change is required to properly implement the
AddOutputFilterByType configuration directive.
[Bill Stoddard, Sander Striker, Ryan Bloom]
*) Add new M_FOO symbols for the WebDAV/DeltaV methods specified by
RFC 3253. Improved the method name/number mapping functions.
[Greg Stein]
*) remove sock_enable_linger from connection.c [Ian Holsman]
*) Fix for virtual host processing where the requested hostname
*) mod_dav's APIs for REPORT response handling was changed so that
providers can generate the content directly into the output filter
stack, rather than buffering the response into memory. [Greg Stein]
*) Fix a hang condition with graceful restart and prefork MPM
in the situation where MaxClients is very high but
much fewer servers are actually started at the time of the
restart. [Jeff Trawick]
*) Small performance fixes for mod_include [Brian Pane]
*) Performance improvement for the error logger [Brian Pane]
*) Change configure so that Solaris 8 and above have
SINGLE_LISTEN_UNSERIALIZED_ACCEPT defined by default.
according to sun people solaris 8+ doesn't have a thundering
herd problem [Ian Holsman]
*) Allow URIs specifying CGI scripts to include '/' at the end
(e.g., /cgi-bin/printenv/) on AIX and Solaris (and other OSs
which ignore '/' at the end of the names of non-directories).
PR 10138 [Jeff Trawick]
*) implement SSLSessionCache shmht and shmcb based on apr_rmm and
*) Fix apxs -g handling. Move config_vars.mk from the top build
directory to the build directory. PR 10163 [Jeff Trawick]
*) Fix some mod_include problems which broke evaluation of some
expressions. PR 10108 [Jeff Trawick]
*) Fix the calculation of request time in mod_status. [Stas Bekman]
*) Fix the calculation of thread_num in the worker score structure.
[Stas Bekman]
*) Use apr_atomic operations in managing the mod_mem_cache
cache_objects for SMP scalability. (see USE_ATOMICS
preprocessor directive in mod_file_cache)
[Bill Stoddard]
*) Add filehandle caching to mod_mem_cache. (see CACHE_FD
preprocessor directive in mod_file_cache)
[Bill Stoddard]
*) Implement prototype mod_disk_cache for use with mod_cache.
[Bill Stoddard]
*) Add a missing manualdir entry in the Debian config.layout.
Justin Erenkrantz
committed
*) Stop installing libtool for APR and tell APR where it should place
its copy of libtool (via our installbuildpath layout variable).
[Justin Erenkrantz]
*) New directive ProxyIOBufferSize. Sets the size of the buffer used
when reading from a remote HTTP server in proxy. [Graham Leggett]
*) Modify receive/send loop in proxy_http and proxy_ftp so that
should it be necessary, the remote server socket is closed before
transmitting the last buffer (set by ProxyIOBufferSize) to the
client. This prevents the backend server from being forced to hang
around while the last few bytes are transmitted to a slow client.
Fix the case where no error checking was performed on the final
brigade in the loop. [Graham Leggett]
*) Scrap CacheMaxExpireMin and CacheDefaultExpireMin. Change
CacheMaxExpire and CacheDefaultExpire to use seconds rather than
hours. [Graham Leggett, Bill Stoddard]
*) New Directive SSIUndefinedEcho. to change the '(none)' echoed
for a undefined variable. [Ian Holsman]
*) Proxy HTTP and CONNECT: Keep trying other addresses from the DNS
when we can't get a socket in the specified address family. We may
have gotten back an IPv6 address first and yet our system is not
configured to allow IPv6 sockets. [Jeff Trawick]
*) Be more careful about recursively removing CVS directories. Make
sure that we aren't cd'ing to their home directory first. PR: 9993
*) Add a missing errordir entry in the Debian config.layout. PR: 10067
[Dirk-Jan Faber <dirk-jan selwerd.nl>, Aaron Bannert,
Thom May <thom planetarytramp.net>]
*) Rename the filter ordering priorities. The recent filtering fixes
have showcased problems with their usage. Therefore, we need to
rename them to increase the clarity. (CONTENT->RESOURCE,
HTTP_HEADER->CONTENT_SET/PROTOCOL) [Justin Erenkrantz]
*) Fix a problem in the new --enable-layout functionality where
it wouldn't allow overrides from variables like --prefix,
*) Fix a bug in the core input filter for AP_MODE_EXHAUSTIVE. It
no longer hangs around waiting for the socket to close before
returning exhaustive data. [Aaron Bannert]
*) rename apr_exploded_time_t to apr_time_exp_t (as per renames pending)
*) Change mod_ssl to always do a full startup/teardown on restarts.
this allows mod_ssl to be added to a server that is already
running and makes it possible to add/change certs/keys after the
server has been started. [Doug MacEachern]
*) Introduce PassPhraseDialog "|/path/to/pipe" mechanism to mod_ssl.
This pipe must be a bidirectional 'console' style relay, which
*) Fix bug where --sysconfdir and --localstatedir were being
PR 9888
*) Fix --enable-layout to work again. Caution: When specifying
--enable-layout, common arguments like --prefix, --exec-prefix,
etc. will be ignored and the settings from the layout will be
PR 9124, 9873, 9885
*) New Directive for mod_proxy: ProxyRemoteMatch. This provides
regex pattern matching for the determination of which requests
to use the remote proxy for. [Jim Jagielski]
*) Fix CustomLog bytes-sent with HTTP 0.9. [Justin Erenkrantz]
*) All instances of apr_lock_t have been removed and converted
to one of the following new lock APIs: apr_thread_mutex.h,
apr_proc_mutex.h, or apr_global_mutex.h. No new code should
use the apr_lock.h API, as the old API will soon be deprecated.
[Aaron Bannert]
*) Merged in changes to mod_ssl up through 2.8.7-1.3.23.
[Ralf S. Engelschall, Cliff Woolley]
*) mod-include: make it handle flush'es and fix the 'false-alarm'
[Justin Erenkrantz, Brian Pane, Ian Holsman]
*) ap_get_*_filter_handle() functions to allow 3rd party modules
to lookup filter handles so they can bypass the filter name
lookup when adding filters to a request (via ap_add_*_filter_handle())
*) Fix for multiple file buckets on Win32, where the first file
bucket would cause the immediate closure of the socket on any
*) Correct Win32 failure of mmap of a segment beyond start of the
file; fixes large SSL and similar transfers. [William Rowe]
PR 9898
*) Implement apr_proc_detach changes and allow -DNO_DETACH in the
multi-process mode to not "daemonize" while detaching from the
controlling terminal. This is necessary for Apache to work with
process-management tools like AIX's "System Resource Controller"
as well as Dan Bernstein's "daemontools".
*) Convert mod_auth_digest to use the new apr_global_mutex_t
type. [Aaron Bannert]
*) fix bug in mod-include where it wouldn't send a unmatched
part if it was at the end of a bucket [Ian Holsman]
*) worker MPM: Improve logging of errors with the interface between
the listener thread and worker threads. [Jeff Trawick]
*) Some browsers ignore cookies that have been merged into a
single Set-Cookie header. Set-Cookie and Set-Cookie2 headers
are now unmerged in the http proxy before being sent to the
client. [Graham Leggett]
*) Fix a problem with proxy where each entry of a duplicated
header such as Set-Cookie would overwrite and obliterate the
previous value of the header, resulting in multiple header
values (like cookies) going missing.
[Graham Leggett, Joshua Slive]
*) Add the server-limit and thread-limit values to the scoreboard
for the sake of third-party applications.
*) Fix segfault when proxy recieves an invalid HTTP response [Ian Holsman]
*) OS/390: Get make install to properly copy DSO modules.
[Jeff Trawick]
*) Win32: Fix bug in mod_status with displaying "Restart Time"
[Bill Stoddard]
Justin Erenkrantz
committed
*) Fix IPv6 name-based virtual hosts. [Jeff Trawick]
*) Introduce AddOutputFilterByType directive. [Justin Erenkrantz]
*) Fix DEBUG_CGI support in mod_cgi. PR 9670, 9671.
*) Fix incorrect check for script_in in mod_cgi. PR 9669.
Justin Erenkrantz
committed
*) Fix segfault and display error when SSLMutex file can not be
Justin Erenkrantz
committed
*) Add reference counting to mod_mem_cache cache objects to
better manage removing objects from the cache.
[Bill Stoddard]
*) Change the verbage on the ScoreBoardFile in our default configs.
Also change the default to be commented out (unspecified) so we
get anonymous shared memory by default. [Aaron Bannert]
*) Implement new ScoreBoardFile directive logic. This affects how
we create the scoreboard's shared memory segment. If the directive
is present, a name-based segment is created. If the directive is
not present, first an anonymous segment is created, and if that
fails, a name-based segment is created from a file of the name
DEFAULT_SCOREBOARD. This gives third-party applications the
ability to access our scoreboard. [Aaron Bannert]
Justin Erenkrantz
committed
*) Allow mod_deflate to work with non-GET requests and properly send
Justin Erenkrantz
committed
*) Fix ap_directory_merge() to correctly merge configs when there is
no <Directory /> block. [Justin Erenkrantz, William Rowe]
*) Remove spurious debug messsages that are normal under HTTP
keep-alive logic. [Jeff Trawick, Justin Erenkrantz]
*) Fix a bug in mod_cgid that would prevent proper shutdown death
of the cgid process. [Aaron Bannert]
*) Add signal handling back in to the worker MPM for the one_process
(-X, -DDEBUG, -DONE_PROCESS) case. [Aaron Bannert]
*) Performance: Reuse per-connection transaction pools in the
worker MPM, rather than destroying and recreating them. [Brian Pane]
*) Remove all signals from the worker MPM's child process. Instead,
the parent uses the Pipe of Death for all communication with the
child processes. [Ryan Bloom]
*) mod_negotiation: ForceLanguagePriority now uses 'Prefer' as the
default if the directive is not specified. This mirrors older
behavior without changes to the httpd.conf. [William Rowe]
*) Win32: solve the win32 service problems in 2.0.31-alpha, by fixing
the service, mpm and logging code, and bugs in apr_file_open_stderr
and apr_file_dup2 functions. Win2K/XP services have no handles
associated for stdin/out/err, which caused unpredictable behavior
in the prior release. [William Rowe, Bill Stoddard]
*) Win32: simplify the Application Event Log messages, since there isn't
likely to be 'more information in the error log' before an error log
has been opened. [William Rowe]
*) Win32: substantial cleanup to the mpm_winnt code for legibility and
to follow the program flow of other MPMs. [Ryan Bloom, William Rowe]
*) Win32: apache -k shutdown now behaves like apache -k stop.
[Bill Stoddard]
*) Fix prefork to not kill the parent if a child hits a resource shortage
on accept(). [Greg Ames]
*) Fix seg faults that occur when what should be the httpd request line
starts with \r\n followed by garbage. [Greg Ames]
*) Allow statically linked support binaries with the new
--enable-static-support flag, and enable this behavior in
the binbuild script. Also add a new --enable-static-htdbm
flag. [Aaron Bannert]
Justin Erenkrantz
committed
*) Allow mod_autoindex to serve symlinks if permitted and attempt to
do only one stat() call when generating the directory listings.
[Justin Erenkrantz]
*) Fix resolve_symlink to save the original symlink name if known.
[Justin Erenkrantz]
*) Be a bit more sane with regard to CanonicalNames. If the user has
specified they want to use the CanonicalName, but they have not
configured a port with the ServerName, then use the same port that
the original request used. [Ryan Bloom and Ken Coar]
*) In core_input_filter, check for an empty brigade after
APR_BRIGADE_NORMALIZE(). Otherwise, we can get segfaults if a
client says it will post some data but we get FIN before any
data arrives. [Jeff Trawick]
*) Not being able to bind to the socket is a fatal error. We should
print an error to the console, and return a non-zero status code.
With these changes, all of the Unix MPMs do that correctly.
[Ryan Bloom]
*) suexec: Allow HTTPS and SSL_* environment variables to be passed
through to CGI scripts. PR 9163
[Brian Reid <breid customlogic.com>,
Zvi Har'El <rl math.technion.ac.il>]
*) binbuild.sh: Make sure that we use the expat from our source
tree so that there aren't any surprises on the target machine.
[Jeff Trawick]
*) mod_cgid: Add retry logic for when the daemon can't fork fast
enough to keep up with new requests. Start using
HTTP_SERVER_UNAVAILABLE instead of HTTP_INTERNAL_SERVER_ERROR
when we can't talk to the daemon. [Jeff Trawick]
Jeff Trawick
committed
*) apxs: LTFLAGS envvar can override default libtool options. Try
"LTFLAGS=' ' apxs -c mod_foo.c" to see what libtool does under
the covers. [Jeff Trawick]
*) The Location: response header field, used for external
redirect, *must* be an absoluteURI. The Redirect directive
tested for that, but RedirectMatch didn't -- it would allow
almost anything through. Now it will try to turn an abs_path
into an absoluteURI, but it will correctly varf like Redirect
if the final redirection target isn't an absoluteURI. [Ken Coar]
*) Create the scoreboard (in the parent) in a global pool context,
so it survives graceful restarts. This fixes a SEGV during
graceful restarts. [Aaron Bannert]
*) Add a timeout option to the proxy code 'ProxyTimeout'
[Ian Holsman]
*) FTP directory listings are now always retrieved in ASCII mode.
The FTP proxy properly escapes URI's and HTML in the generated
listing, and escapes the path components when talking to the FTP
server. It is now possible to browse the root directory by using
a url like: ftp://user@host/%2f/ (ported from apache_1.3.24)
Also, the last path component may contain wildcard characters
'*' and '?', and if they do, a directory listing is created instead
of a file retrieval. Example: ftp://user@host/httpd/server/*.c
[Martin Kraemer]
*) Added single-listener unserialized accept support to the
worker MPM [Brian Pane]
*) New Directive for mod_proxy: 'ProxyPreserveHost'. This passes
the incoming host header through to the proxied server
*) New Directive Option for ProxyPass. It now can block a location
*) Don't let the default handler try to serve a raw directory. At
best you get gibberish. Much worse things can happen depending
on the OS. [Jeff Trawick]
*) Change the pre_config hook to return a value. Modules can now emit
an error message and then cause the server to quit gracefully during
startup. This required a bump to the MMN. [Aaron Bannert]
*) Fix some unix socket descriptor leaks in the handler side of
mod_cgid (the part that runs in the server process). Whack a
silly "close(-1)" in the handler too. [Jeff Trawick]
*) Change the pre_mpm hook to return a value, so that scoreboard
init errors percolate up to code that knows how to exit
cleanly. This required a bump to the MMN. [Jeff Trawick]
*) Add the socket back to the conn_rec and remove the create_connection
hook. The create_connection hook had a design flaw that did not
allow creating connections based on vhost info. [Bill Stoddard]
*) Fixed PATH_INFO and QUERY_STRING from mod_negotiation results.
Resolves the common case of using negotation to resolve the request
/script/foo for /script.cgi/foo. [William Rowe]
*) Added new functions ap_add_(input|output)_filter_handle to
allow modules to bypass the usual filter name lookup when
adding hard-coded filters to a request [Brian Pane]
*) caching should now work on subrequests (still very experimental)
*) The Win32 mpm_winnt now has a shared scoreboard. [William Rowe]
*) Change ap_get_brigade prototype to use apr_off_t instead of apr_off_t*.
[Justin Erenkrantz]
Justin Erenkrantz
committed
*) Refactor ap_rgetline so that it does not use an internal brigade.
Change ap_rgetline's prototype to return errors. [Justin Erenkrantz]
*) Remove mod_auth_db. [Justin Erenkrantz]
*) Do not install unnecessary pcre headers like config.h and internal.h.
*) Change in quick_hanlder behavior for subrequests. it now passes DONE
(as it does for a normal request). quick_handled sub-requests now work
in mod-include [Ian Holsman]
*) Change SUBREQ_CORE so that it is a 'HTTP_HEADER' filter instead of
'CONTENT' one, as it needs to run AFTER all content headers
*) Rename BeOS MPM directive RequestsPerThread to MaxRequestsPerThread.
[Lars Eilebrecht]
*) Split out blocking from the mode in the input filters.
[Justin Erenkrantz]
*) Fix a segfault in mod_include. [Justin Erenkrantz, Jeff Trawick]
*) Cause Win32 to capture all child-worker process errors in
Apache to the main server error log, until the child can
*) HPUX 11.*: Do not kill the child process when accept()
returns ENOBUFS on HPUX 11.*. (ported from th 1.3 patch)
[Madhusudan Mathihalli <madhusudan_mathihalli hp.com>, Bill Stoddard]
*) Fix a problem in the parsing of the <Proxy foo> directive.
[Jeff Trawick]
Doug MacEachern
committed
*) rewrite of mod_ssl input filter for better performance and less
memory usage [Doug MacEachern]
*) allow quick_handler to be run on subrequests. [Ian Holsman]
*) mod_dav now asks its provider to place content directly into the
filter stack when handling a GET request. The mod_dav/provider
API has changed, so providers need to be updated. [Greg Stein]
*) Clear the output socket descriptor in unixd_accept() to make sure
we don't supply a bogus socket to the caller if the accept fails.
This caused problems with the worker MPM, which tried to process
the returned socket if it was non-NULL. [Brian Pane]
*) Move a check for an empty brigade to the start of core input filter
to avoid segfaults. [Justin Erenkrantz, Jeff Trawick]
*) Add FileETag directive to allow configurable control of what
data are used to form ETag values for file-based URIs. MMN
bumped to 20020111 because of fields added to the end of
the core_dir_config structure. [Ken Coar]
*) Fix a segfault in mod_rewrite's logging code caused by passing the
wrong config to ap_get_remote_host(). [Jeff Trawick]
*) Allow mod_cgid to work from a binary distribution install by
using 755 for the permissions on the log directory instead of
750. [Jeff Trawick]
*) Fixed a segfault that happened during graceful shutdown (or when
the httpd ran out of file descriptors) with the worker MPM [Brian Pane]
*) Split all Win32 modules [excluding the core components mod_core,
mod_so, mod_win32 and the winnt mpm] into individual loadable
modules, so the administrator may individually disable the former
compiled-in modules by simply commenting out their LoadModule
directives. [William Rowe]
*) Saved Win32 module authors and porters many future headaches, by
duplicating the appropriate .h files such as os.h into the include
directory, including in the build tree. [William Rowe]
*) mod_ssl adjustments to help with using toolkits other than OpenSSL:
Use SSL functions/macros instead of directly dereferencing SSL
structures wherever possible.
Add type-casts for the cases where functions return a generic pointer.
Add $SSL/include to configure search path.
*) Moved several pointers out of the shared Scoreboard so it is
more portable, and will present the vhost name across server
generation restarts. [William Rowe]
Doug MacEachern
committed
*) Fix SSLPassPhraseDialog exec: and SSLRandomSeed exec:
[Doug MacEachern]
*) Fix the main bug for FreeBSD and threaded MPM's. There are
still issues (see STATUS) but at least the server will now
run without crashing the machine.
[David Reid, Aaron Bannert, Justin Erenkrantz]
*) Fix a typo in mod_deflate's m4 config section.
*) Fix a couple of mod_proxy problems forwarding HTTP connections
and handling CONNECT:
(1) PR #9190 Proxy failed to connect to IPv6 hosts.
(2) Proxy failed to connect when the first IP address returned by
the resolver was unreachable but a secondary IP address was.
[Jeff Trawick]
*) Fix the module identifer as shown in the docs for various core
modules (e.g., the identifer for mod_log_config was previously
listed as config_log_module). PR #9338
*) Fix LimitRequestBody directive by placing it in the HTTP
filter. [Justin Erenkrantz]
*) Fix mod_proxy seg fault when the proxied server returns
an HTTP/0.9 response or a bogus status line.
[Adam Sussman]
*) Prevent mod_proxy from truncating one character off the
end of the status line returned from the proxied server.
[Adam Sussman, Bill Stoddard]
*) Eliminate loop in ap_proxy_string_read().
[Adam Sussman, Bill Stoddard]
*) Provide $0..$9 results from mod_include regex parsing.
[William Rowe]
*) Allow mod-include to look for alternate start & end tags [Ian Holsman]
*) Introduced the ForceLanguagePriority directive, to prevent
returning MULTIPLE_CHOICES or NONE_ACCEPTABLE in some cases,
when using Multiviews. [William Rowe]
*) Fix a problem which prevented mod_cgid and suexec from working
together reliably [Greg Ames]
*) Remove the call to exit() from within mod_auth_digest's post_config
phase. [Aaron Bannert]
*) Fix a problem in mod_auth_digest that could potentially cause
problems with initialized static data on a system that uses DSOs.
[Aaron Bannert]
*) Fix a segfault in the worker MPM that could happen during
child process exits. [Brian Pane, Aaron Bannert]
*) Allow mod_auth_dbm to handle multiple DBM types [Ian Holsman]
*) Fix matching of vhosts by ip address so we find IPv4
vhost address when target address is v4-mapped form of
that address. [Jeff Trawick]
*) More performance tweaks to the BNDM string-search algorithm
used to find "<!--#" tokens in mod_include [Brian Pane]
*) Miscellaneous small performance fixes: optimized away various
string copy operations and removed large temp buffers from
the stack [Brian Pane]
*) Fixed startup segfault that occurred when a VirtualHost
directive had a port but no address [Brian Pane]
*) Allow htdbm to work with multiple DBM types [Ian Holsman]
Bill Stoddard
committed
*) Win32: Made change to apr_sendfile() to return APR_ENOTIMPL
if oslevel < WINNT. This should fix several problems reported
Against 2.0.28 on Windows 98 [Bill Stoddard]
*) Win32: Fix bug that could cause CGI scripts with QUERY_STRINGS
to fail. [Bill Stoddard]
*) Change core code to allow an MPM to set hard thread/server
limits at startup. prefork, worker, and perchild MPMs now have
directives to set these limits. [Jeff Trawick]
*) Win32: The async AcceptEx() event should be autoreset upon
successful completion of a wait (WaitForSingleObject). This
eliminates a number of spurious
setsockopt(SO_UPDATE_ACCEPT_CONTEXT) failed." messages.
[Bill Stoddard]
*) Move any load library path environment variables out of
apachectl and into a separate environment variable file which
can be more easily tailored by the admin. The environment
variable file as built by Apache may have additional system-
specific settings. For example, on OS/390 we tailor the heap
settings to allow lots of threads. [Jeff Trawick]
*) Use the new APR pool code to reduce pool-related lock
contention in the worker MPM. [Sander Striker]
*) The POD no longer assumes the child is listening on 127.0.0.1
and now pulls the first hostname in the list of listeners to
perform the dummy connect on. This fixes a bug when the user
had configured the Listen directive for an IP other than
127.0.0.1. This would result in undead children and error
messages such as "Connection refused: connect to listener".
[Aaron Bannert]
*) The worker MPM now respects the LockFile setting, needed to
avoid locking problems with NFS. [Jeff Trawick]
*) Fix segfault when worker MPM receives SIGHUP.
[Ian Holsman, Aaron Bannert, Justin Erenkrantz]
*) Fix bug that could potentially prevent the perchild MPM from
working with more than one vhost/uid. [Aaron Bannert]
*) Change make install and apxs -i processing of DSO modules to
perform special handling on platforms where libtool doesn't install
mod_foo.so. This fixes some wonkiness on HP-UX, Tru64, and AIX
which prevented standard LoadModule statements from working.
[Jeff Trawick]
*) Whenever mod_so is enabled (not just when there are DSOs for
our modules), do whatever special magic is required for compiling/
loading third-party modules. This allows third-party DSOs to
be used on an AIX build when there were no built-in modules
built as DSOs. (This should help on OS/390 and BeOS as well.)
[Jeff Trawick]
*) Allow apxs to be used to build DSOs on AIX without requiring the
user to hard-code the list of import files. (This should help
on OS/390 and BeOS as well.) [Jeff Trawick]
*) Resolved segfault in mod_isapi when configuring with ISAPICacheFile.
PR 8563, 8919 [William Rowe]
*) Get binary builds working when libapr and libaprutil are built
shared [Greg Ames]
*) Get shared builds of libapr and libaprutil, as well as Apache DSOs,
working on AIX. [Aaron Bannert, Dick Dunbar <RLDunbar pacbell.net>,
Gary Hook <ghook us.ibm.com>, Victor Orlikowski, Jeff Trawick]
*) Fix the handling of SSI directives in which the ">" of the
terminating "-->" is the last byte in a file [Brian Pane]
*) Add back in the "suEXEC mechanism enabled (wrapper: /path/to/suexec)"
message that we had back in apache-1.3 and still have scattered
throughout our docs. [Aaron Bannert]
*) Prevent the Win32 port from continuing after encountering an
error in the command line args to apache. [William Rowe]
*) On a error in the proxy, make it write a line to the error log
[Ian Holsman]
Doug MacEachern
committed
*) Various mod_ssl performance improvements [Doug MacEachern]
*) Add buffering in core_output_filter to ensure that long
lists of small buckets don't cause small packet writes.
[Brian Pane, Ryan Bloom]
*) Fix the installation target to make sure that the manual is
installed in the correct location.
[Yoshifumi Hiramatsu <hiramatu boreas.dti.ne.jp> and
Gomez Henri <hgomez slib.fr>]
*) Fix the cmd command for mod_include. When we are processing
a cmd command, we do not want to use the r->filename to set
the command name. The command comes from the SSI tag. To do this,
I added a variable to the function that builds the command line
in mod_cgi. This allows the include_cmd function to specify
the command line itself. [Ryan Bloom]
*) Change open_logs hook to return a value, allowing you
to flag a error while opening logs
[Ian Holsman, Doug MacEachern]
*) Change post_config hook to return a value, allowing you
to flag a error post config
[Ian Holsman, Jeff Trawick]