You are viewing a plain text version of this content. The canonical link for it is here.
Posted to cvs@httpd.apache.org by je...@apache.org on 2002/02/16 20:01:29 UTC
cvs commit: httpd-dist Announcement2.html Announcement2.txt HEADER.html README.html
jerenkrantz 02/02/16 11:01:29
Modified: . Announcement2.html Announcement2.txt HEADER.html
README.html
Log:
2.0.32 release info
Revision Changes Path
1.13 +500 -907 httpd-dist/Announcement2.html
Index: Announcement2.html
===================================================================
RCS file: /home/cvs/httpd-dist/Announcement2.html,v
retrieving revision 1.12
retrieving revision 1.13
diff -u -r1.12 -r1.13
--- Announcement2.html 20 Nov 2001 08:29:35 -0000 1.12
+++ Announcement2.html 16 Feb 2002 19:01:29 -0000 1.13
@@ -14,15 +14,29 @@
>
<IMG SRC="../../images/apache_sub.gif" ALT="">
-<H2 ALIGN="CENTER">Apache 2.0.28 Released as Beta</H2>
+<H2 ALIGN="CENTER">Apache 2.0.32 Released as Beta</H2>
-<P>The Apache Group is proud to announce the twenty-eighth release
-of Apache 2.0. This is the second public beta of Apache 2.0.
-This release has been tested thoroughly and has been running the
-apache.org web site since Nov. 9, 2001.</P>
+<p>The Apache HTTP Server Project is proud to announce the thirty-second
+release of Apache 2.0. The Apache HTTP Server Project has determined
+that this release is of beta quality. This makes 2.0.32 the third
+public beta of Apache 2.0. This release has been tested thoroughly
+and has been running the apache.org web site since Feb. 7, 2002.</p>
+
+<p>Design and implementation of Apache 2.0 is nearing completion. Module
+authors are encouraged to review the Apache 2.0 API and share any
+concerns with the Apache development team at <a
+href="mailto:dev@httpd.apache.org">dev@httpd.apache.org</a>.
+This is your best opportunity to ensure that your issues are
+addressed prior to an Apache 2.0 General Availability release.</p>
+
+<p>While Apache is continuously undergoing improvement, major new features
+are now being deferred into the 2.1 version in order to expedite a
+General Availability release. If you have postponed testing Apache
+2.0 due to its experimental nature, please download and test this
+Apache 2.0.32 release to help ensure that any forthcoming 2.0 releases
+are the best versions available.</p>
-
-<P>Apache 2.0 offers numerous enhancements, improvements and performance
+<p>Apache 2.0 offers numerous enhancements, improvements and performance
boosts over the 1.3 codebase. The most visible and noteworthy addition
is the ability to run Apache in a hybrid thread/process mode on any
platform that supports both threads and processes. This has been shown
@@ -30,1002 +44,581 @@
some versions of Unix in our testing. Apache 2.0 also includes support
for filtered I/O. This allows modules to modify the output of other
modules before it is sent to the client. Finally, we have included
-support for IPv6 on any platform that supports IPv6.</P>
+support for IPv6 on any platform that supports IPv6.</p>
-<P>This version of Apache is known to work on many versions of Unix, BeOS,
+<p>This version of Apache is known to work on many versions of Unix, BeOS,
OS/2, and Windows. Because of many of the advancements in Apache 2.0,
this release of Apache is expected to perform equally well on all
-supported platforms.</P>
+supported platforms.</p>
-<P>There are new snapshots of the Apache httpd source available every
-six hours from <a href="http://cvs.apache.org/snapshots/httpd-2.0/">http://cvs.apache.org/snapshots/httpd-2.0/</a> - please
+<p>There are new snapshots of the Apache httpd source available every
+six hours from <a href="http://cvs.apache.org/snapshots/httpd-2.0/"
+>http://cvs.apache.org/snapshots/httpd-2.0/</a> - please
download and test if you feel brave. We don't guarantee anything
except that it will take up disk space, but if you have the time and
-skills, please give it a spin on your platforms.</P>
+skills, please give it a spin on your platforms.</p>
-<P>Apache has been the most popular web server on the Internet since
-April of 1996. The October 2001 WWW server site survey by Netcraft
-(<a href="http://www.netcraft.com/survey/">http://www.netcraft.com/survey/</a>) found that more web servers were
+<p>Apache has been the most popular web server on the Internet since
+April of 1996. The January 2002 WWW server site survey by Netcraft
+(<a href="http://www.netcraft.com/survey/"
+>http://www.netcraft.com/survey/</a>) found that more web servers were
using Apache than any other software running on more than 56% of the
-Internet web servers.</P>
-
-<P>For more information, please check out <a href="http://httpd.apache.org/">http://httpd.apache.org/</a>.</P>
-
-<H3>Known issues with this release</H3>
+Internet web servers.</p>
-<PRE>
- *) There is a bug which can cause the response headers to be
- omitted when sending a negotiated ErrorDocument because
- the required filters were attached to the wrong request_rec.
- This can affect installations which enable authentication
- on / or /error, among others. A workaround is to comment out
- the ErrorDocument 401 directive in the default config file.
- A patch for this problem has already been committed to CVS
- and will be included in the next release. The patch is
- available at:
- <a href="http://cvs.apache.org/viewcvs.cgi/httpd-2.0/modules/http/http_request.c.diff?r1=1.119&r2=1.120">http://cvs.apache.org/viewcvs.cgi/httpd-2.0/modules/http/http_request.c.diff?r1=1.119&r2=1.120</a>
-
- *) MacOSX users must use the darwin-specific tarball, which was built
- with a version of libtool that is compatible with that platform.
-
- *) The MacOSX/Darwin port currently does not support DSOs.
- A patch for this problem has already been committed to CVS and
- will be included in the next release. The patch is
- available at:
- <a href="http://cvs.apache.org/viewcvs.cgi/apr/dso/unix/dso.c.diff?r1=1.44&r2=1.45">http://cvs.apache.org/viewcvs.cgi/apr/dso/unix/dso.c.diff?r1=1.44&r2=1.45</a>
+<p>You may download this release from an apache.org mirror listed at
+<a href="http://www.apache.org/dyn/closer.cgi"
+>http://www.apache.org/dyn/closer.cgi</a> or you may download it from the
+apache.org web site at: <a href="http://www.apache.org/dist/httpd/"
+>http://www.apache.org/dist/httpd/</a>.</p>
+
+<p>For more information, please check out http://httpd.apache.org/.</p>
+
+<h3>Known issues with this release</h3>
+
+<pre>
+ *) When using LogLevel debug, you may see spurious log entries
+ reporting failures in read_request_line() or get_mime_headers().
+ This is usually a harmless error. You may ignore this message or
+ increase your LogLevel setting. A proper patch for this problem
+ has already been committed to CVS and will be included in the next
+ release. The patch is available at:
+ <a href="http://cvs.apache.org/viewcvs.cgi/httpd-2.0/server/protocol.c.diff?r1=1.83&r2=1.84">http://cvs.apache.org/viewcvs.cgi/httpd-2.0/server/protocol.c.diff?r1=1.83&r2=1.84</a>
+
+ *) When using the SSLMutex directive with an invalid path, children
+ may segfault without an error message. A patch for this problem
+ has already been committed to CVS and will be included in the next
+ release. The patch is available at:
+ <a href="http://cvs.apache.org/viewcvs.cgi/httpd-2.0/modules/ssl/ssl_engine_init.c.diff?r1=1.24&r2=1.25">http://cvs.apache.org/viewcvs.cgi/httpd-2.0/modules/ssl/ssl_engine_init.c.diff?r1=1.24&r2=1.25</a>
+ <a href="http://cvs.apache.org/viewcvs.cgi/httpd-2.0/modules/ssl/ssl_engine_mutex.c.diff?r1=1.9&r2=1.10">http://cvs.apache.org/viewcvs.cgi/httpd-2.0/modules/ssl/ssl_engine_mutex.c.diff?r1=1.9&r2=1.10</a>
- *) On MacOSX/Darwin, "make" may generate many warning messages such
- as:
-
- /usr/bin/ld: warning multiple definitions of symbol _regcomp
- /Users/gregames/httpd-2_0_28/srclib/pcre/.libs/libpcre.al(pcreposix.lo)
- definition of _regcomp in section (__TEXT,__text)
- /usr/lib/libm.dylib(regcomp.o) definition of _regcomp/
-
- These messages may be ignored.
-
- *) On MacOSX/Darwin, Apache doesn't correctly handle the case-
- insensitive file system (HFS+), which can lead to access
- control problems.
-
- *) There is a known problem when ProxyPass is used in combination with
- mod_include; including a remote file from another remote file does
- not currently work.
-
- *) On BSDi, if you re-run configure, make will fail with messages like:
- "/usr/src/httpd-2_0_28/build/rules.mk, line 57: Need an operator".
- A workaround for this problem is to execute the following commands
- from the httpd-2_0_28 directory, after which make will work correctly:
- $ rm bsd_converted
- $ build/bsd_makefile
-
These issues will be addressed in a future release.
- Please refer to the Apache bug database at <a href=http://bugs.apache.org/ >http://bugs.apache.org/ </a>
- for information about problems not addressed in this document.
-
-</PRE>
-
-
-<H3>Changes since the last public release</H3>
-
-<PRE>
-
-Changes with Apache 2.0.28
-
- *) Fix infinite loop in mod_cgid.c.
- [Dale Ghent <daleg@elemental.org>, Brian Pane <bpane@pacbell.net>]
-
- *) When no port is given in a "ServerName host" directive, the
- server_rec->port is now set to zero, not 80. That allows for
- run-time deduction of the correct server port (depending on
- SSL/plain, and depending also on the current setting of
- UseCanonicalName). This change makes redirections
- work, even with https:// connections. As in Apache-1.3, the
- connection's actual port number is never used, only the ServerName
- setting or the client's Host: setting. Documentation updated
- to reflect the change. [Martin Kraemer]
-
- *) Add a '%{note-name}e' argument to mod-headers, which works in
- the same way as mod_log_confg. [Ian Holsman]
-
- *) Fix the spelling of the AP_MPMQ_MIN_SPARE_DAEMONS and
- AP_MPMQ_MAX_REQUESTS_DAEMON macros in ap_mpm.h and all standard
- MPMs. [Cliff Woolley]
-
- *) Introduce htdbm, a user management utility for db/dbm authorization
- databases. [Mladen Turk <mturk@mappingsoft.com>]
-
- *) Optimize usage of strlen and strcat in ap_directory_walk.
- [Brian Pane <bpane@pacbell.net>]
-
-Changes with Apache 2.0.27
-
- *) Introduce an Apache mod_ssl initial configuration template
- (ssl.conf, generated from ssl-std.conf). [Ralf S. Engelschall]
-
- *) Fixed a memory leak in the getline parsing code that could
- be triggered by arbitrarily large header lines. Requests
- from the core input filter for single lines are now limited
- to HUGE_STRING_LEN (8192 bytes). [Aaron Bannert]
-
- *) Fix a truncation bug in how we print the port on the Via: header.
- The routine that prints the Via: header now takes a length for
- the port string. [Zvi Har'El <rl@math.technion.ac.il>]
-
- *) Some syntax errors in mod_mime_magic's magic file can result
- in a 500 error, which previously was unlogged. Now we log the
- error. [Jeff Trawick]
+ Please refer to the Apache bug database at <a
+ href="http://bugs.apache.org/">http://bugs.apache.org/</a> for
+ information about problems not addressed in this document.
+</pre>
+
+<h3>Changes since the last public release</h3>
+
+<pre>
+Changes with Apache 2.0.32
+
+ *) 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]
- *) Add the support/checkgid helper app, which checks the run-time
- validity of group identifiers usable in the Group directive.
- [Ken Coar]
+ *) Win32: substantial cleanup to the mpm_winnt code for legibility and
+ to follow the program flow of other MPMs. [Ryan Bloom, William Rowe]
- *) Various --enable-so options have been fixed: --enable-so is
- treated as "static"; explicit --enable-so=shared issues an error;
- and explicit --enable-so fails with error on systems without
- APR_HAS_DSO. [Aaron Bannert]
-
- *) Fix a segfault in the core input filter when the client socket
- gets disconnected unexpectedly. [Cliff Woolley]
-
- *) Fix the reporting for child processes that die. This removes
- all of the non-portable W* macros from Apache.
- [Jeff Trawick and Ryan Bloom]
-
- *) Win32: Track and display "Parent Server Generation:" in
- mod_status output. The generation will be bumped at
- server graceful restart, when the child process exits
- by hitting MaxRequestsPerChild or if the child
- process exits abnormally. [Bill Stoddard]
-
- *) Win32: Fix problem where MaxRequestsPerChild directive was
- not being picked up in favor of the default. Enable
- the parent to start up a new child process immediately upon
- the old child starting shutdown.
+ *) Win32: apache -k shutdown now behaves like apache -k stop.
[Bill Stoddard]
- *) Fix some bungling of the remote port in rfc1413.c so that
- IdentityCheck retrieves the proper user id instead of failing
- and thus always returning "nobody."
- [Dick Streefland <Dick.Streefland@xs4all.nl>]
-
- *) Introduced thread saftey for mod_rewrite's internal cache.
- [Brian Pane <bpane@pacbell.net>]
-
- *) Simplified mod_env's directives to behave as most directives are
- expected, in that UnsetEnv will not unset a SetEnv and PassEnv
- directive following that UnsetEnv within the same container.
- Also provides a runtime startup warning if a PassEnv configured
- environment value is undefined. [William Rowe]
-
- *) The worker MPM is now completely ported to APR's new lock API. It
- uses native APR types for thread mutexes, cross-process mutexes,
- and condition variables. [Aaron Bannert]
-
- *) Sync up documentation to remove all references to the now deprecated
- Port directive. [Justin Erenkrantz]
+ *) Fix prefork to not kill the parent if a child hits a resource shortage
+ on accept(). [Greg Ames]
- *) Moved all ldap modules from the core to httpd-ldap sub-project
- [Ryan Bloom]
+ *) Fix seg faults that occur when what should be the httpd request line
+ starts with \r\n followed by garbage. [Greg Ames]
- *) Exit when we can't listen on any of the configured ports. This
- is the same behavior as 1.3, and it avoids having the MPMs to
- deal with bogus ap_listen_rec structures. [Jeff Trawick]
-
- *) Cleanup the proxy code that creates a request to the origin
- server. This change adds an optional hook, which allows modules
- to gain control while the request is created if the proxy module
- is loaded. The purpose of this hook is to allow modules to add
- input and/or output filters to the request to the origin. While
- I was at it, I made the core use this hook, so that proxy request
- creation uses some of the code from the core. This can still be
- greatly improved, but this is a good start. [Ryan Bloom]
-
-Changes with Apache 2.0.26
-
- *) Port the MaxClients changes from the worker MPM to the threaded
- MPM. [Ryan Bloom]
-
- *) Fix mod_proxy so that it handles chunked transfer-encoding and works
- with the new input filtering system. [Justin Erenkrantz]
-
- *) Introduce the MultiviewsMatch directive, to allow the operator
- to be flexible in recognizing Handlers and Filters filename
- extensions as part of the Multiviews matching logic, strict with
- MultiviewsMatch NegotiatedOnly to accept only filename extentions
- that designate negotiated parameters, (content type, charset, etc.)
- or MultiviewsAll for the 1.3 behavior of matching any files, even
- if they have unregistered extensions. [William Rowe]
-
- *) Fixed the configure script to add a LoadModule directive to
- the default httpd.conf for any module that was compiled
- as a DSO. [Aaron Bannert <aaron@clove.org>]
-
- *) rewrite mod_ssl input filtering to work with the new input filtering
- system. [Justin Erenkrantz]
-
- *) prefork: Don't segfault when we are able to listen on some but
- not all of the configured ports. [Jeff Trawick]
-
- *) Build mod_so even if no core modules are built shared.
- [Aaron Bannert <aaron@clove.org>]
-
- *) Introduce ap_directory_walk rewrite (with further optimizations
- required) to adapt to the ap_process_request_internal() changes.
- Optimized so subrequests and redirects now reuse previous section
- merges, until we mismatch with the original directory_walk, and
- precomputed r->finfo results will cause directory_walk to skip
- the most expensive phases of the function. [William Rowe]
-
- *) Allow ApacheMonitor to connect to and control Apache on other
- WinNT/2K machines. [Mladen Turk <mturk@mappingsoft.com>]
-
- *) Remove the Port directive. In it's place, the Listen directive
- is now a required directive, which tells Apache what port to
- listen on. The ServerName directive has also been extended
- to accept an optional port. If the port is specified to the
- ServerName, the server will report that port whenever it
- reports the port that it is listening on. This change was
- made to ease configuration errors that stem from having a Port
- directive, and a Listen directive. In that situation, the server
- would only listen to the port specified by the Listen command,
- which caused a lot of confusion to users. [Ryan Bloom]
-
- *) Added mod_mime_magic, mod_unique_id and mod_vhost_alias to the Win32
- build, as loadable modules. [William Rowe]
-
- *) Fix --enable-mods-shared processing. If most is specified,
- then all modules that can be compiled as shared modules are.
- [Aaron Bannert <aaron@clove.org>]
-
- *) Update the mime.types file to map video/vnd.mpegurl to mxu
- and add commonly used audio/x-mpegurl for m3u extensions.
- [Heiko Recktenwald <uzs106@uni-bonn.de>, Lars Eilebrecht]
-
- *) Eliminate the depreciated r->content_language, in favor of the array
- r->content_languages introduced many years ago. Module authors must
- substantially overhaul their modules, so this needs to be upgraded
- if the module still relied on backwards-brokeness. [William Rowe]
+ *) 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]
- *) Allow configure help strings to work with autoconf 2.50+ and 2.13.
+ *) Allow mod_autoindex to serve symlinks if permitted and attempt to
+ do only one stat() call when generating the directory listings.
[Justin Erenkrantz]
- *) Rewrite the input filtering mechanisms to consolidate and reorganize
- code. In short, core_input_filter does something now and
- ap_http_filter is now only concerned with HTTP. [Justin Erenkrantz]
-
- *) Update the Win32 build to re-absorb mod_proxy and family.
- [William Rowe]
-
- *) Resolved the build failure on Win32 using MSVC 5.0 (without the
- current SDK.) [William Rowe]
-
- *) Some style changes to the code that does ProxyErrorOverride. Fixed
- config merge behaviour. [Graham Leggett]
-
- *) Allow support programs to be compiled against a static version
- of libapr. This allows the smaller support programs to be
- relocated. [Aaron Bannert <aaron@clove.org>]
-
- *) Update the mime.types file to the registered media types as
- of 2001-09-25, and add mapping for xsl extension [Mark Cox]
+ *) Fix resolve_symlink to save the original symlink name if known.
+ [Justin Erenkrantz]
- *) Fix MaxClients in the Worker MPM, so that it specifies the maximum
- number of clients that can connect at the same time, instead of
- specifying the maximum number of child processes.
- [Aaron Bannert <aaron@clove.org>]
+ *) 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]
- *) Switch proc_pthread AcceptMutex configuration directive to pthread to
- be consistent with 1.3. [Justin Erenkrantz]
+ *) suexec: Allow HTTPS and SSL_* environment variables to be passed
+ through to CGI scripts. PR 9163
+ [Brian Reid <br...@customlogic.com>,
+ Zvi Har'El <rl...@math.technion.ac.il>]
- *) Cache apr_explode_localtime() value for 15 seconds.
- [Brian Pane <bpane@pacbell.net>]
+ *) 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]
- *) Fix mod_include to not return ETag or Last-Modified headers.
- [Ian Holsman <ianh@cnet.com>]
+ *) 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]
+
+ *) 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]
+
+Changes with Apache 2.0.31
+
+ *) 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
+ [Geoff <g....@ieee.org>]
+
+ *) New Directive Option for ProxyPass. It now can block a location
+ from being proxied [Jukka Pihl <ju...@entirem.com>]
+
+ *) 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]
- *) Fix worker MPM's scoreboard logic. [Aaron Bannert <aaron@clove.org>]
+ *) caching should now work on subrequests (still very experimental)
+ [Ian Holsman]
+
+ *) The Win32 mpm_winnt now has a shared scoreboard. [William Rowe]
- *) Eliminate the wasteful run-time conversion of method names from strings
- to numbers in places where the methods are known at compile time.
- [Brian Pane <bpane@pacbell.net>]
+ *) Change ap_get_brigade prototype to use apr_off_t instead of apr_off_t*.
+ [Justin Erenkrantz]
- *) Turn the worker MPM's queue into a LIFO. This may
- improve cache-hit performance under some conditions.
- [Aaron Bannert <aaron@clove.org>]
+ *) Refactor ap_rgetline so that it does not use an internal brigade.
+ Change ap_rgetline's prototype to return errors. [Justin Erenkrantz]
- *) Switch back to SIGUSR1 for graceful restarts on all platforms that
- support it. [Justin Erenkrantz]
+ *) Remove mod_auth_db. [Justin Erenkrantz]
- *) Cleanup the worker MPM. We no longer re-use transaction
- pools. This incurs less overhead than shuffling the pools
- around so that they can be re-used. Remove one of the
- queue's condition variables. We just redefined the API to
- state that you can't try to add more stuff than you allocated
- segments for. [Aaron Bannert <aaron@clove.org>]
+ *) Do not install unnecessary pcre headers like config.h and internal.h.
+ [Joe Orton <jo...@manyfish.co.uk>]
- *) Fix SSL VPATH builds [Cody Sherr <csherr@covalent.net>]
+ *) 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]
- *) Fixed persistent connections when a request contains a body.
- [Greg Stein]
+ *) Change SUBREQ_CORE so that it is a 'HTTP_HEADER' filter instead of
+ 'CONTENT' one, as it needs to run AFTER all content headers
- *) mod_dav uses a new API to speak to the backend provider for dead
- property management. [Greg Stein]
+ *) Rename BeOS MPM directive RequestsPerThread to MaxRequestsPerThread.
+ [Lars Eilebrecht]
- *) Remove the Win32 script-processing exception from mod_cgi, and
- roll build_command_line/build_argv_list into a unified, overrideable
- ap_cgi_build_command optional function. [William Rowe]
+ *) Split out blocking from the mode in the input filters.
+ [Justin Erenkrantz]
- *) Rewrite find_start_sequence to use a better search algorithm
- to find the start tag. [Justin Erenkrantz]
+ *) Fix a segfault in mod_include. [Justin Erenkrantz, Jeff Trawick]
- *) Fix a seg fault in mod_include. When we are generating an
- internal redirect, we must set r->uri to "", not a bogus
- string, and not NULL. [Ryan Bloom]
+ *) Cause Win32 to capture all child-worker process errors in
+ Apache to the main server error log, until the child can
+ open its own error logs. [William Rowe]
+
+ *) HPUX 11.*: Do not kill the child process when accept()
+ returns ENOBUFS on HPUX 11.*. (ported from a 1.3 patch
+ by [madhusudan_mathihalli@hp.com])
+ [Bill Stoddard]
- *) Optimized location_walk, so subrequests, redirects and second passes
- now reuse previous section merges on a <Location > by <Location >
- basis, until we mismatch with the original location_walk.
- [William Rowe]
+ *) Fix a problem in the parsing of the <Proxy foo> directive.
+ [Jeff Trawick]
- *) Back out the 1.45 change to util_script.c. This change made
- us set the environment variable REQUEST_URI to the redirected
- URI, instead of the originally requested URI.
- [Taketo Kabe <kabe@sra-tohoku.co.jp>]
-
- *) Make mod_include do lazy evaluation of potentially expensive to
- compute variables. [Brian Pane <bpane@pacbell.net>]
-
- *) Fix logging of bytes sent for HEAD requests. %b and %B should
- log either - or 0, before this patch, they were both logging
- the file size. [Taketo Kabe <kabe@sra-tohoku.co.jp>]
-
- *) Make mod_include check for BYTE_CHECK_THRESHOLD per bucket rather
- than per character. [Brian Pane <bpane@pacbell.net>]
-
- *) Normalize the primary request, redirects and sub-requests to
- run the same ap_process_request_internal for consistency in
- robustness, behavior and security. [William Rowe]
-
- *) Fix a segfault with mod_include when r->path_info is not set
- (which is the case with mod_proxy). [Ian Holsman <ianh@cnet.com>]
-
- *) Add -X functionality back. This indicates to all MPMs and any other
- part of Apache that it should run in "debug" mode. [Justin Erenkrantz]
-
- *) Some initial support for the cygwin platform [prefork only].
- This is not to be confused with support for the WinNT/Win32
- platform, which is the recommended configuration for native
- Win32 users. The cygwin platform support is recommended for
- cygwin platform users. [Stipe Tolj <tolj@wapme-systems.de>]
-
- *) Changed syntax of Set{Input|Output}Filter. The list of filters
- must be semicolon delimited (if more than one filter is given.)
- The Set{Input|Output}Filter directive now overrides a parent
- container's directive (e.g. SetInputFilter in <Directory /web/foo>
- will override any SetInputFilter directive in <Directory /web>.)
- This new syntax is more consistent with Add{Input|Output}Filter
- directives defined in mod_mime. Also cures a bug in prior releases
- where the Set{Input|Output}Filter directive would corrupt the
- global configuration if the multiple directives were nested.
- [William Rowe]
+ *) rewrite of mod_ssl input filter for better performance and less
+ memory usage [Doug MacEachern]
- *) Cured what's ailed mime for quite some time. If an AddSomething
- was given in the configuration (Language, Charset, Handler or
- Encoding) Apache would set the content type as given by AddType,
- but refused to check the mime.types file if AddType wasn't given
- for that specific extension. Setting the AddHandler for .html
- without setting the AddType text/html html would cause Apache to
- use the default content type. [William Rowe]
-
- *) Added some bulletproofing to memory allocation in the LDAP cache
- code. [Graham Leggett]
-
-Changes with Apache 2.0.25
-
- *) Move the installed /manual directory out of the /htdocs/ tree, so
- that it can be kept more independently from the remaining document
- root. The "Alias /manual ..." already allowed for easy projection
- into existing private document trees. [Martin Kraemer]
-
- *) Add specified user attributes to the environment when using
- mod_auth_ldap. This allows you to use mod_include to embed specified
- user attributes in a page like so:
- Hello <!--#echo var="AUTHENTICATE_CN"-->, how are you?
- [Graham Leggett]
-
- *) Fix a performance problem with the worker MPM. We now create
- transaction pools once, and re-use them for each connection.
- [Aaron Bannert <aaron@clove.org>]
-
- *) Modfied mod_mime to prevent mod_negotation from serving a multiview
- of a 'handler' or 'filter', so that any filename extension that does
- not contribute to the negotiated metadata can't be served without
- an explicit request. E.g., if the .Z extension is associated with
- an unzip filter, the user request somefile.Z.html, mod_negotiation
- won't serve it. It can serve somefile.Z.html when somefile.Z is
- requested, since the .Z extension is explictly requested, if the
- .html extension is associated with ContentType text/html.
- [William Rowe]
+ *) allow quick_handler to be run on subrequests. [Ian Holsman]
- *) Introduce the AddInputFilter filter[;filter...] ext [ext...]
- and corresponding AddOutputFilter syntax, to insert one or more
- filters by mod_mime filename extension processing.
- [William Rowe]
+ *) 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.
+ [Madhusudan Mathihalli <ma...@hp.com>]
+
+ *) 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]
+
+ *) Fix SSLPassPhraseDialog exec: and SSLRandomSeed exec:
+ [Doug MacEachern]
+
+Changes with Apache 2.0.30
+
+ *) 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.
+ [albert chin (china@thewrittenword.com)]
+
+ *) 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 a growing connection pool in core_output_filter() for
- keepalive requests. [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
+ [James Watson <ap...@sowega.org>]
- *) Moved split_and_pass_pretag_buckets back to being a
- macro at Ryans's request. Removed the return from it
- by setting and returning a return code instead. Updated
- the code to check the return code from the macro and
- do the right thing. [Paul J. Reder]
+ *) Fix LimitRequestBody directive by placing it in the HTTP
+ filter. [Justin Erenkrantz]
- *) Fix a segfault when a numeric value was received for Host:.
- [Jeff Trawick]
+ *) Fix mod_proxy seg fault when the proxied server returns
+ an HTTP/0.9 response or a bogus status line.
+ [Adam Sussman]
- *) Add a function ap_remove_input_filter. This is to match
- up with ap_remove_output_filter. [Ryan Bloom]
+ *) Prevent mod_proxy from truncating one character off the
+ end of the status line returned from the proxied server.
+ [Adam Sussman, Bill Stoddard]
- *) Clean up location_walk, so that this step performs a minimum
- amount of redundant effort (it must be run twice, but it will no
- longer reparse all <Location > blocks when the request uri
- hadn't changed.) [William Rowe]
-
- *) Eliminate proxy: (and all other 'special') processing from the
- ap_directory_walk() phase. Modules that want to use special
- walk logic should refer to the mod_proxy map_to_location example,
- with it's proxy_walk and proxysection implementation. This makes
- either directory_walk flavor much more legible, since that phase
- only runs against real <Directory > blocks.
- [William Rowe]
+ *) Eliminate loop in ap_proxy_string_read().
+ [Adam Sussman, Bill Stoddard]
- *) Fix a security problem in mod_include which would allow
- an SSI document to be passed to the client unparsed.
- [Cliff Woolley, Brian Pane]
-
- *) Introduce the map_to_storage hook, which allows modules to bypass
- the directory_walk and file_walk for non-file requests. TRACE
- shortcut moved to http_protocol.c as APR_HOOK_MIDDLE, and the
- directory_walk/file_walk happen as APR_HOOK_VERY_LAST in core.c.
+ *) Provide $0..$9 results from mod_include regex parsing.
[William Rowe]
- *) Add the ability for mod_include to add the INCLUDES filter
- if the file is configured for the server-parsed handler.
- This makes the configuration for .shtml files much easier
- to understand, and allows mod_include to honor Apache 1.3
- config files. Based on Doug MacEachern's patch to PHP
- to do the same thing. [Ryan Bloom]
+ *) Allow mod-include to look for alternate start & end tags [Ian Holsman]
- *) force OpenSSL to ignore process local-caching and to always
- get/set/delete sessions using mod_ssl's callbacks
- [Madhusudan Mathihalli <madhusudan_mathihalli@hp.com>,
- Geoff Thorpe <geoff@geoffthorpe.net>]
+ *) Introduced the ForceLanguagePriority directive, to prevent
+ returning MULTIPLE_CHOICES or NONE_ACCEPTABLE in some cases,
+ when using Multiviews. [William Rowe]
- *) Make the worker MPM shutdown and restart cleanly. This also
- cleans up some race conditions, and gets the worker using
- pools more cleanly. [Aaron Bannert <aaron@clove.org>]
+ *) Fix a problem which prevented mod_cgid and suexec from working
+ together reliably [Greg Ames]
- *) Implement CRYPTO_set_locking_callback() in terms of apr_lock
- for mod_ssl
- [Madhusudan Mathihalli <madhusudan_mathihalli@hp.com>]
+ *) Remove the call to exit() from within mod_auth_digest's post_config
+ phase. [Aaron Bannert]
- *) Fix for mod_include. Ryan's patch to check error
- codes put a return in the wrong place. Also, the
- include handler return code wasn't being checked.
- I don't like macros with returns, so I converted
- SPLIT_AND_PASS_PRETAG_BUCKETS into a function.
- [Paul J. Reder <rederpj@raleigh.ibm.com>]
+ *) 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 segv in mod_mime if no AddTypes are configured
- [John Sterling <sterling@covalent.net>]
+ *) Fix a segfault in the worker MPM that could happen during
+ child process exits. [Brian Pane, Aaron Bannert]
- *) Enable ssl client authentication at SSL_accept time
- [Madhusudan Mathihalli <madhusudan_mathihalli@hp.com>]
+ *) Allow mod_auth_dbm to handle multiple DBM types [Ian Holsman]
- *) Fix a segfault in mod_include when the original request has no
- associated filename (e.g., we're filtering the error document for
- a bad URI). [Jeff Trawick]
+ *) 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]
- *) Fix a storage leak (a strdup() call) in mod_mime_magic. [Jeff Trawick]
+ *) More performance tweaks to the BNDM string-search algorithm
+ used to find ">!--#" tokens in mod_include [Brian Pane]
- *) The prefork and OS/2 MPMs are overwriting the pid file when a second copy
- of httpd is started and shuts down due to socket conflict. Moving the
- call to ap_log_pid solves the problem.
+ *) Miscellaneous small performance fixes: optimized away various
+ string copy operations and removed large temp buffers from
+ the stack [Brian Pane]
- *) Changed the late-1.3 log_config substitution %c to %X, to log the
- status of the closed connection, as it conflicts with the far more
- common, historical ssl logging directive %...{var}c. [William Rowe]
+ *) Fixed startup segfault that occurred when a VirtualHost
+ directive had a port but no address [Brian Pane]
- *) Added the common error/ tree to the build/install targets
- (similar to the common icons/ tree) for the multi-language error
- messages that Lars committed earlier. [William Rowe]
+ *) Allow htdbm to work with multiple DBM types [Ian Holsman]
- *) Added a multi process, multi threaded OS/2 MPM mpmt_os2. [Brian Havard]
+ *) 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]
- *) Added a default commented-out mod_ldap and mod_auth_ldap
- configuration to httpd-std.conf and httpd-win.conf
- [Graham Leggett]
+ *) Win32: Fix bug that could cause CGI scripts with QUERY_STRINGS
+ to fail. [Bill Stoddard]
- *) Added documentation for mod_ldap and mod_auth_ldap.
- [Graham Leggett]
+ *) 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]
- *) Enabled negative caching on attribute comparisons in the LDAP cache.
- Fixed a problem where the default cache TTL was set in milliseconds
- not microseconds causing the cache to time out almost immediately.
- [Graham Leggett]
+ *) 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]
- *) Fixed all the #if APR_HAS_SHARED_MEMORY checks within the LDAP
- module code to follow APR. [Graham Leggett]
+ *) 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]
- *) Fixed LDAP cleanup on graceful restarts. LDAP connections are now
- cleaned up when the connection pool pool is cleaned up.
- [Graham Leggett]
+ *) 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]
- *) Fix a minor issue with Jeff Trawick's mod_include
- patch. Without this patch, the code will just allocate
- more bytes in get_combined_directive than are needed.
- [Paul Reder]
+ *) 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]
- *) Added the LDAP authentication module mod_auth_ldap.
- [Dave Carrigan <dave@rudedog.org>, Graham Leggett]
+ *) Get shared builds of libapr and libaprutil, as well as Apache DSOs,
+ working on AIX. [Aaron Bannert, Dick Dunbar <RL...@pacbell.net>,
+ Gary Hook <gh...@us.ibm.com>, Victor Orlikowski, Jeff Trawick]
- *) Added the LDAP cache and connection pooling module mod_ldap.
- [Dave Carrigan <dave@rudedog.org>, Graham Leggett]
+ *) Fix the handling of SSI directives in which the ">" of the
+ terminating "-->" is the last byte in a file [Brian Pane]
- *) Fix --enable-modules=all breakage with mod_auth_db and mod_auth_digest
- by allowing a module to disable itself if its prerequisites are not
- met. [Justin Erenkrantz]
+ *) 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]
-Changes with Apache 2.0.24
+ *) Prevent the Win32 port from continuing after encountering an
+ error in the command line args to apache. [William Rowe]
- *) Fix a couple of issues in mod_include when the tag appeared at
- offsets near 8192 in the file being parsed. [Jeff Trawick]
+ *) On a error in the proxy, make it write a line to the error log
+ [Ian Holsman]
- *) Fix an assertion failure in mod_ssl when the keepalive timeout is
- reached. [Jeff Trawick]
+ *) Various mod_ssl performance improvements [Doug MacEachern]
- *) Numerous improvements to the Win32 build system. Introduced command line
- builds without requiring .mak files for MSVC 6.0 and later versions.
- Improved .dsp file compatibility for both Visual Studio 5.0 and 6.0 users.
- [William Rowe]
+Changes with Apache 2.0.29
- *) Assorted corrections and improvements to the winnt_mpm startup code.
- Better reporting of uninstalled services and other error conditions,
- and changed the default service name to Apache2. [William Rowe]
-
- *) Numerous improvements to the Win32 ApacheMonitor utility, including
- winnt_mpm compatibility with existing Apache 1.3 Win32 Apache management
- utilites. [Mladen Turk <mturk@mappingsoft.com>, William Rowe]
-
- *) Fixed the segfaults in mod_mime introduced by hash tables in 2.0.20.
- [William Rowe, Greg Ames]
-
- *) Rounded out the mod_mime Add/Remove pairs by adding RemoveLanguage
- and RemoveCharset directives. [William Rowe]
-
- *) The Unix MPMs other than perchild now allow child server
- processes to use the accept mutex when starting as root and
- using SysV sems for the accept mutex. Previously, this
- combination would lead to fatal errors in the child server
- processes. perchild can't use SysV sems because of security
- issues. [Jeff Trawick, Greg Ames]
-
- *) Added Win32 revision stamp resources to all http binaries
- (including modules/ and support/ tools.) PR7322 [William Rowe]
-
- *) Fix ap_rvprintf to support more than 4K of data at one time.
- [Cody Sherr <csherr@covalent.net>]
-
- *) We have always used the obsolete/deprecated Netscape syntax
- for our tracking cookies; now the CookieStyle directive
- allows the Webmaster to choose the Netscape, RFC2109, or
- RFC2965 format. The new CookieDomain directive allows the
- setting of the cookie's Domain= attribute, too. PR #s 5006,
- 5023, 5920, 6140 [Ken Coar]
-
- *) Tweak server/Makefile so that the rules for generating exports.c
- are compatible with make utilities which don't expand wildcards
- in a dependency list (e.g., OS/390 make, certain levels of GNU
- make). [Jeff Trawick]
-
- *) Install the SSL headers. [John Sterling <sterling@covalent.net>]
-
- *) 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>]
+ *) Add buffering in core_output_filter to ensure that long
+ lists of small buckets don't cause small packet writes.
+ [Brian Pane, Ryan Bloom]
- *) Close a major resource leak. Every time we had issued a
- graceful restart, we leaked a socket descriptor.
- [Ryan Bloom]
+ *) Fix the installation target to make sure that the manual is
+ installed in the correct location.
+ [Yoshifumi Hiramatsu <hi...@boreas.dti.ne.jp> and
+ Gomez Henri <hg...@slib.fr>]
- *) 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
- definitely 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]
-
-Changes with Apache 2.0.23
-
- *) Use the prefork MPM by default on Unix. [various]
-
- *) Added a systray icon monitor application for Win32.
- [Mladen Turk <mturk@mappingsoft.com>]
-
- *) 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]
+ *) 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]
- *) 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]
+ *) Change open_logs hook to return a value, allowing you
+ to flag a error while opening logs
+ [Ian Holsman, Doug MacEachern]
- *) 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 IndexOptions flag FoldersFirst
- and DirectoryWidth options from Apache 1.3.10.
- [William Rowe, Ken Coar]
-
- *) Eliminated FancyIndexing directive, deprecated early in Apache
- 1.3 by the IndexOptions FancyIndexing syntax. [William Rowe]
-
- *) 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]
+ *) Change post_config hook to return a value, allowing you
+ to flag a error post config
+ [Ian Holsman, Jeff Trawick]
- *) 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]
+ *) Allow SUEXEC_BIN (the path to the suexec binary that is
+ hard-coded into the server) to be specified to the configure
+ script by the --with-suexec-bin parameter. [Aaron Bannert]
- *) 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]
+ *) Fix segv in worker MPM following accept on pipe-of-death
+ [Brian Pane]
- *) 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]
+ *) Add mod_deflate to experimental.
+ [Ian Holsman, Justin Erenkrantz]
-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]
+ *) Bail out at configure time if an invalid MPM was specified.
+ [jean-frederic clere <jf...@fujitsu-siemens.com>]
- *) Apache/Win32 now fills in the service description with Apache's
- server version string, including loaded and advertised modules.
- [William Rowe]
+ *) Prevent segv in ap_note_basic_auth_failure() when no AuthName is
+ configured [John Sterling <st...@covalent.net>]
- *) 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 apxs to use sbindir. [Henri Gomez <hg...@slib.fr>]
- *) Fix a segfault in threaded.c caused by passing uninitialized
- apr_thread_t * to apr_thread_join(). [Jeff Trawick]
+ *) Fix a problem with IPv6 vhosts. PR #8118 [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]
+ *) Optimization for the BNDM string-search function in
+ mod_include. [Brian Pane]
- *) 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]
+ *) Fixed the behavior of the XBitHack directive.
+ [Taketo Kabe <ka...@sra-tohoku.co.jp>, Cliff Woolley] PR#8804
- *) Provide vhost and request strings when ExtendedStatus is on.
- [Greg Ames]
+ *) The threaded MPM for Unix has been removed. Use the worker
+ MPM instead. [various]
- *) 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
- large, so the time spent scanning them on each request is
- significant. Replacing the tables with hash tables provides
- a nice speedup. [Brian Pane <bpane@pacbell.net>]
-
- *) Add two functions to allow modules to access random parts of the
- scoreboard. This allows modules compiled for one MPM to access the
- scoreboard, even if it the server was compiled for another MPM.
- [Harrie Hazewinkel <harrie@covalent.net>]
-
-Changes with Apache 2.0.20
-
- *) Fix problem in content-length filter where the filter would
- buffer all the output from a CGI before sending any bytes
- down the filter stack to the network. This problem would cause
- significant memory consumption if the CGIs generated
- lots of bytes. [Bill Stoddard]
-
- *) Get non-blocking CGI pipe reads working with the bucket brigades.
- [Bill Stoddard]
+ *) APR-ize the resolver logic in mod_unique_id. This fixes a bug
+ in logging the error from a failed DNS lookup. [Jeff Trawick]
- *) Fix seg fault on Windows when serving files cached with mod_file_cache.
- [Bill Stoddard]
+ *) Added the missing macros AP_INIT_TAKE13 and AP_INIT_TAKE123.
+ [Cliff Woolley]
- *) Fix a bug in the threaded MPM that would cause it to kill off all
- workers immediately after starting if the number of workers started
- was above a certain threshold. [Ryan Bloom, Bill Stoddard]
-
-Changes with Apache 2.0.19
-
- *) Fix problem with threaded MPM. The problem was that if each child
- process was busy serving a single long-lived request and the server
- was sent a graceful restart signal, the server would stop serving
- requests. This would happen because each child process would wait to
- die until the last thread was done, and the parent wouldn't spawn any
- new children until a process died. Now, the parent looks at the fact
- that the children are dying gracefully, and starts new children.
- Those new children only start enough threads to compliment the number
- of threads in the other child process that shares the same spot in
- the scoreboard. In this way, we make sure to never go over
- MaxClients. [Ryan Bloom]
-
- *) modified mod_negotiation and mod_autoindex to speed up by almost a
- factor of two on apr_dir_read()-enhanced platforms, such as Win32
- and OS2, by calling ap_sub_request_lookup_dirent() with the results
- already provided by apr_dir_read(). [William Rowe]
-
- *) mod_file_cache is now more robust to filtering and serves requests
- slightly more efficiently. [Cliff Woolley]
-
- *) Fix problem handling FLUSH bucket in the chunked encoding filter.
- Module was calling ap_rwrite() followed by ap_rflush() but the
- served content was not being displayed in the browser. Inspection
- of the output stream revealed that the first data chunk was
- missing the trailing CRLF required by the RFC. [Bill Stoddard]
-
- *) apxs no longer generates ap_send_http_header() in the example handler
-
- *) Fix an ab problem which could cause a divide-by-zero exception
- with certain invocations (e.g., ab -k -c 6 -n 100 localhost/).
- [Ian Holsman <ianh@cnet.com>]
-
- *) Solve case-insensitive platforms' confusion about negotiated
- filenames, allowing files of differnt case to match in choosing
- the document to serve. [William Rowe]
-
- *) Fix brokenness when ThreadsPerChild is higher than the built-in
- limit. We left ap_threads_per_child at the higher value which
- led to segfaults when doing certain scoreboard operations.
+ *) Get mod_cgid killed when a MPM exits due to a fatal error.
[Jeff Trawick]
- *) Fix seg faults and/or missing output from mod_include. The
- default_handler was using the subrequest pool for files and
- MMAPs, even though the associated APR structures typically
- live longer than the subrequest. [Greg Ames]
-
- *) Extend mod_setenvif to support specifying regular expressions
- on the SetEnvIf (and SetEnvIfNoCase) directive attribute field.
- Example: SetEnvIf ^TS* [a-z].* HAVE_TS
- will cause HAVE_TS to be set if any of the request headers begins
- with "TS" and has a value that begins with any character in the
- set [a-z]. [Bill Stoddard]
-
- *) httpd children now re-bind themselves to a random CPU on
- multiprocessor systems on AIX via bindprocessor() in 2.0.
- [Victor J. Orlikowski]
-
- *) Fix htdigest. It would go into a loop in getline when adding
- a second user. [Bill Stoddard]
-
- *) Win32 platforms now fully support mod_userdir options. [Will Rowe]
-
- *) Automatically generate httpd.exp for AIX.
- DSOs now work again on AIX in 2.0
- [Victor J. Orlikowski]
-
- *) Add a new request hook, error_log. This phase allows modules
- to act on the error log string _after_ it has been written
- to the error log. The goal for this hook is to allow monitoring
- modules to send the error string to the monitoring agent.
+ *) Fix a file descriptor leak in mod_include. When we include a
+ file, we use a sub-request, but we didn't destroy the sub-request
+ immediately, instead we waited until the original request was
+ done. This patch closes the sub-request as soon as the data is
+ done being generated. [Brian Pane <bp...@pacbell.net>]
+
+ *) Allow modules that add sockets to the ap_listeners list to
+ define the function that should be used to accept on that
+ socket. Each MPM can define their own function to use for
+ the accept function with the MPM_ACCEPT_FUNC macro. This
+ also abstracts out all of the Unix accept error handling
+ logic, which has become out of synch across Unix MPMs.
[Ryan Bloom]
- *) Modify mod_echo to make it use filters for input and output.
- [Ryan Morgan <rmorgan@covalent.net>]
-
- *) Extend mod_headers to support conditional driven Header
- add, append and set. Use SetEnvIf to set an envar and conditionally
- add/append/set headers based on this envar thusly:
-
- SetEnvIf TSMyHeader value HAVE_TSMyHeader
- Header add MyHeader "%t %D" env=HAVE_TSMyHeader
-
- If the request contains header "TSMyHeader: value" then header
- MyHeader: "t=xxxxxxxxxx D=yyyy" will be sent on the response.
- [Bill Stoddard]
-
- *) Extend mod_headers to support using format specifiers on Header
- add, append and set header values. Two format specifiers are supported:
-
- %t - reports, in UTC microseconds since the epoch, when the
- request was received.
-
- %D - reports the time, in microseconds, between when the request was
- received and the response sent.
-
- Examples:
- Header add MyHeader "This request served in %D microseconds. %t"
-
- results in a header being added to the response that looks like this:
-
- MyHeader: This request served in D=5438 microseconds. t=991424704447256
-
- [Bill Stoddard]
-
- *) Fix reset_filter(). We need to be careful how we remove filters.
- If we set r->output_filters to NULL, we also have to reset the
- connection's filters. [John Sterling]
-
- *) Optimise reset_filter() in http_protocol.c. [Greg Stein]
-
- *) Add a check to ap_die() to make sure the filter stack is sane and
- contains the correct basic filters when an error occurs. This fixes
- a problem where headers are not being sent on error. [John Sterling]
-
- *) New Header directive 'echo' option. "Header echo regex" will
- cause any headers received on the request that match regex to be
- echoed to (included in) the response headers.
- [Bill Stoddard]
-
- *) include/ap_compat.h tested and set APR_COMPAT_H instead of AP_COMPAT_H.
- This prevented the inclusion of apr_compat.h. PR #7773
- [Oleg Broytmann <phd@phd.pp.ru>]
-
- *) Moved util_uri to the apr-util library. This required a bunch of
- apr_name changes for the uri utility functions. [Justin Erenkrantz]
-
- *) Move the addition of default AP_HTTP_HTTP_HEADER filters to the
- insert_filter phase so that other filters are not bypassed by default.
- [Graham Leggett]
-
- *) Reimplement mod_headers as an output filter. mod_headers can now
- add custom headers to inbound requests using the RequestHeader directive
- and to responses using the same old Header directive. [Graham Leggett]
+ *) Fix a bug which would cause the response headers to be omitted
+ when sending a negotiated ErrorDocument because the required
+ filters were attached to the wrong request_rec.
+ [John Sterling <st...@covalent.net>]
+
+ *) Remove commas from the end of the macros that define
+ directives that are used by MPMs. Prior to this patch,
+ you would use these macros without commas, which was unlike
+ the macros for any other directives. Now, the caller provides
+ the comma rather than the macro providing it. This makes
+ the macros look more like the rest of the directives.
+ [Ryan Bloom and Cliff Woolley]
+
+ *) Add 'redirect-carefully' environment option to disable sending
+ redirects under special circumstances. This is helpful for
+ Microsoft's WebFolders when accessing a directory resource via
+ DAV methods. [Justin Erenkrantz]
+
+ *) Begin to abstract out the underlying transport layer.
+ The first step is to remove the socket from the conn_rec,
+ the server now lives in a context that is passed to the
+ core's input and output filters. This forces us to be very
+ careful when adding calls that use the socket directly,
+ because the socket isn't available in most locations.
+ [Ryan Bloom]
-</PRE>
+ *) Really reset the MaxClients value in worker and threaded
+ when the configured value is not a multiple of the number
+ of threads per child. We said we did previously but we
+ forgot to. [Jeff Trawick]
+
+ *) Add Debian layout. [Daniel Stone <da...@sfarc.net>]
+
+ *) If shared modules are requested and mod_so is not available,
+ produce a fatal config-time error. [Justin Erenkrantz]
+
+ *) Improve http2env's performance by cutting the work it has to
+ do. [Brian Pane <bp...@pacbell.net>]
+
+ *) use new 'apr_hash_merge' function in mod_mime (performance fix)
+ [Brian Pane <bp...@pacbell.net>]
+</pre>
</BODY>
</HTML>
1.11 +466 -875 httpd-dist/Announcement2.txt
Index: Announcement2.txt
===================================================================
RCS file: /home/cvs/httpd-dist/Announcement2.txt,v
retrieving revision 1.10
retrieving revision 1.11
diff -u -r1.10 -r1.11
--- Announcement2.txt 20 Nov 2001 08:29:35 -0000 1.10
+++ Announcement2.txt 16 Feb 2002 19:01:29 -0000 1.11
@@ -1,11 +1,24 @@
-Apache 2.0.28 Released as Beta
+Apache 2.0.32 Released as Beta
------------------------------
-The Apache Group is proud to announce the twenty-eighth release
-of Apache 2.0. This is the second public beta of Apache 2.0.
-This release has been tested thoroughly and has been running the
-apache.org web site since Nov. 9, 2001.
-
+The Apache HTTP Server Project is proud to announce the thirty-second
+release of Apache 2.0. The Apache HTTP Server Project has determined
+that this release is of beta quality. This makes 2.0.32 the third
+public beta of Apache 2.0. This release has been tested thoroughly
+and has been running the apache.org web site since Feb. 7, 2002.
+
+Design and implementation of Apache 2.0 is nearing completion. Module
+authors are encouraged to review the Apache 2.0 API and share any
+concerns with the Apache development team at dev@httpd.apache.org.
+This is your best opportunity to ensure that your issues are
+addressed prior to an Apache 2.0 General Availability release.
+
+While Apache is continuously undergoing improvement, major new features
+are now being deferred into the 2.1 version in order to expedite a
+General Availability release. If you have postponed testing Apache
+2.0 due to its experimental nature, please download and test this
+Apache 2.0.32 release to help ensure that any forthcoming 2.0 releases
+are the best versions available.
Apache 2.0 offers numerous enhancements, improvements and performance
boosts over the 1.3 codebase. The most visible and noteworthy addition
@@ -29,61 +42,35 @@
skills, please give it a spin on your platforms.
Apache has been the most popular web server on the Internet since
-April of 1996. The October 2001 WWW server site survey by Netcraft
+April of 1996. The January 2002 WWW server site survey by Netcraft
(http://www.netcraft.com/survey/) found that more web servers were
using Apache than any other software running on more than 56% of the
Internet web servers.
-For more information, please check out http://httpd.apache.org/.
+You may download this release from an apache.org mirror listed at
+http://www.apache.org/dyn/closer.cgi or you may download it from the
+apache.org web site at: http://www.apache.org/dist/httpd/.
+For more information, please check out http://httpd.apache.org/.
Known issues with this release
------------------------------
- *) There is a bug which can cause the response headers to be
- omitted when sending a negotiated ErrorDocument because
- the required filters were attached to the wrong request_rec.
- This can affect installations which enable authentication
- on / or /error, among others. A workaround is to comment out
- the ErrorDocument 401 directive in the default config file.
- A patch for this problem has already been committed to CVS
- and will be included in the next release. The patch is
- available at:
- http://cvs.apache.org/viewcvs.cgi/httpd-2.0/modules/http/http_request.c.diff?r1=1.119&r2=1.120
-
- *) MacOSX users must use the darwin-specific tarball, which was built
- with a version of libtool that is compatible with that platform.
-
- *) The MacOSX/Darwin port currently does not support DSOs.
- A patch for this problem has already been committed to CVS and
- will be included in the next release. The patch is
- available at:
- http://cvs.apache.org/viewcvs.cgi/apr/dso/unix/dso.c.diff?r1=1.44&r2=1.45
-
- *) On MacOSX/Darwin, "make" may generate many warning messages such as:
-
- /usr/bin/ld: warning multiple definitions of symbol _regcomp
- /Users/gregames/httpd-2_0_28/srclib/pcre/.libs/libpcre.al(pcreposix.lo)
- definition of _regcomp in section (__TEXT,__text)
- /usr/lib/libm.dylib(regcomp.o) definition of _regcomp/
-
- These messages may be ignored.
-
- *) On MacOSX/Darwin, Apache doesn't correctly handle the case-
- insensitive file system (HFS+), which can lead to access
- control problems.
-
- *) There is a known problem when ProxyPass is used in combination with
- mod_include; including a remote file from another remote file does
- not currently work.
-
- *) On BSDi, if you re-run configure, make will fail with messages like:
- "/usr/src/httpd-2_0_28/build/rules.mk, line 57: Need an operator".
- A workaround for this problem is to execute the following commands
- from the httpd-2_0_28 directory, after which make will work correctly:
- $ rm bsd_converted
- $ build/bsd_makefile
-
+ *) When using LogLevel debug, you may see spurious log entries
+ reporting failures in read_request_line() or get_mime_headers().
+ This is usually a harmless error. You may ignore this message or
+ increase your LogLevel setting. A proper patch for this problem
+ has already been committed to CVS and will be included in the next
+ release. The patch is available at:
+ http://cvs.apache.org/viewcvs.cgi/httpd-2.0/server/protocol.c.diff?r1=1.83&r2=1.84
+
+ *) When using the SSLMutex directive with an invalid path, children
+ may segfault without an error message. A patch for this problem
+ has already been committed to CVS and will be included in the next
+ release. The patch is available at:
+ http://cvs.apache.org/viewcvs.cgi/httpd-2.0/modules/ssl/ssl_engine_init.c.diff?r1=1.24&r2=1.25
+ http://cvs.apache.org/viewcvs.cgi/httpd-2.0/modules/ssl/ssl_engine_mutex.c.diff?r1=1.9&r2=1.10
+
These issues will be addressed in a future release.
Please refer to the Apache bug database at http://bugs.apache.org/ for
@@ -93,916 +80,520 @@
Changes since the last public release
-------------------------------------
-Changes with Apache 2.0.28
+Changes with Apache 2.0.32
- *) Fix infinite loop in mod_cgid.c.
- [Dale Ghent <da...@elemental.org>, Brian Pane <bp...@pacbell.net>]
+ *) 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]
- *) When no port is given in a "ServerName host" directive, the
- server_rec->port is now set to zero, not 80. That allows for
- run-time deduction of the correct server port (depending on
- SSL/plain, and depending also on the current setting of
- UseCanonicalName). This change makes redirections
- work, even with https:// connections. As in Apache-1.3, the
- connection's actual port number is never used, only the ServerName
- setting or the client's Host: setting. Documentation updated
- to reflect the change. [Martin Kraemer]
-
- *) Add a '%{note-name}e' argument to mod-headers, which works in
- the same way as mod_log_confg. [Ian Holsman]
-
- *) Fix the spelling of the AP_MPMQ_MIN_SPARE_DAEMONS and
- AP_MPMQ_MAX_REQUESTS_DAEMON macros in ap_mpm.h and all standard
- MPMs. [Cliff Woolley]
+ *) Win32: substantial cleanup to the mpm_winnt code for legibility and
+ to follow the program flow of other MPMs. [Ryan Bloom, William Rowe]
- *) Introduce htdbm, a user management utility for db/dbm authorization
- databases. [Mladen Turk <mt...@mappingsoft.com>]
+ *) Win32: apache -k shutdown now behaves like apache -k stop.
+ [Bill Stoddard]
- *) Optimize usage of strlen and strcat in ap_directory_walk.
- [Brian Pane <bp...@pacbell.net>]
+ *) Fix prefork to not kill the parent if a child hits a resource shortage
+ on accept(). [Greg Ames]
-Changes with Apache 2.0.27
+ *) Fix seg faults that occur when what should be the httpd request line
+ starts with \r\n followed by garbage. [Greg Ames]
- *) Introduce an Apache mod_ssl initial configuration template
- (ssl.conf, generated from ssl-std.conf). [Ralf S. Engelschall]
+ *) 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]
- *) Fixed a memory leak in the getline parsing code that could
- be triggered by arbitrarily large header lines. Requests
- from the core input filter for single lines are now limited
- to HUGE_STRING_LEN (8192 bytes). [Aaron Bannert]
-
- *) Fix a truncation bug in how we print the port on the Via: header.
- The routine that prints the Via: header now takes a length for
- the port string. [Zvi Har'El <rl...@math.technion.ac.il>]
-
- *) Some syntax errors in mod_mime_magic's magic file can result
- in a 500 error, which previously was unlogged. Now we log the
- error. [Jeff Trawick]
-
- *) Add the support/checkgid helper app, which checks the run-time
- validity of group identifiers usable in the Group directive.
- [Ken Coar]
-
- *) Various --enable-so options have been fixed: --enable-so is
- treated as "static"; explicit --enable-so=shared issues an error;
- and explicit --enable-so fails with error on systems without
- APR_HAS_DSO. [Aaron Bannert]
-
- *) Fix a segfault in the core input filter when the client socket
- gets disconnected unexpectedly. [Cliff Woolley]
-
- *) Fix the reporting for child processes that die. This removes
- all of the non-portable W* macros from Apache.
- [Jeff Trawick and Ryan Bloom]
-
- *) Win32: Track and display "Parent Server Generation:" in
- mod_status output. The generation will be bumped at
- server graceful restart, when the child process exits
- by hitting MaxRequestsPerChild or if the child
- process exits abnormally. [Bill Stoddard]
-
- *) Win32: Fix problem where MaxRequestsPerChild directive was
- not being picked up in favor of the default. Enable
- the parent to start up a new child process immediately upon
- the old child starting shutdown.
- [Bill Stoddard]
+ *) Allow mod_autoindex to serve symlinks if permitted and attempt to
+ do only one stat() call when generating the directory listings.
+ [Justin Erenkrantz]
- *) Fix some bungling of the remote port in rfc1413.c so that
- IdentityCheck retrieves the proper user id instead of failing
- and thus always returning "nobody."
- [Dick Streefland <Di...@xs4all.nl>]
+ *) Fix resolve_symlink to save the original symlink name if known.
+ [Justin Erenkrantz]
- *) Introduced thread saftey for mod_rewrite's internal cache.
- [Brian Pane <bp...@pacbell.net>]
+ *) 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]
- *) Simplified mod_env's directives to behave as most directives are
- expected, in that UnsetEnv will not unset a SetEnv and PassEnv
- directive following that UnsetEnv within the same container.
- Also provides a runtime startup warning if a PassEnv configured
- environment value is undefined. [William Rowe]
-
- *) The worker MPM is now completely ported to APR's new lock API. It
- uses native APR types for thread mutexes, cross-process mutexes,
- and condition variables. [Aaron Bannert]
+ *) suexec: Allow HTTPS and SSL_* environment variables to be passed
+ through to CGI scripts. PR 9163
+ [Brian Reid <br...@customlogic.com>,
+ Zvi Har'El <rl...@math.technion.ac.il>]
- *) Sync up documentation to remove all references to the now deprecated
- Port directive. [Justin Erenkrantz]
+ *) 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]
- *) Moved all ldap modules from the core to httpd-ldap sub-project
- [Ryan Bloom]
+ *) 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]
+
+ *) 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]
+
+Changes with Apache 2.0.31
+
+ *) 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
+ [Geoff <g....@ieee.org>]
+
+ *) New Directive Option for ProxyPass. It now can block a location
+ from being proxied [Jukka Pihl <ju...@entirem.com>]
+
+ *) 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]
- *) Exit when we can't listen on any of the configured ports. This
- is the same behavior as 1.3, and it avoids having the MPMs to
- deal with bogus ap_listen_rec structures. [Jeff Trawick]
-
- *) Cleanup the proxy code that creates a request to the origin
- server. This change adds an optional hook, which allows modules
- to gain control while the request is created if the proxy module
- is loaded. The purpose of this hook is to allow modules to add
- input and/or output filters to the request to the origin. While
- I was at it, I made the core use this hook, so that proxy request
- creation uses some of the code from the core. This can still be
- greatly improved, but this is a good start. [Ryan Bloom]
-
-Changes with Apache 2.0.26
-
- *) Port the MaxClients changes from the worker MPM to the threaded
- MPM. [Ryan Bloom]
-
- *) Fix mod_proxy so that it handles chunked transfer-encoding and works
- with the new input filtering system. [Justin Erenkrantz]
-
- *) Introduce the MultiviewsMatch directive, to allow the operator
- to be flexible in recognizing Handlers and Filters filename
- extensions as part of the Multiviews matching logic, strict with
- MultiviewsMatch NegotiatedOnly to accept only filename extentions
- that designate negotiated parameters, (content type, charset, etc.)
- or MultiviewsAll for the 1.3 behavior of matching any files, even
- if they have unregistered extensions. [William Rowe]
-
- *) Fixed the configure script to add a LoadModule directive to
- the default httpd.conf for any module that was compiled
- as a DSO. [Aaron Bannert <aa...@clove.org>]
-
- *) rewrite mod_ssl input filtering to work with the new input filtering
- system. [Justin Erenkrantz]
-
- *) prefork: Don't segfault when we are able to listen on some but
- not all of the configured ports. [Jeff Trawick]
-
- *) Build mod_so even if no core modules are built shared.
- [Aaron Bannert <aa...@clove.org>]
-
- *) Introduce ap_directory_walk rewrite (with further optimizations
- required) to adapt to the ap_process_request_internal() changes.
- Optimized so subrequests and redirects now reuse previous section
- merges, until we mismatch with the original directory_walk, and
- precomputed r->finfo results will cause directory_walk to skip
- the most expensive phases of the function. [William Rowe]
-
- *) Allow ApacheMonitor to connect to and control Apache on other
- WinNT/2K machines. [Mladen Turk <mt...@mappingsoft.com>]
-
- *) Remove the Port directive. In it's place, the Listen directive
- is now a required directive, which tells Apache what port to
- listen on. The ServerName directive has also been extended
- to accept an optional port. If the port is specified to the
- ServerName, the server will report that port whenever it
- reports the port that it is listening on. This change was
- made to ease configuration errors that stem from having a Port
- directive, and a Listen directive. In that situation, the server
- would only listen to the port specified by the Listen command,
- which caused a lot of confusion to users. [Ryan Bloom]
-
- *) Added mod_mime_magic, mod_unique_id and mod_vhost_alias to the Win32
- build, as loadable modules. [William Rowe]
-
- *) Fix --enable-mods-shared processing. If most is specified,
- then all modules that can be compiled as shared modules are.
- [Aaron Bannert <aa...@clove.org>]
-
- *) Update the mime.types file to map video/vnd.mpegurl to mxu
- and add commonly used audio/x-mpegurl for m3u extensions.
- [Heiko Recktenwald <uz...@uni-bonn.de>, Lars Eilebrecht]
-
- *) Eliminate the depreciated r->content_language, in favor of the array
- r->content_languages introduced many years ago. Module authors must
- substantially overhaul their modules, so this needs to be upgraded
- if the module still relied on backwards-brokeness. [William Rowe]
+ *) caching should now work on subrequests (still very experimental)
+ [Ian Holsman]
+
+ *) The Win32 mpm_winnt now has a shared scoreboard. [William Rowe]
- *) Allow configure help strings to work with autoconf 2.50+ and 2.13.
+ *) Change ap_get_brigade prototype to use apr_off_t instead of apr_off_t*.
[Justin Erenkrantz]
- *) Rewrite the input filtering mechanisms to consolidate and reorganize
- code. In short, core_input_filter does something now and
- ap_http_filter is now only concerned with HTTP. [Justin Erenkrantz]
-
- *) Update the Win32 build to re-absorb mod_proxy and family.
- [William Rowe]
+ *) Refactor ap_rgetline so that it does not use an internal brigade.
+ Change ap_rgetline's prototype to return errors. [Justin Erenkrantz]
- *) Resolved the build failure on Win32 using MSVC 5.0 (without the
- current SDK.) [William Rowe]
+ *) Remove mod_auth_db. [Justin Erenkrantz]
- *) Some style changes to the code that does ProxyErrorOverride. Fixed
- config merge behaviour. [Graham Leggett]
+ *) Do not install unnecessary pcre headers like config.h and internal.h.
+ [Joe Orton <jo...@manyfish.co.uk>]
- *) Allow support programs to be compiled against a static version
- of libapr. This allows the smaller support programs to be
- relocated. [Aaron Bannert <aa...@clove.org>]
+ *) 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]
- *) Update the mime.types file to the registered media types as
- of 2001-09-25, and add mapping for xsl extension [Mark Cox]
+ *) Change SUBREQ_CORE so that it is a 'HTTP_HEADER' filter instead of
+ 'CONTENT' one, as it needs to run AFTER all content headers
- *) Fix MaxClients in the Worker MPM, so that it specifies the maximum
- number of clients that can connect at the same time, instead of
- specifying the maximum number of child processes.
- [Aaron Bannert <aa...@clove.org>]
+ *) Rename BeOS MPM directive RequestsPerThread to MaxRequestsPerThread.
+ [Lars Eilebrecht]
- *) Switch proc_pthread AcceptMutex configuration directive to pthread to
- be consistent with 1.3. [Justin Erenkrantz]
+ *) Split out blocking from the mode in the input filters.
+ [Justin Erenkrantz]
- *) Cache apr_explode_localtime() value for 15 seconds.
- [Brian Pane <bp...@pacbell.net>]
+ *) Fix a segfault in mod_include. [Justin Erenkrantz, Jeff Trawick]
- *) Fix mod_include to not return ETag or Last-Modified headers.
- [Ian Holsman <ia...@cnet.com>]
+ *) Cause Win32 to capture all child-worker process errors in
+ Apache to the main server error log, until the child can
+ open its own error logs. [William Rowe]
+
+ *) HPUX 11.*: Do not kill the child process when accept()
+ returns ENOBUFS on HPUX 11.*. (ported from a 1.3 patch
+ by [madhusudan_mathihalli@hp.com])
+ [Bill Stoddard]
- *) Fix worker MPM's scoreboard logic. [Aaron Bannert <aa...@clove.org>]
+ *) Fix a problem in the parsing of the <Proxy foo> directive.
+ [Jeff Trawick]
- *) Eliminate the wasteful run-time conversion of method names from strings
- to numbers in places where the methods are known at compile time.
- [Brian Pane <bp...@pacbell.net>]
+ *) rewrite of mod_ssl input filter for better performance and less
+ memory usage [Doug MacEachern]
- *) Turn the worker MPM's queue into a LIFO. This may
- improve cache-hit performance under some conditions.
- [Aaron Bannert <aa...@clove.org>]
-
- *) Switch back to SIGUSR1 for graceful restarts on all platforms that
- support it. [Justin Erenkrantz]
-
- *) Cleanup the worker MPM. We no longer re-use transaction
- pools. This incurs less overhead than shuffling the pools
- around so that they can be re-used. Remove one of the
- queue's condition variables. We just redefined the API to
- state that you can't try to add more stuff than you allocated
- segments for. [Aaron Bannert <aa...@clove.org>]
-
- *) Fix SSL VPATH builds [Cody Sherr <cs...@covalent.net>]
-
- *) Fixed persistent connections when a request contains a body.
- [Greg Stein]
-
- *) mod_dav uses a new API to speak to the backend provider for dead
- property management. [Greg Stein]
-
- *) Remove the Win32 script-processing exception from mod_cgi, and
- roll build_command_line/build_argv_list into a unified, overrideable
- ap_cgi_build_command optional function. [William Rowe]
-
- *) Rewrite find_start_sequence to use a better search algorithm
- to find the start tag. [Justin Erenkrantz]
-
- *) Fix a seg fault in mod_include. When we are generating an
- internal redirect, we must set r->uri to "", not a bogus
- string, and not NULL. [Ryan Bloom]
-
- *) Optimized location_walk, so subrequests, redirects and second passes
- now reuse previous section merges on a <Location > by <Location >
- basis, until we mismatch with the original location_walk.
- [William Rowe]
+ *) allow quick_handler to be run on subrequests. [Ian Holsman]
- *) Back out the 1.45 change to util_script.c. This change made
- us set the environment variable REQUEST_URI to the redirected
- URI, instead of the originally requested URI.
- [Taketo Kabe <ka...@sra-tohoku.co.jp>]
-
- *) Make mod_include do lazy evaluation of potentially expensive to
- compute variables. [Brian Pane <bp...@pacbell.net>]
-
- *) Fix logging of bytes sent for HEAD requests. %b and %B should
- log either - or 0, before this patch, they were both logging
- the file size. [Taketo Kabe <ka...@sra-tohoku.co.jp>]
-
- *) Make mod_include check for BYTE_CHECK_THRESHOLD per bucket rather
- than per character. [Brian Pane <bp...@pacbell.net>]
-
- *) Normalize the primary request, redirects and sub-requests to
- run the same ap_process_request_internal for consistency in
- robustness, behavior and security. [William Rowe]
-
- *) Fix a segfault with mod_include when r->path_info is not set
- (which is the case with mod_proxy). [Ian Holsman <ia...@cnet.com>]
-
- *) Add -X functionality back. This indicates to all MPMs and any other
- part of Apache that it should run in "debug" mode. [Justin Erenkrantz]
-
- *) Some initial support for the cygwin platform [prefork only].
- This is not to be confused with support for the WinNT/Win32
- platform, which is the recommended configuration for native
- Win32 users. The cygwin platform support is recommended for
- cygwin platform users. [Stipe Tolj <to...@wapme-systems.de>]
-
- *) Changed syntax of Set{Input|Output}Filter. The list of filters
- must be semicolon delimited (if more than one filter is given.)
- The Set{Input|Output}Filter directive now overrides a parent
- container's directive (e.g. SetInputFilter in <Directory /web/foo>
- will override any SetInputFilter directive in <Directory /web>.)
- This new syntax is more consistent with Add{Input|Output}Filter
- directives defined in mod_mime. Also cures a bug in prior releases
- where the Set{Input|Output}Filter directive would corrupt the
- global configuration if the multiple directives were nested.
- [William Rowe]
+ *) 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.
+ [Madhusudan Mathihalli <ma...@hp.com>]
- *) Cured what's ailed mime for quite some time. If an AddSomething
- was given in the configuration (Language, Charset, Handler or
- Encoding) Apache would set the content type as given by AddType,
- but refused to check the mime.types file if AddType wasn't given
- for that specific extension. Setting the AddHandler for .html
- without setting the AddType text/html html would cause Apache to
- use the default content type. [William Rowe]
-
- *) Added some bulletproofing to memory allocation in the LDAP cache
- code. [Graham Leggett]
-
-Changes with Apache 2.0.25
-
- *) Move the installed /manual directory out of the /htdocs/ tree, so
- that it can be kept more independently from the remaining document
- root. The "Alias /manual ..." already allowed for easy projection
- into existing private document trees. [Martin Kraemer]
-
- *) Add specified user attributes to the environment when using
- mod_auth_ldap. This allows you to use mod_include to embed specified
- user attributes in a page like so:
- Hello <!--#echo var="AUTHENTICATE_CN"-->, how are you?
- [Graham Leggett]
-
- *) Fix a performance problem with the worker MPM. We now create
- transaction pools once, and re-use them for each connection.
- [Aaron Bannert <aa...@clove.org>]
-
- *) Modfied mod_mime to prevent mod_negotation from serving a multiview
- of a 'handler' or 'filter', so that any filename extension that does
- not contribute to the negotiated metadata can't be served without
- an explicit request. E.g., if the .Z extension is associated with
- an unzip filter, the user request somefile.Z.html, mod_negotiation
- won't serve it. It can serve somefile.Z.html when somefile.Z is
- requested, since the .Z extension is explictly requested, if the
- .html extension is associated with ContentType text/html.
- [William Rowe]
+ *) 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]
+
+ *) Fix SSLPassPhraseDialog exec: and SSLRandomSeed exec:
+ [Doug MacEachern]
+
+Changes with Apache 2.0.30
+
+ *) 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.
+ [albert chin (china@thewrittenword.com)]
+
+ *) 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]
- *) Introduce the AddInputFilter filter[;filter...] ext [ext...]
- and corresponding AddOutputFilter syntax, to insert one or more
- filters by mod_mime filename extension processing.
- [William Rowe]
+ *) 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
+ [James Watson <ap...@sowega.org>]
- *) Fix a growing connection pool in core_output_filter() for
- keepalive requests. [Jeff Trawick]
+ *) Fix LimitRequestBody directive by placing it in the HTTP
+ filter. [Justin Erenkrantz]
- *) Moved split_and_pass_pretag_buckets back to being a
- macro at Ryans's request. Removed the return from it
- by setting and returning a return code instead. Updated
- the code to check the return code from the macro and
- do the right thing. [Paul J. Reder]
+ *) Fix mod_proxy seg fault when the proxied server returns
+ an HTTP/0.9 response or a bogus status line.
+ [Adam Sussman]
- *) Fix a segfault when a numeric value was received for Host:.
- [Jeff Trawick]
+ *) Prevent mod_proxy from truncating one character off the
+ end of the status line returned from the proxied server.
+ [Adam Sussman, Bill Stoddard]
- *) Add a function ap_remove_input_filter. This is to match
- up with ap_remove_output_filter. [Ryan Bloom]
+ *) Eliminate loop in ap_proxy_string_read().
+ [Adam Sussman, Bill Stoddard]
- *) Clean up location_walk, so that this step performs a minimum
- amount of redundant effort (it must be run twice, but it will no
- longer reparse all <Location > blocks when the request uri
- hadn't changed.) [William Rowe]
-
- *) Eliminate proxy: (and all other 'special') processing from the
- ap_directory_walk() phase. Modules that want to use special
- walk logic should refer to the mod_proxy map_to_location example,
- with it's proxy_walk and proxysection implementation. This makes
- either directory_walk flavor much more legible, since that phase
- only runs against real <Directory > blocks.
+ *) Provide $0..$9 results from mod_include regex parsing.
[William Rowe]
- *) Fix a security problem in mod_include which would allow
- an SSI document to be passed to the client unparsed.
- [Cliff Woolley, Brian Pane]
-
- *) Introduce the map_to_storage hook, which allows modules to bypass
- the directory_walk and file_walk for non-file requests. TRACE
- shortcut moved to http_protocol.c as APR_HOOK_MIDDLE, and the
- directory_walk/file_walk happen as APR_HOOK_VERY_LAST in core.c.
- [William Rowe]
+ *) Allow mod-include to look for alternate start & end tags [Ian Holsman]
- *) Add the ability for mod_include to add the INCLUDES filter
- if the file is configured for the server-parsed handler.
- This makes the configuration for .shtml files much easier
- to understand, and allows mod_include to honor Apache 1.3
- config files. Based on Doug MacEachern's patch to PHP
- to do the same thing. [Ryan Bloom]
-
- *) force OpenSSL to ignore process local-caching and to always
- get/set/delete sessions using mod_ssl's callbacks
- [Madhusudan Mathihalli <ma...@hp.com>,
- Geoff Thorpe <ge...@geoffthorpe.net>]
-
- *) Make the worker MPM shutdown and restart cleanly. This also
- cleans up some race conditions, and gets the worker using
- pools more cleanly. [Aaron Bannert <aa...@clove.org>]
+ *) Introduced the ForceLanguagePriority directive, to prevent
+ returning MULTIPLE_CHOICES or NONE_ACCEPTABLE in some cases,
+ when using Multiviews. [William Rowe]
- *) Implement CRYPTO_set_locking_callback() in terms of apr_lock
- for mod_ssl
- [Madhusudan Mathihalli <ma...@hp.com>]
+ *) Fix a problem which prevented mod_cgid and suexec from working
+ together reliably [Greg Ames]
- *) Fix for mod_include. Ryan's patch to check error
- codes put a return in the wrong place. Also, the
- include handler return code wasn't being checked.
- I don't like macros with returns, so I converted
- SPLIT_AND_PASS_PRETAG_BUCKETS into a function.
- [Paul J. Reder <re...@raleigh.ibm.com>]
+ *) Remove the call to exit() from within mod_auth_digest's post_config
+ phase. [Aaron Bannert]
- *) fix segv in mod_mime if no AddTypes are configured
- [John Sterling <st...@covalent.net>]
+ *) Fix a problem in mod_auth_digest that could potentially cause
+ problems with initialized static data on a system that uses DSOs.
+ [Aaron Bannert]
- *) Enable ssl client authentication at SSL_accept time
- [Madhusudan Mathihalli <ma...@hp.com>]
+ *) Fix a segfault in the worker MPM that could happen during
+ child process exits. [Brian Pane, Aaron Bannert]
- *) Fix a segfault in mod_include when the original request has no
- associated filename (e.g., we're filtering the error document for
- a bad URI). [Jeff Trawick]
+ *) Allow mod_auth_dbm to handle multiple DBM types [Ian Holsman]
- *) Fix a storage leak (a strdup() call) in mod_mime_magic. [Jeff Trawick]
+ *) 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]
- *) The prefork and OS/2 MPMs are overwriting the pid file when a second copy
- of httpd is started and shuts down due to socket conflict. Moving the
- call to ap_log_pid solves the problem.
+ *) More performance tweaks to the BNDM string-search algorithm
+ used to find "<!--#" tokens in mod_include [Brian Pane]
- *) Changed the late-1.3 log_config substitution %c to %X, to log the
- status of the closed connection, as it conflicts with the far more
- common, historical ssl logging directive %...{var}c. [William Rowe]
+ *) Miscellaneous small performance fixes: optimized away various
+ string copy operations and removed large temp buffers from
+ the stack [Brian Pane]
- *) Added the common error/ tree to the build/install targets
- (similar to the common icons/ tree) for the multi-language error
- messages that Lars committed earlier. [William Rowe]
+ *) Fixed startup segfault that occurred when a VirtualHost
+ directive had a port but no address [Brian Pane]
- *) Added a multi process, multi threaded OS/2 MPM mpmt_os2. [Brian Havard]
+ *) Allow htdbm to work with multiple DBM types [Ian Holsman]
- *) Added a default commented-out mod_ldap and mod_auth_ldap
- configuration to httpd-std.conf and httpd-win.conf
- [Graham Leggett]
+ *) 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]
- *) Added documentation for mod_ldap and mod_auth_ldap.
- [Graham Leggett]
+ *) Win32: Fix bug that could cause CGI scripts with QUERY_STRINGS
+ to fail. [Bill Stoddard]
- *) Enabled negative caching on attribute comparisons in the LDAP cache.
- Fixed a problem where the default cache TTL was set in milliseconds
- not microseconds causing the cache to time out almost immediately.
- [Graham Leggett]
+ *) 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]
- *) Fixed all the #if APR_HAS_SHARED_MEMORY checks within the LDAP
- module code to follow APR. [Graham Leggett]
+ *) 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]
- *) Fixed LDAP cleanup on graceful restarts. LDAP connections are now
- cleaned up when the connection pool pool is cleaned up.
- [Graham Leggett]
+ *) 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]
- *) Fix a minor issue with Jeff Trawick's mod_include
- patch. Without this patch, the code will just allocate
- more bytes in get_combined_directive than are needed.
- [Paul Reder]
+ *) 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]
- *) Added the LDAP authentication module mod_auth_ldap.
- [Dave Carrigan <da...@rudedog.org>, Graham Leggett]
+ *) 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]
- *) Added the LDAP cache and connection pooling module mod_ldap.
- [Dave Carrigan <da...@rudedog.org>, Graham Leggett]
+ *) Get shared builds of libapr and libaprutil, as well as Apache DSOs,
+ working on AIX. [Aaron Bannert, Dick Dunbar <RL...@pacbell.net>,
+ Gary Hook <gh...@us.ibm.com>, Victor Orlikowski, Jeff Trawick]
- *) Fix --enable-modules=all breakage with mod_auth_db and mod_auth_digest
- by allowing a module to disable itself if its prerequisites are not
- met. [Justin Erenkrantz]
+ *) Fix the handling of SSI directives in which the ">" of the
+ terminating "-->" is the last byte in a file [Brian Pane]
-Changes with Apache 2.0.24
+ *) 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]
- *) Fix a couple of issues in mod_include when the tag appeared at
- offsets near 8192 in the file being parsed. [Jeff Trawick]
+ *) Prevent the Win32 port from continuing after encountering an
+ error in the command line args to apache. [William Rowe]
- *) Fix an assertion failure in mod_ssl when the keepalive timeout is
- reached. [Jeff Trawick]
+ *) On a error in the proxy, make it write a line to the error log
+ [Ian Holsman]
- *) Numerous improvements to the Win32 build system. Introduced command line
- builds without requiring .mak files for MSVC 6.0 and later versions.
- Improved .dsp file compatibility for both Visual Studio 5.0 and 6.0 users.
- [William Rowe]
+ *) Various mod_ssl performance improvements [Doug MacEachern]
- *) Assorted corrections and improvements to the winnt_mpm startup code.
- Better reporting of uninstalled services and other error conditions,
- and changed the default service name to Apache2. [William Rowe]
-
- *) Numerous improvements to the Win32 ApacheMonitor utility, including
- winnt_mpm compatibility with existing Apache 1.3 Win32 Apache management
- utilites. [Mladen Turk <mt...@mappingsoft.com>, William Rowe]
-
- *) Fixed the segfaults in mod_mime introduced by hash tables in 2.0.20.
- [William Rowe, Greg Ames]
-
- *) Rounded out the mod_mime Add/Remove pairs by adding RemoveLanguage
- and RemoveCharset directives. [William Rowe]
-
- *) The Unix MPMs other than perchild now allow child server
- processes to use the accept mutex when starting as root and
- using SysV sems for the accept mutex. Previously, this
- combination would lead to fatal errors in the child server
- processes. perchild can't use SysV sems because of security
- issues. [Jeff Trawick, Greg Ames]
-
- *) Added Win32 revision stamp resources to all http binaries
- (including modules/ and support/ tools.) PR7322 [William Rowe]
-
- *) Fix ap_rvprintf to support more than 4K of data at one time.
- [Cody Sherr <cs...@covalent.net>]
-
- *) We have always used the obsolete/deprecated Netscape syntax
- for our tracking cookies; now the CookieStyle directive
- allows the Webmaster to choose the Netscape, RFC2109, or
- RFC2965 format. The new CookieDomain directive allows the
- setting of the cookie's Domain= attribute, too. PR #s 5006,
- 5023, 5920, 6140 [Ken Coar]
-
- *) Tweak server/Makefile so that the rules for generating exports.c
- are compatible with make utilities which don't expand wildcards
- in a dependency list (e.g., OS/390 make, certain levels of GNU
- make). [Jeff Trawick]
-
- *) Install the SSL headers. [John Sterling <st...@covalent.net>]
-
- *) 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 <cs...@covalent.net>]
+Changes with Apache 2.0.29
- *) Close a major resource leak. Every time we had issued a
- graceful restart, we leaked a socket descriptor.
- [Ryan Bloom]
+ *) 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 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 <cs...@covalent.net> and Ryan Morgan <rm...@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]
+ *) Fix the installation target to make sure that the manual is
+ installed in the correct location.
+ [Yoshifumi Hiramatsu <hi...@boreas.dti.ne.jp> and
+ Gomez Henri <hg...@slib.fr>]
- *) The worker MPM now handles shutdown and restart requests. It
- definitely 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]
-
-Changes with Apache 2.0.23
-
- *) Use the prefork MPM by default on Unix. [various]
-
- *) Added a systray icon monitor application for Win32.
- [Mladen Turk <mt...@mappingsoft.com>]
-
- *) mod_rewrite: Fix the line ending on some non-Unix systems for
- messages written to the rewrite log.
- [Richard Labennett <rl...@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]
+ *) 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]
- *) 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]
+ *) Change open_logs hook to return a value, allowing you
+ to flag a error while opening logs
+ [Ian Holsman, Doug MacEachern]
- *) 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 IndexOptions flag FoldersFirst
- and DirectoryWidth options from Apache 1.3.10.
- [William Rowe, Ken Coar]
-
- *) Eliminated FancyIndexing directive, deprecated early in Apache
- 1.3 by the IndexOptions FancyIndexing syntax. [William Rowe]
-
- *) 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]
+ *) Change post_config hook to return a value, allowing you
+ to flag a error post config
+ [Ian Holsman, Jeff Trawick]
- *) 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]
+ *) Allow SUEXEC_BIN (the path to the suexec binary that is
+ hard-coded into the server) to be specified to the configure
+ script by the --with-suexec-bin parameter. [Aaron Bannert]
- *) 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 <cs...@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 <ma...@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]
+ *) Fix segv in worker MPM following accept on pipe-of-death
+ [Brian Pane]
- *) 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]
+ *) Add mod_deflate to experimental.
+ [Ian Holsman, Justin Erenkrantz]
-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]
+ *) Bail out at configure time if an invalid MPM was specified.
+ [jean-frederic clere <jf...@fujitsu-siemens.com>]
- *) Apache/Win32 now fills in the service description with Apache's
- server version string, including loaded and advertised modules.
- [William Rowe]
+ *) Prevent segv in ap_note_basic_auth_failure() when no AuthName is
+ configured [John Sterling <st...@covalent.net>]
- *) 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 apxs to use sbindir. [Henri Gomez <hg...@slib.fr>]
- *) Fix a segfault in threaded.c caused by passing uninitialized
- apr_thread_t * to apr_thread_join(). [Jeff Trawick]
+ *) Fix a problem with IPv6 vhosts. PR #8118 [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 <ka...@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 <ef...@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 <st...@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 <ml...@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]
+ *) Optimization for the BNDM string-search function in
+ mod_include. [Brian Pane]
- *) 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 <cs...@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]
+ *) Fixed the behavior of the XBitHack directive.
+ [Taketo Kabe <ka...@sra-tohoku.co.jp>, Cliff Woolley] PR#8804
- *) Provide vhost and request strings when ExtendedStatus is on.
- [Greg Ames]
+ *) The threaded MPM for Unix has been removed. Use the worker
+ MPM instead. [various]
- *) 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
- large, so the time spent scanning them on each request is
- significant. Replacing the tables with hash tables provides
- a nice speedup. [Brian Pane <bp...@pacbell.net>]
-
- *) Add two functions to allow modules to access random parts of the
- scoreboard. This allows modules compiled for one MPM to access the
- scoreboard, even if it the server was compiled for another MPM.
- [Harrie Hazewinkel <ha...@covalent.net>]
-
-Changes with Apache 2.0.20
-
- *) Fix problem in content-length filter where the filter would
- buffer all the output from a CGI before sending any bytes
- down the filter stack to the network. This problem would cause
- significant memory consumption if the CGIs generated
- lots of bytes. [Bill Stoddard]
-
- *) Get non-blocking CGI pipe reads working with the bucket brigades.
- [Bill Stoddard]
+ *) APR-ize the resolver logic in mod_unique_id. This fixes a bug
+ in logging the error from a failed DNS lookup. [Jeff Trawick]
- *) Fix seg fault on Windows when serving files cached with mod_file_cache.
- [Bill Stoddard]
+ *) Added the missing macros AP_INIT_TAKE13 and AP_INIT_TAKE123.
+ [Cliff Woolley]
- *) Fix a bug in the threaded MPM that would cause it to kill off all
- workers immediately after starting if the number of workers started
- was above a certain threshold. [Ryan Bloom, Bill Stoddard]
-
-Changes with Apache 2.0.19
-
- *) Fix problem with threaded MPM. The problem was that if each child
- process was busy serving a single long-lived request and the server
- was sent a graceful restart signal, the server would stop serving
- requests. This would happen because each child process would wait to
- die until the last thread was done, and the parent wouldn't spawn any
- new children until a process died. Now, the parent looks at the fact
- that the children are dying gracefully, and starts new children.
- Those new children only start enough threads to compliment the number
- of threads in the other child process that shares the same spot in
- the scoreboard. In this way, we make sure to never go over
- MaxClients. [Ryan Bloom]
-
- *) modified mod_negotiation and mod_autoindex to speed up by almost a
- factor of two on apr_dir_read()-enhanced platforms, such as Win32
- and OS2, by calling ap_sub_request_lookup_dirent() with the results
- already provided by apr_dir_read(). [William Rowe]
-
- *) mod_file_cache is now more robust to filtering and serves requests
- slightly more efficiently. [Cliff Woolley]
-
- *) Fix problem handling FLUSH bucket in the chunked encoding filter.
- Module was calling ap_rwrite() followed by ap_rflush() but the
- served content was not being displayed in the browser. Inspection
- of the output stream revealed that the first data chunk was
- missing the trailing CRLF required by the RFC. [Bill Stoddard]
-
- *) apxs no longer generates ap_send_http_header() in the example handler
-
- *) Fix an ab problem which could cause a divide-by-zero exception
- with certain invocations (e.g., ab -k -c 6 -n 100 localhost/).
- [Ian Holsman <ia...@cnet.com>]
-
- *) Solve case-insensitive platforms' confusion about negotiated
- filenames, allowing files of differnt case to match in choosing
- the document to serve. [William Rowe]
-
- *) Fix brokenness when ThreadsPerChild is higher than the built-in
- limit. We left ap_threads_per_child at the higher value which
- led to segfaults when doing certain scoreboard operations.
+ *) Get mod_cgid killed when a MPM exits due to a fatal error.
[Jeff Trawick]
- *) Fix seg faults and/or missing output from mod_include. The
- default_handler was using the subrequest pool for files and
- MMAPs, even though the associated APR structures typically
- live longer than the subrequest. [Greg Ames]
-
- *) Extend mod_setenvif to support specifying regular expressions
- on the SetEnvIf (and SetEnvIfNoCase) directive attribute field.
- Example: SetEnvIf ^TS* [a-z].* HAVE_TS
- will cause HAVE_TS to be set if any of the request headers begins
- with "TS" and has a value that begins with any character in the
- set [a-z]. [Bill Stoddard]
-
- *) httpd children now re-bind themselves to a random CPU on
- multiprocessor systems on AIX via bindprocessor() in 2.0.
- [Victor J. Orlikowski]
-
- *) Fix htdigest. It would go into a loop in getline when adding
- a second user. [Bill Stoddard]
-
- *) Win32 platforms now fully support mod_userdir options. [Will Rowe]
-
- *) Automatically generate httpd.exp for AIX.
- DSOs now work again on AIX in 2.0
- [Victor J. Orlikowski]
-
- *) Add a new request hook, error_log. This phase allows modules
- to act on the error log string _after_ it has been written
- to the error log. The goal for this hook is to allow monitoring
- modules to send the error string to the monitoring agent.
+ *) Fix a file descriptor leak in mod_include. When we include a
+ file, we use a sub-request, but we didn't destroy the sub-request
+ immediately, instead we waited until the original request was
+ done. This patch closes the sub-request as soon as the data is
+ done being generated. [Brian Pane <bp...@pacbell.net>]
+
+ *) Allow modules that add sockets to the ap_listeners list to
+ define the function that should be used to accept on that
+ socket. Each MPM can define their own function to use for
+ the accept function with the MPM_ACCEPT_FUNC macro. This
+ also abstracts out all of the Unix accept error handling
+ logic, which has become out of synch across Unix MPMs.
[Ryan Bloom]
- *) Modify mod_echo to make it use filters for input and output.
- [Ryan Morgan <rm...@covalent.net>]
-
- *) Extend mod_headers to support conditional driven Header
- add, append and set. Use SetEnvIf to set an envar and conditionally
- add/append/set headers based on this envar thusly:
-
- SetEnvIf TSMyHeader value HAVE_TSMyHeader
- Header add MyHeader "%t %D" env=HAVE_TSMyHeader
-
- If the request contains header "TSMyHeader: value" then header
- MyHeader: "t=xxxxxxxxxx D=yyyy" will be sent on the response.
- [Bill Stoddard]
-
- *) Extend mod_headers to support using format specifiers on Header
- add, append and set header values. Two format specifiers are supported:
-
- %t - reports, in UTC microseconds since the epoch, when the
- request was received.
+ *) Fix a bug which would cause the response headers to be omitted
+ when sending a negotiated ErrorDocument because the required
+ filters were attached to the wrong request_rec.
+ [John Sterling <st...@covalent.net>]
- %D - reports the time, in microseconds, between when the request was
- received and the response sent.
+ *) Remove commas from the end of the macros that define
+ directives that are used by MPMs. Prior to this patch,
+ you would use these macros without commas, which was unlike
+ the macros for any other directives. Now, the caller provides
+ the comma rather than the macro providing it. This makes
+ the macros look more like the rest of the directives.
+ [Ryan Bloom and Cliff Woolley]
+
+ *) Add 'redirect-carefully' environment option to disable sending
+ redirects under special circumstances. This is helpful for
+ Microsoft's WebFolders when accessing a directory resource via
+ DAV methods. [Justin Erenkrantz]
+
+ *) Begin to abstract out the underlying transport layer.
+ The first step is to remove the socket from the conn_rec,
+ the server now lives in a context that is passed to the
+ core's input and output filters. This forces us to be very
+ careful when adding calls that use the socket directly,
+ because the socket isn't available in most locations.
+ [Ryan Bloom]
- Examples:
- Header add MyHeader "This request served in %D microseconds. %t"
+ *) Really reset the MaxClients value in worker and threaded
+ when the configured value is not a multiple of the number
+ of threads per child. We said we did previously but we
+ forgot to. [Jeff Trawick]
- results in a header being added to the response that looks like this:
-
- MyHeader: This request served in D=5438 microseconds. t=991424704447256
+ *) Add Debian layout. [Daniel Stone <da...@sfarc.net>]
- [Bill Stoddard]
+ *) If shared modules are requested and mod_so is not available,
+ produce a fatal config-time error. [Justin Erenkrantz]
- *) Fix reset_filter(). We need to be careful how we remove filters.
- If we set r->output_filters to NULL, we also have to reset the
- connection's filters. [John Sterling]
-
- *) Optimise reset_filter() in http_protocol.c. [Greg Stein]
-
- *) Add a check to ap_die() to make sure the filter stack is sane and
- contains the correct basic filters when an error occurs. This fixes
- a problem where headers are not being sent on error. [John Sterling]
-
- *) New Header directive 'echo' option. "Header echo regex" will
- cause any headers received on the request that match regex to be
- echoed to (included in) the response headers.
- [Bill Stoddard]
+ *) Improve http2env's performance by cutting the work it has to
+ do. [Brian Pane <bp...@pacbell.net>]
- *) include/ap_compat.h tested and set APR_COMPAT_H instead of AP_COMPAT_H.
- This prevented the inclusion of apr_compat.h. PR #7773
- [Oleg Broytmann <ph...@phd.pp.ru>]
-
- *) Moved util_uri to the apr-util library. This required a bunch of
- apr_name changes for the uri utility functions. [Justin Erenkrantz]
-
- *) Move the addition of default AP_HTTP_HTTP_HEADER filters to the
- insert_filter phase so that other filters are not bypassed by default.
- [Graham Leggett]
-
- *) Reimplement mod_headers as an output filter. mod_headers can now
- add custom headers to inbound requests using the RequestHeader directive
- and to responses using the same old Header directive. [Graham Leggett]
+ *) use new 'apr_hash_merge' function in mod_mime (performance fix)
+ [Brian Pane <bp...@pacbell.net>]
1.10 +1 -1 httpd-dist/HEADER.html
Index: HEADER.html
===================================================================
RCS file: /home/cvs/httpd-dist/HEADER.html,v
retrieving revision 1.9
retrieving revision 1.10
diff -u -r1.9 -r1.10
--- HEADER.html 6 Feb 2002 14:29:35 -0000 1.9
+++ HEADER.html 16 Feb 2002 19:01:29 -0000 1.10
@@ -15,5 +15,5 @@
<h2><a href="http://www.apache.org/dist/httpd/patches/apply_to_1.3.23/solaris-ap
ache-1.3.23.patch">Solaris Specific Patch for Apache 1.3.23</a> Available </h2>
-<b><a href="Announcement2.html">Apache 2.0.28 Beta</a> is now available
+<b><a href="Announcement2.html">Apache 2.0.32 Beta</a> is now available
for testing.</b>
1.12 +1 -1 httpd-dist/README.html
Index: README.html
===================================================================
RCS file: /home/cvs/httpd-dist/README.html,v
retrieving revision 1.11
retrieving revision 1.12
diff -u -r1.11 -r1.12
--- README.html 6 Feb 2002 14:29:35 -0000 1.11
+++ README.html 16 Feb 2002 19:01:29 -0000 1.12
@@ -1,4 +1,4 @@
-<H2>Apache 2.0.28 Released as a beta</H2>
+<H2>Apache 2.0.32 Released as a beta</H2>
<P>Apache 2.0 betas are developer only releases with numerous
bugs and new features. Guaranteed to give you the best rollercoaster