CHANGES revision 103005439776bb7aeccb95ebf4761ebfef3f9c39
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmarkChanges with Apache 2.0.34-dev
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark *) New Directive SSIUndefinedEcho. to change the '(none)' echoed
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark for a undefined variable. [Ian Holsman]
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark *) Proxy HTTP and CONNECT: Keep trying other addresses from the DNS
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark when we can't get a socket in the specified address family. We may
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark have gotten back an IPv6 address first and yet our system is not
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark configured to allow IPv6 sockets. [Jeff Trawick]
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark *) Be more careful about recursively removing CVS directories. Make
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark sure that we aren't cd'ing to their home directory first.
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark [Aaron Bannert]
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark *) Add a missing errordir entry in the Debian config.layout. PR: 10067
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark [Dirk-Jan Faber <dirk-jan@selwerd.nl>, Aaron Bannert,
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark Thom May <thom@planetarytramp.net>]
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark *) Rename the filter ordering priorities. The recent filtering fixes
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark have showcased problems with their usage. Therefore, we need to
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark rename them to increase the clarity. (CONTENT->RESOURCE,
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark HTTP_HEADER->CONTENT_SET/PROTOCOL) [Justin Erenkrantz]
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmarkChanges with Apache 2.0.33
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark *) Fix a problem in the new --enable-layout functionality where
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark it wouldn't allow overrides from variables like --prefix,
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark --bindir, etc. [Thom May <thom@planetarytramp.net>]
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark *) Fix a bug in the core input filter for AP_MODE_EXHAUSTIVE. It
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark no longer hangs around waiting for the socket to close before
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark returning exhaustive data. [Aaron Bannert]
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark *) rename apr_exploded_time_t to apr_time_exp_t (as per renames pending)
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark [Thom May <thom@planetarytramp.net>]
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark *) Change mod_ssl to always do a full startup/teardown on restarts.
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark this allows mod_ssl to be added to a server that is already
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark running and makes it possible to add/change certs/keys after the
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark server has been started. [Doug MacEachern]
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark *) Introduce PassPhraseDialog "|/path/to/pipe" mechanism to mod_ssl.
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark This pipe must be a bidirectional 'console' style relay, which
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark mod_ssl prints all prompts to the pipe's stdin, and reads the
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark passphrases from the pipe's stdout. [William Rowe]
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark *) Fix bug where --sysconfdir and --localstatedir were being
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark ignored. [Thom May <thom@planetarytramp.net>, Aaron Bannert]
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark *) Fix --enable-layout to work again. Caution: When specifying
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark --enable-layout, common arguments like --prefix, --exec-prefix,
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark etc. will be ignored and the settings from the layout will be
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark used instead. [Thom May <thom@planetarytramp.net>, Aaron Bannert]
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark PR 9124, 9873, 9885
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark *) New Directive for mod_proxy: ProxyRemoteMatch. This provides
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark regex pattern matching for the determination of which requests
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark to use the remote proxy for. [Jim Jagielski]
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark *) Fix CustomLog bytes-sent with HTTP 0.9. [Justin Erenkrantz]
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark *) Prevent Apache from ignoring SIGHUP due to some lingering 1.3
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark cruft in piped logs and rewritemap child processes.
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark [William Rowe]
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark *) All instances of apr_lock_t have been removed and converted
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark to one of the following new lock APIs: apr_thread_mutex.h,
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark apr_proc_mutex.h, or apr_global_mutex.h. No new code should
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark use the apr_lock.h API, as the old API will soon be deprecated.
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark [Aaron Bannert]
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark *) Merged in changes to mod_ssl up through 2.8.7-1.3.23.
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark [Ralf S. Engelschall, Cliff Woolley]
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark *) mod-include: make it handle flush'es and fix the 'false-alarm'
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark [Justin Erenkrantz, Brian Pane, Ian Holsman]
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark *) ap_get_*_filter_handle() functions to allow 3rd party modules
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark to lookup filter handles so they can bypass the filter name
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark lookup when adding filters to a request (via ap_add_*_filter_handle())
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark [Ryan Morgan <rmorgan@covalent.net>]
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark *) Fix for multiple file buckets on Win32, where the first file
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark bucket would cause the immediate closure of the socket on any
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark non-keepalive requests. [Ryan Morgan <rmorgan@covalent.net>]
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark *) Correct Win32 failure of mmap of a segment beyond start of the
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark file; fixes large SSL and similar transfers. [William Rowe]
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark *) Implement apr_proc_detach changes and allow -DNO_DETACH in the
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark multi-process mode to not "daemonize" while detaching from the
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark controlling terminal. This is necessary for Apache to work with
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark process-management tools like AIX's "System Resource Controller"
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark as well as Dan Bernstein's "daemontools".
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark [Jos Backus <josb@cncdsl.com>, Aaron Bannert]
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark *) Convert mod_auth_digest to use the new apr_global_mutex_t
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark type. [Aaron Bannert]
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark *) fix bug in mod-include where it wouldn't send a unmatched
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark part if it was at the end of a bucket [Ian Holsman]
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark *) worker MPM: Improve logging of errors with the interface between
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark the listener thread and worker threads. [Jeff Trawick]
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark *) Some browsers ignore cookies that have been merged into a
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark single Set-Cookie header. Set-Cookie and Set-Cookie2 headers
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark are now unmerged in the http proxy before being sent to the
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark client. [Graham Leggett]
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark *) Fix a problem with proxy where each entry of a duplicated
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark header such as Set-Cookie would overwrite and obliterate the
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark previous value of the header, resulting in multiple header
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark values (like cookies) going missing.
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark [Graham Leggett, Joshua Slive]
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark *) Add the server-limit and thread-limit values to the scoreboard
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark for the sake of third-party applications.
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark [Adam Sussman <myddryn@vishnu.vidya.com>]
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark *) Fix segfault when proxy recieves an invalid HTTP response [Ian Holsman]
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark *) OS/390: Get make install to properly copy DSO modules.
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark [Jeff Trawick]
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark *) Win32: Fix bug in mod_status with displaying "Restart Time"
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark and "Server uptime".
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark [Bill Stoddard]
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark *) Fix IPv6 name-based virtual hosts. [Jeff Trawick]
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark *) Introduce AddOutputFilterByType directive. [Justin Erenkrantz]
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark *) Fix DEBUG_CGI support in mod_cgi. PR 9670, 9671.
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark [David MacKenzie <djm@pix.net>]
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark *) Fix incorrect check for script_in in mod_cgi. PR 9669.
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark [David MacKenzie <djm@pix.net>]
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark *) Fix segfault and display error when SSLMutex file can not be
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark created. [Adam Sussman <myddryn@vishnu.vidya.com>]
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark *) Add reference counting to mod_mem_cache cache objects to
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark better manage removing objects from the cache.
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark [Bill Stoddard]
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark *) Change the verbage on the ScoreBoardFile in our default configs.
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark Also change the default to be commented out (unspecified) so we
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark get anonymous shared memory by default. [Aaron Bannert]
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark *) Implement new ScoreBoardFile directive logic. This affects how
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark we create the scoreboard's shared memory segment. If the directive
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark is present, a name-based segment is created. If the directive is
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark not present, first an anonymous segment is created, and if that
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark fails, a name-based segment is created from a file of the name
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark DEFAULT_SCOREBOARD. This gives third-party applications the
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark ability to access our scoreboard. [Aaron Bannert]
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark *) Allow mod_deflate to work with non-GET requests and properly send
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark Content-Lengths. [Sander Striker <striker@apache.org>]
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark *) Fix ap_directory_merge() to correctly merge configs when there is
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark no <Directory /> block. [Justin Erenkrantz, William Rowe]
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark *) Remove spurious debug messsages that are normal under HTTP
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark keep-alive logic. [Jeff Trawick, Justin Erenkrantz]
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark *) Fix a bug in mod_cgid that would prevent proper shutdown death
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark of the cgid process. [Aaron Bannert]
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark *) Add signal handling back in to the worker MPM for the one_process
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark (-X, -DDEBUG, -DONE_PROCESS) case. [Aaron Bannert]
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark *) Performance: Reuse per-connection transaction pools in the
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark worker MPM, rather than destroying and recreating them. [Brian Pane]
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark *) Remove all signals from the worker MPM's child process. Instead,
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark the parent uses the Pipe of Death for all communication with the
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark child processes. [Ryan Bloom]
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmarkChanges with Apache 2.0.32
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark *) mod_negotiation: ForceLanguagePriority now uses 'Prefer' as the
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark default if the directive is not specified. This mirrors older
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark behavior without changes to the httpd.conf. [William Rowe]
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark *) Win32: solve the win32 service problems in 2.0.31-alpha, by fixing
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark the service, mpm and logging code, and bugs in apr_file_open_stderr
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark and apr_file_dup2 functions. Win2K/XP services have no handles
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark associated for stdin/out/err, which caused unpredictable behavior
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark in the prior release. [William Rowe, Bill Stoddard]
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark *) Win32: simplify the Application Event Log messages, since there isn't
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark likely to be 'more information in the error log' before an error log
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark has been opened. [William Rowe]
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark *) Win32: substantial cleanup to the mpm_winnt code for legibility and
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark to follow the program flow of other MPMs. [Ryan Bloom, William Rowe]
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark *) Win32: apache -k shutdown now behaves like apache -k stop.
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark [Bill Stoddard]
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark *) Fix prefork to not kill the parent if a child hits a resource shortage
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark on accept(). [Greg Ames]
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark *) Fix seg faults that occur when what should be the httpd request line
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark starts with \r\n followed by garbage. [Greg Ames]
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark *) Allow statically linked support binaries with the new
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark --enable-static-support flag, and enable this behavior in
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark the binbuild script. Also add a new --enable-static-htdbm
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark flag. [Aaron Bannert]
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark *) Allow mod_autoindex to serve symlinks if permitted and attempt to
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark do only one stat() call when generating the directory listings.
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark [Justin Erenkrantz]
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark *) Fix resolve_symlink to save the original symlink name if known.
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark [Justin Erenkrantz]
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark *) Be a bit more sane with regard to CanonicalNames. If the user has
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark specified they want to use the CanonicalName, but they have not
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark configured a port with the ServerName, then use the same port that
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark the original request used. [Ryan Bloom and Ken Coar]
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark *) In core_input_filter, check for an empty brigade after
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark APR_BRIGADE_NORMALIZE(). Otherwise, we can get segfaults if a
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark client says it will post some data but we get FIN before any
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark data arrives. [Jeff Trawick]
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark *) Not being able to bind to the socket is a fatal error. We should
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark print an error to the console, and return a non-zero status code.
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark With these changes, all of the Unix MPMs do that correctly.
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark [Ryan Bloom]
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark *) suexec: Allow HTTPS and SSL_* environment variables to be passed
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark through to CGI scripts. PR 9163
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark [Brian Reid <breid@customlogic.com>,
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark Zvi Har'El <rl@math.technion.ac.il>]
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark *) binbuild.sh: Make sure that we use the expat from our source
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark tree so that there aren't any surprises on the target machine.
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark [Jeff Trawick]
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark *) mod_cgid: Add retry logic for when the daemon can't fork fast
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark enough to keep up with new requests. Start using
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark HTTP_SERVER_UNAVAILABLE instead of HTTP_INTERNAL_SERVER_ERROR
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark when we can't talk to the daemon. [Jeff Trawick]
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark *) apxs: LTFLAGS envvar can override default libtool options. Try
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark "LTFLAGS=' ' apxs -c mod_foo.c" to see what libtool does under
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark the covers. [Jeff Trawick]
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark *) The Location: response header field, used for external
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark redirect, *must* be an absoluteURI. The Redirect directive
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark tested for that, but RedirectMatch didn't -- it would allow
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark almost anything through. Now it will try to turn an abs_path
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark into an absoluteURI, but it will correctly varf like Redirect
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark if the final redirection target isn't an absoluteURI. [Ken Coar]
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmarkChanges with Apache 2.0.31
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark *) Create the scoreboard (in the parent) in a global pool context,
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark so it survives graceful restarts. This fixes a SEGV during
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark graceful restarts. [Aaron Bannert]
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark *) Add a timeout option to the proxy code 'ProxyTimeout'
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark [Ian Holsman]
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark *) FTP directory listings are now always retrieved in ASCII mode.
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark The FTP proxy properly escapes URI's and HTML in the generated
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark listing, and escapes the path components when talking to the FTP
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark server. It is now possible to browse the root directory by using
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark a url like: ftp://user@host/%2f/ (ported from apache_1.3.24)
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark Also, the last path component may contain wildcard characters
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark '*' and '?', and if they do, a directory listing is created instead
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark of a file retrieval. Example: ftp://user@host/httpd/server/*.c
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark [Martin Kraemer]
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark *) Added single-listener unserialized accept support to the
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark worker MPM [Brian Pane]
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark *) New Directive for mod_proxy: 'ProxyPreserveHost'. This passes
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark the incoming host header through to the proxied server
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark [Geoff <g.russell@ieee.org>]
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark *) New Directive Option for ProxyPass. It now can block a location
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark from being proxied [Jukka Pihl <jukka.pihl@entirem.com>]
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark *) Don't let the default handler try to serve a raw directory. At
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark best you get gibberish. Much worse things can happen depending
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark on the OS. [Jeff Trawick]
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark *) Change the pre_config hook to return a value. Modules can now emit
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark an error message and then cause the server to quit gracefully during
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark startup. This required a bump to the MMN. [Aaron Bannert]
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark *) Fix some unix socket descriptor leaks in the handler side of
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark mod_cgid (the part that runs in the server process). Whack a
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark silly "close(-1)" in the handler too. [Jeff Trawick]
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark *) Change the pre_mpm hook to return a value, so that scoreboard
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark init errors percolate up to code that knows how to exit
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark cleanly. This required a bump to the MMN. [Jeff Trawick]
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark *) Add the socket back to the conn_rec and remove the create_connection
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark hook. The create_connection hook had a design flaw that did not
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark allow creating connections based on vhost info. [Bill Stoddard]
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark *) Fixed PATH_INFO and QUERY_STRING from mod_negotiation results.
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark Resolves the common case of using negotation to resolve the request
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark *) Added new functions ap_add_(input|output)_filter_handle to
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark allow modules to bypass the usual filter name lookup when
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark adding hard-coded filters to a request [Brian Pane]
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark *) caching should now work on subrequests (still very experimental)
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark [Ian Holsman]
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark *) The Win32 mpm_winnt now has a shared scoreboard. [William Rowe]
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark *) Change ap_get_brigade prototype to use apr_off_t instead of apr_off_t*.
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark [Justin Erenkrantz]
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark *) Refactor ap_rgetline so that it does not use an internal brigade.
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark Change ap_rgetline's prototype to return errors. [Justin Erenkrantz]
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark *) Remove mod_auth_db. [Justin Erenkrantz]
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark *) Do not install unnecessary pcre headers like config.h and internal.h.
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark [Joe Orton <joe@manyfish.co.uk>]
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark *) Change in quick_hanlder behavior for subrequests. it now passes DONE
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark (as it does for a normal request). quick_handled sub-requests now work
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark in mod-include [Ian Holsman]
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark *) Change SUBREQ_CORE so that it is a 'HTTP_HEADER' filter instead of
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark 'CONTENT' one, as it needs to run AFTER all content headers
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark *) Rename BeOS MPM directive RequestsPerThread to MaxRequestsPerThread.
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark [Lars Eilebrecht]
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark *) Split out blocking from the mode in the input filters.
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark [Justin Erenkrantz]
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark *) Fix a segfault in mod_include. [Justin Erenkrantz, Jeff Trawick]
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark *) Cause Win32 to capture all child-worker process errors in
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark Apache to the main server error log, until the child can
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark open its own error logs. [William Rowe]
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark *) HPUX 11.*: Do not kill the child process when accept()
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark returns ENOBUFS on HPUX 11.*. (ported from a 1.3 patch
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark by [madhusudan_mathihalli@hp.com])
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark [Bill Stoddard]
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark *) Fix a problem in the parsing of the <Proxy foo> directive.
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark [Jeff Trawick]
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark *) rewrite of mod_ssl input filter for better performance and less
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark memory usage [Doug MacEachern]
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark *) allow quick_handler to be run on subrequests. [Ian Holsman]
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark *) mod_dav now asks its provider to place content directly into the
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark filter stack when handling a GET request. The mod_dav/provider
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark API has changed, so providers need to be updated. [Greg Stein]
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark *) Clear the output socket descriptor in unixd_accept() to make sure
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark we don't supply a bogus socket to the caller if the accept fails.
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark This caused problems with the worker MPM, which tried to process
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark the returned socket if it was non-NULL. [Brian Pane]
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark *) Move a check for an empty brigade to the start of core input filter
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark to avoid segfaults. [Justin Erenkrantz, Jeff Trawick]
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark *) Add FileETag directive to allow configurable control of what
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark data are used to form ETag values for file-based URIs. MMN
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark bumped to 20020111 because of fields added to the end of
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark the core_dir_config structure. [Ken Coar]
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark *) Fix a segfault in mod_rewrite's logging code caused by passing the
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark wrong config to ap_get_remote_host(). [Jeff Trawick]
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark *) Allow mod_cgid to work from a binary distribution install by
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark using 755 for the permissions on the log directory instead of
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark 750. [Jeff Trawick]
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark *) Fixed a segfault that happened during graceful shutdown (or when
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark the httpd ran out of file descriptors) with the worker MPM [Brian Pane]
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark *) Split all Win32 modules [excluding the core components mod_core,
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark mod_so, mod_win32 and the winnt mpm] into individual loadable
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark modules, so the administrator may individually disable the former
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark compiled-in modules by simply commenting out their LoadModule
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark directives. [William Rowe]
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark *) Saved Win32 module authors and porters many future headaches, by
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark duplicating the appropriate .h files such as os.h into the include
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark directory, including in the build tree. [William Rowe]
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark *) mod_ssl adjustments to help with using toolkits other than OpenSSL:
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark Use SSL functions/macros instead of directly dereferencing SSL
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark structures wherever possible.
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark Add type-casts for the cases where functions return a generic pointer.
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark Add $SSL/include to configure search path.
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark [Madhusudan Mathihalli <madhusudan_mathihalli@hp.com>]
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark *) Moved several pointers out of the shared Scoreboard so it is
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark more portable, and will present the vhost name across server
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark generation restarts. [William Rowe]
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark *) Fix SSLPassPhraseDialog exec: and SSLRandomSeed exec:
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark [Doug MacEachern]
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmarkChanges with Apache 2.0.30
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark *) Fix the main bug for FreeBSD and threaded MPM's. There are
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark still issues (see STATUS) but at least the server will now
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark run without crashing the machine.
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark [David Reid, Aaron Bannert, Justin Erenkrantz]
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark *) Fix a typo in mod_deflate's m4 config section.
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark [albert chin (china@thewrittenword.com)]
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark *) Fix a couple of mod_proxy problems forwarding HTTP connections
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark and handling CONNECT:
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark (1) PR #9190 Proxy failed to connect to IPv6 hosts.
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark (2) Proxy failed to connect when the first IP address returned by
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark the resolver was unreachable but a secondary IP address was.
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark [Jeff Trawick]
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark *) Fix the module identifer as shown in the docs for various core
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark modules (e.g., the identifer for mod_log_config was previously
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark listed as config_log_module). PR #9338
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark [James Watson <ap2bug@sowega.org>]
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark *) Fix LimitRequestBody directive by placing it in the HTTP
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark filter. [Justin Erenkrantz]
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark *) Fix mod_proxy seg fault when the proxied server returns
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark an HTTP/0.9 response or a bogus status line.
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark [Adam Sussman]
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark *) Prevent mod_proxy from truncating one character off the
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark end of the status line returned from the proxied server.
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark [Adam Sussman, Bill Stoddard]
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark *) Eliminate loop in ap_proxy_string_read().
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark [Adam Sussman, Bill Stoddard]
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark *) Provide $0..$9 results from mod_include regex parsing.
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark [William Rowe]
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark *) Allow mod-include to look for alternate start & end tags [Ian Holsman]
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark *) Introduced the ForceLanguagePriority directive, to prevent
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark returning MULTIPLE_CHOICES or NONE_ACCEPTABLE in some cases,
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark when using Multiviews. [William Rowe]
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark *) Fix a problem which prevented mod_cgid and suexec from working
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark together reliably [Greg Ames]
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark *) Remove the call to exit() from within mod_auth_digest's post_config
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark phase. [Aaron Bannert]
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark *) Fix a problem in mod_auth_digest that could potentially cause
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark problems with initialized static data on a system that uses DSOs.
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark [Aaron Bannert]
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark *) Fix a segfault in the worker MPM that could happen during
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark child process exits. [Brian Pane, Aaron Bannert]
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark *) Allow mod_auth_dbm to handle multiple DBM types [Ian Holsman]
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark *) Fix matching of vhosts by ip address so we find IPv4
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark vhost address when target address is v4-mapped form of
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark that address. [Jeff Trawick]
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark *) More performance tweaks to the BNDM string-search algorithm
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark used to find "<!--#" tokens in mod_include [Brian Pane]
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark *) Miscellaneous small performance fixes: optimized away various
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark string copy operations and removed large temp buffers from
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark the stack [Brian Pane]
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark *) Fixed startup segfault that occurred when a VirtualHost
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark directive had a port but no address [Brian Pane]
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark *) Allow htdbm to work with multiple DBM types [Ian Holsman]
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark *) Win32: Made change to apr_sendfile() to return APR_ENOTIMPL
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark if oslevel < WINNT. This should fix several problems reported
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark Against 2.0.28 on Windows 98 [Bill Stoddard]
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark *) Win32: Fix bug that could cause CGI scripts with QUERY_STRINGS
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark to fail. [Bill Stoddard]
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark *) Change core code to allow an MPM to set hard thread/server
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark limits at startup. prefork, worker, and perchild MPMs now have
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark directives to set these limits. [Jeff Trawick]
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark *) Win32: The async AcceptEx() event should be autoreset upon
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark successful completion of a wait (WaitForSingleObject). This
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark eliminates a number of spurious
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark setsockopt(SO_UPDATE_ACCEPT_CONTEXT) failed." messages.
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark [Bill Stoddard]
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark *) Move any load library path environment variables out of
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark apachectl and into a separate environment variable file which
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark can be more easily tailored by the admin. The environment
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark variable file as built by Apache may have additional system-
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark specific settings. For example, on OS/390 we tailor the heap
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark settings to allow lots of threads. [Jeff Trawick]
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark *) Use the new APR pool code to reduce pool-related lock
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark contention in the worker MPM. [Sander Striker]
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark *) The POD no longer assumes the child is listening on 127.0.0.1
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark and now pulls the first hostname in the list of listeners to
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark perform the dummy connect on. This fixes a bug when the user
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark had configured the Listen directive for an IP other than
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark 127.0.0.1. This would result in undead children and error
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark messages such as "Connection refused: connect to listener".
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark [Aaron Bannert]
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark *) The worker MPM now respects the LockFile setting, needed to
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark avoid locking problems with NFS. [Jeff Trawick]
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark *) Fix segfault when worker MPM receives SIGHUP.
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark [Ian Holsman, Aaron Bannert, Justin Erenkrantz]
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark *) Fix bug that could potentially prevent the perchild MPM from
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark working with more than one vhost/uid. [Aaron Bannert]
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark *) Change make install and apxs -i processing of DSO modules to
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark perform special handling on platforms where libtool doesn't install
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark mod_foo.so. This fixes some wonkiness on HP-UX, Tru64, and AIX
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark which prevented standard LoadModule statements from working.
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark [Jeff Trawick]
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark *) Whenever mod_so is enabled (not just when there are DSOs for
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark our modules), do whatever special magic is required for compiling/
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark loading third-party modules. This allows third-party DSOs to
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark be used on an AIX build when there were no built-in modules
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark built as DSOs. (This should help on OS/390 and BeOS as well.)
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark [Jeff Trawick]
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark *) Allow apxs to be used to build DSOs on AIX without requiring the
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark user to hard-code the list of import files. (This should help
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark on OS/390 and BeOS as well.) [Jeff Trawick]
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark *) Resolved segfault in mod_isapi when configuring with ISAPICacheFile.
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark PR 8563, 8919 [William Rowe]
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark *) Get binary builds working when libapr and libaprutil are built
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark shared [Greg Ames]
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark *) Get shared builds of libapr and libaprutil, as well as Apache DSOs,
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark working on AIX. [Aaron Bannert, Dick Dunbar <RLDunbar@pacbell.net>,
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark Gary Hook <ghook@us.ibm.com>, Victor Orlikowski, Jeff Trawick]
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark *) Fix the handling of SSI directives in which the ">" of the
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark terminating "-->" is the last byte in a file [Brian Pane]
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark *) Add back in the "suEXEC mechanism enabled (wrapper: /path/to/suexec)"
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark message that we had back in apache-1.3 and still have scattered
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark throughout our docs. [Aaron Bannert]
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark *) Prevent the Win32 port from continuing after encountering an
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark error in the command line args to apache. [William Rowe]
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark *) On a error in the proxy, make it write a line to the error log
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark [Ian Holsman]
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark *) Various mod_ssl performance improvements [Doug MacEachern]
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmarkChanges with Apache 2.0.29
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark *) Add buffering in core_output_filter to ensure that long
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark lists of small buckets don't cause small packet writes.
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark [Brian Pane, Ryan Bloom]
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark *) Fix the installation target to make sure that the manual is
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark installed in the correct location.
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark [Yoshifumi Hiramatsu <hiramatu@boreas.dti.ne.jp> and
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark Gomez Henri <hgomez@slib.fr>]
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark *) Fix the cmd command for mod_include. When we are processing
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark a cmd command, we do not want to use the r->filename to set
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark the command name. The command comes from the SSI tag. To do this,
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark I added a variable to the function that builds the command line
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark in mod_cgi. This allows the include_cmd function to specify
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark the command line itself. [Ryan Bloom]
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark *) Change open_logs hook to return a value, allowing you
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark to flag a error while opening logs
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark [Ian Holsman, Doug MacEachern]
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark *) Change post_config hook to return a value, allowing you
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark to flag a error post config
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark [Ian Holsman, Jeff Trawick]
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark *) Allow SUEXEC_BIN (the path to the suexec binary that is
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark hard-coded into the server) to be specified to the configure
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark script by the --with-suexec-bin parameter. [Aaron Bannert]
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark *) Fix segv in worker MPM following accept on pipe-of-death
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark [Brian Pane]
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark *) Add mod_deflate to experimental.
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark [Ian Holsman, Justin Erenkrantz]
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark *) Bail out at configure time if an invalid MPM was specified.
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark [jean-frederic clere <jfrederic.clere@fujitsu-siemens.com>]
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark *) Prevent segv in ap_note_basic_auth_failure() when no AuthName is
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark configured [John Sterling <sterling@covalent.net>]
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark *) Fix apxs to use sbindir. [Henri Gomez <hgomez@slib.fr>]
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark *) Fix a problem with IPv6 vhosts. PR #8118 [Jeff Trawick]
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark *) Optimization for the BNDM string-search function in
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark mod_include. [Brian Pane]
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark *) Fixed the behavior of the XBitHack directive.
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark [Taketo Kabe <kabe@sra-tohoku.co.jp>, Cliff Woolley] PR#8804
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark *) The threaded MPM for Unix has been removed. Use the worker
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark MPM instead. [various]
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark *) APR-ize the resolver logic in mod_unique_id. This fixes a bug
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark in logging the error from a failed DNS lookup. [Jeff Trawick]
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark *) Added the missing macros AP_INIT_TAKE13 and AP_INIT_TAKE123.
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark [Cliff Woolley]
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark *) Get mod_cgid killed when a MPM exits due to a fatal error.
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark [Jeff Trawick]
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark *) Fix a file descriptor leak in mod_include. When we include a
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark file, we use a sub-request, but we didn't destroy the sub-request
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark immediately, instead we waited until the original request was
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark done. This patch closes the sub-request as soon as the data is
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark done being generated. [Brian Pane <bpane@pacbell.net>]
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark *) Allow modules that add sockets to the ap_listeners list to
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark define the function that should be used to accept on that
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark socket. Each MPM can define their own function to use for
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark the accept function with the MPM_ACCEPT_FUNC macro. This
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark also abstracts out all of the Unix accept error handling
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark logic, which has become out of synch across Unix MPMs.
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark [Ryan Bloom]
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark *) Fix a bug which would cause the response headers to be omitted
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark when sending a negotiated ErrorDocument because the required
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark filters were attached to the wrong request_rec.
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark [John Sterling <sterling@covalent.net>]
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark *) Remove commas from the end of the macros that define
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark directives that are used by MPMs. Prior to this patch,
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark you would use these macros without commas, which was unlike
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark the macros for any other directives. Now, the caller provides
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark the comma rather than the macro providing it. This makes
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark the macros look more like the rest of the directives.
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark [Ryan Bloom and Cliff Woolley]
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark *) Add 'redirect-carefully' environment option to disable sending
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark redirects under special circumstances. This is helpful for
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark Microsoft's WebFolders when accessing a directory resource via
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark DAV methods. [Justin Erenkrantz]
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark *) Begin to abstract out the underlying transport layer.
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark The first step is to remove the socket from the conn_rec,
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark the server now lives in a context that is passed to the
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark core's input and output filters. This forces us to be very
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark careful when adding calls that use the socket directly,
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark because the socket isn't available in most locations.
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark [Ryan Bloom]
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark *) Really reset the MaxClients value in worker and threaded
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark when the configured value is not a multiple of the number
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark of threads per child. We said we did previously but we
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark forgot to. [Jeff Trawick]
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark *) Add Debian layout. [Daniel Stone <daniel@sfarc.net>]
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark *) If shared modules are requested and mod_so is not available,
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark produce a fatal config-time error. [Justin Erenkrantz]
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark *) Improve http2env's performance by cutting the work it has to
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark do. [Brian Pane <bpane@pacbell.net>]
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark *) use new 'apr_hash_merge' function in mod_mime (performance fix)
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark [Brian Pane <bpane@pacbell.net>]
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmarkChanges with Apache 2.0.28
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark *) Fix infinite loop in mod_cgid.c.
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark [Dale Ghent <daleg@elemental.org>, Brian Pane <bpane@pacbell.net>]
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark *) When no port is given in a "ServerName host" directive, the
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark server_rec->port is now set to zero, not 80. That allows for
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark run-time deduction of the correct server port (depending on
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark SSL/plain, and depending also on the current setting of
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark UseCanonicalName). This change makes redirections
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark work, even with https:// connections. As in Apache-1.3, the
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark connection's actual port number is never used, only the ServerName
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark setting or the client's Host: setting. Documentation updated
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark to reflect the change. [Martin Kraemer]
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark *) Add a '%{note-name}e' argument to mod-headers, which works in
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark the same way as mod_log_confg. [Ian Holsman]
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark *) Fix the spelling of the AP_MPMQ_MIN_SPARE_DAEMONS and
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark AP_MPMQ_MAX_REQUESTS_DAEMON macros in ap_mpm.h and all standard
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark MPMs. [Cliff Woolley]
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark *) Introduce htdbm, a user management utility for db/dbm authorization
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark databases. [Mladen Turk <mturk@mappingsoft.com>]
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark *) Optimize usage of strlen and strcat in ap_directory_walk.
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark [Brian Pane <bpane@pacbell.net>]
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmarkChanges with Apache 2.0.27
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark *) Introduce an Apache mod_ssl initial configuration template
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark (ssl.conf, generated from ssl-std.conf). [Ralf S. Engelschall]
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark *) Fixed a memory leak in the getline parsing code that could
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark be triggered by arbitrarily large header lines. Requests
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark from the core input filter for single lines are now limited
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark to HUGE_STRING_LEN (8192 bytes). [Aaron Bannert]
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark *) Fix a truncation bug in how we print the port on the Via: header.
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark The routine that prints the Via: header now takes a length for
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark the port string. [Zvi Har'El <rl@math.technion.ac.il>]
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark *) Some syntax errors in mod_mime_magic's magic file can result
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark in a 500 error, which previously was unlogged. Now we log the
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark error. [Jeff Trawick]
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark *) Add the support/checkgid helper app, which checks the run-time
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark validity of group identifiers usable in the Group directive.
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark [Ken Coar]
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark *) Various --enable-so options have been fixed: --enable-so is
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark treated as "static"; explicit --enable-so=shared issues an error;
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark and explicit --enable-so fails with error on systems without
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark APR_HAS_DSO. [Aaron Bannert]
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark *) Fix a segfault in the core input filter when the client socket
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark gets disconnected unexpectedly. [Cliff Woolley]
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark *) Fix the reporting for child processes that die. This removes
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark all of the non-portable W* macros from Apache.
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark [Jeff Trawick and Ryan Bloom]
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark *) Win32: Track and display "Parent Server Generation:" in
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark mod_status output. The generation will be bumped at
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark server graceful restart, when the child process exits
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark by hitting MaxRequestsPerChild or if the child
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark process exits abnormally. [Bill Stoddard]
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark *) Win32: Fix problem where MaxRequestsPerChild directive was
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark not being picked up in favor of the default. Enable
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark the parent to start up a new child process immediately upon
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark the old child starting shutdown.
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark [Bill Stoddard]
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark *) Fix some bungling of the remote port in rfc1413.c so that
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark IdentityCheck retrieves the proper user id instead of failing
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark and thus always returning "nobody."
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark [Dick Streefland <Dick.Streefland@xs4all.nl>]
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark *) Introduced thread saftey for mod_rewrite's internal cache.
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark [Brian Pane <bpane@pacbell.net>]
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark *) Simplified mod_env's directives to behave as most directives are
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark expected, in that UnsetEnv will not unset a SetEnv and PassEnv
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark directive following that UnsetEnv within the same container.
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark Also provides a runtime startup warning if a PassEnv configured
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark environment value is undefined. [William Rowe]
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark *) The worker MPM is now completely ported to APR's new lock API. It
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark uses native APR types for thread mutexes, cross-process mutexes,
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark and condition variables. [Aaron Bannert]
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark *) Sync up documentation to remove all references to the now deprecated
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark Port directive. [Justin Erenkrantz]
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark *) Moved all ldap modules from the core to httpd-ldap sub-project
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark [Ryan Bloom]
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark *) Exit when we can't listen on any of the configured ports. This
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark is the same behavior as 1.3, and it avoids having the MPMs to
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark deal with bogus ap_listen_rec structures. [Jeff Trawick]
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark *) Cleanup the proxy code that creates a request to the origin
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark server. This change adds an optional hook, which allows modules
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark to gain control while the request is created if the proxy module
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark is loaded. The purpose of this hook is to allow modules to add
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark input and/or output filters to the request to the origin. While
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark I was at it, I made the core use this hook, so that proxy request
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark creation uses some of the code from the core. This can still be
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark greatly improved, but this is a good start. [Ryan Bloom]
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmarkChanges with Apache 2.0.26
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark *) Port the MaxClients changes from the worker MPM to the threaded
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark MPM. [Ryan Bloom]
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark *) Fix mod_proxy so that it handles chunked transfer-encoding and works
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark with the new input filtering system. [Justin Erenkrantz]
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark *) Introduce the MultiviewsMatch directive, to allow the operator
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark to be flexible in recognizing Handlers and Filters filename
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark extensions as part of the Multiviews matching logic, strict with
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark MultiviewsMatch NegotiatedOnly to accept only filename extentions
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark that designate negotiated parameters, (content type, charset, etc.)
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark or MultiviewsAll for the 1.3 behavior of matching any files, even
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark if they have unregistered extensions. [William Rowe]
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark *) Fixed the configure script to add a LoadModule directive to
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark the default httpd.conf for any module that was compiled
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark as a DSO. [Aaron Bannert <aaron@clove.org>]
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark *) rewrite mod_ssl input filtering to work with the new input filtering
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark system. [Justin Erenkrantz]
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark *) prefork: Don't segfault when we are able to listen on some but
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark not all of the configured ports. [Jeff Trawick]
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark *) Build mod_so even if no core modules are built shared.
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark [Aaron Bannert <aaron@clove.org>]
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark *) Introduce ap_directory_walk rewrite (with further optimizations
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark required) to adapt to the ap_process_request_internal() changes.
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark Optimized so subrequests and redirects now reuse previous section
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark merges, until we mismatch with the original directory_walk, and
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark precomputed r->finfo results will cause directory_walk to skip
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark the most expensive phases of the function. [William Rowe]
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark *) Allow ApacheMonitor to connect to and control Apache on other
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark WinNT/2K machines. [Mladen Turk <mturk@mappingsoft.com>]
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark *) Remove the Port directive. In it's place, the Listen directive
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark is now a required directive, which tells Apache what port to
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark listen on. The ServerName directive has also been extended
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark to accept an optional port. If the port is specified to the
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark ServerName, the server will report that port whenever it
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark reports the port that it is listening on. This change was
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark made to ease configuration errors that stem from having a Port
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark directive, and a Listen directive. In that situation, the server
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark would only listen to the port specified by the Listen command,
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark which caused a lot of confusion to users. [Ryan Bloom]
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark *) Added mod_mime_magic, mod_unique_id and mod_vhost_alias to the Win32
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark build, as loadable modules. [William Rowe]
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark *) Fix --enable-mods-shared processing. If most is specified,
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark then all modules that can be compiled as shared modules are.
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark [Aaron Bannert <aaron@clove.org>]
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark *) Update the mime.types file to map video/vnd.mpegurl to mxu
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark and add commonly used audio/x-mpegurl for m3u extensions.
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark [Heiko Recktenwald <uzs106@uni-bonn.de>, Lars Eilebrecht]
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark *) Eliminate the depreciated r->content_language, in favor of the array
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark r->content_languages introduced many years ago. Module authors must
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark substantially overhaul their modules, so this needs to be upgraded
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark if the module still relied on backwards-brokeness. [William Rowe]
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark *) Allow configure help strings to work with autoconf 2.50+ and 2.13.
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark [Justin Erenkrantz]
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark *) Rewrite the input filtering mechanisms to consolidate and reorganize
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark code. In short, core_input_filter does something now and
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark ap_http_filter is now only concerned with HTTP. [Justin Erenkrantz]
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark *) Update the Win32 build to re-absorb mod_proxy and family.
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark [William Rowe]
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark *) Resolved the build failure on Win32 using MSVC 5.0 (without the
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark current SDK.) [William Rowe]
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark *) Some style changes to the code that does ProxyErrorOverride. Fixed
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark config merge behaviour. [Graham Leggett]
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark *) Allow support programs to be compiled against a static version
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark of libapr. This allows the smaller support programs to be
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark relocated. [Aaron Bannert <aaron@clove.org>]
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark *) Update the mime.types file to the registered media types as
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark of 2001-09-25, and add mapping for xsl extension [Mark Cox]
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark *) Fix MaxClients in the Worker MPM, so that it specifies the maximum
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark number of clients that can connect at the same time, instead of
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark specifying the maximum number of child processes.
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark [Aaron Bannert <aaron@clove.org>]
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark *) Switch proc_pthread AcceptMutex configuration directive to pthread to
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark be consistent with 1.3. [Justin Erenkrantz]
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark *) Cache apr_explode_localtime() value for 15 seconds.
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark [Brian Pane <bpane@pacbell.net>]
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark *) Fix mod_include to not return ETag or Last-Modified headers.
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark [Ian Holsman <ianh@cnet.com>]
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark *) Fix worker MPM's scoreboard logic. [Aaron Bannert <aaron@clove.org>]
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark *) Eliminate the wasteful run-time conversion of method names from strings
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark to numbers in places where the methods are known at compile time.
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark [Brian Pane <bpane@pacbell.net>]
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark *) Turn the worker MPM's queue into a LIFO. This may
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark improve cache-hit performance under some conditions.
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark [Aaron Bannert <aaron@clove.org>]
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark *) Switch back to SIGUSR1 for graceful restarts on all platforms that
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark support it. [Justin Erenkrantz]
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark *) Cleanup the worker MPM. We no longer re-use transaction
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark pools. This incurs less overhead than shuffling the pools
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark around so that they can be re-used. Remove one of the
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark queue's condition variables. We just redefined the API to
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark state that you can't try to add more stuff than you allocated
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark segments for. [Aaron Bannert <aaron@clove.org>]
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark *) Fix SSL VPATH builds [Cody Sherr <csherr@covalent.net>]
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark *) Fixed persistent connections when a request contains a body.
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark [Greg Stein]
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark *) mod_dav uses a new API to speak to the backend provider for dead
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark property management. [Greg Stein]
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark *) Remove the Win32 script-processing exception from mod_cgi, and
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark roll build_command_line/build_argv_list into a unified, overrideable
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark ap_cgi_build_command optional function. [William Rowe]
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark *) Rewrite find_start_sequence to use a better search algorithm
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark to find the start tag. [Justin Erenkrantz]
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark *) Fix a seg fault in mod_include. When we are generating an
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark internal redirect, we must set r->uri to "", not a bogus
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark string, and not NULL. [Ryan Bloom]
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark *) Optimized location_walk, so subrequests, redirects and second passes
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark now reuse previous section merges on a <Location > by <Location >
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark basis, until we mismatch with the original location_walk.
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark [William Rowe]
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark *) Back out the 1.45 change to util_script.c. This change made
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark us set the environment variable REQUEST_URI to the redirected
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark URI, instead of the originally requested URI.
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark [Taketo Kabe <kabe@sra-tohoku.co.jp>]
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark *) Make mod_include do lazy evaluation of potentially expensive to
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark compute variables. [Brian Pane <bpane@pacbell.net>]
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark *) Fix logging of bytes sent for HEAD requests. %b and %B should
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark log either - or 0, before this patch, they were both logging
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark the file size. [Taketo Kabe <kabe@sra-tohoku.co.jp>]
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark *) Make mod_include check for BYTE_CHECK_THRESHOLD per bucket rather
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark than per character. [Brian Pane <bpane@pacbell.net>]
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark *) Normalize the primary request, redirects and sub-requests to
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark run the same ap_process_request_internal for consistency in
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark robustness, behavior and security. [William Rowe]
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark *) Fix a segfault with mod_include when r->path_info is not set
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark (which is the case with mod_proxy). [Ian Holsman <ianh@cnet.com>]
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark *) Add -X functionality back. This indicates to all MPMs and any other
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark part of Apache that it should run in "debug" mode. [Justin Erenkrantz]
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark *) Some initial support for the cygwin platform [prefork only].
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark This is not to be confused with support for the WinNT/Win32
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark platform, which is the recommended configuration for native
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark Win32 users. The cygwin platform support is recommended for
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark cygwin platform users. [Stipe Tolj <tolj@wapme-systems.de>]
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark *) Changed syntax of Set{Input|Output}Filter. The list of filters
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark must be semicolon delimited (if more than one filter is given.)
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark The Set{Input|Output}Filter directive now overrides a parent
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark container's directive (e.g. SetInputFilter in <Directory /web/foo>
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark will override any SetInputFilter directive in <Directory /web>.)
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark This new syntax is more consistent with Add{Input|Output}Filter
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark directives defined in mod_mime. Also cures a bug in prior releases
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark where the Set{Input|Output}Filter directive would corrupt the
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark global configuration if the multiple directives were nested.
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark [William Rowe]
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark *) Cured what's ailed mime for quite some time. If an AddSomething
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark was given in the configuration (Language, Charset, Handler or
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark Encoding) Apache would set the content type as given by AddType,
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark but refused to check the mime.types file if AddType wasn't given
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark for that specific extension. Setting the AddHandler for .html
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark without setting the AddType text/html html would cause Apache to
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark use the default content type. [William Rowe]
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark *) Added some bulletproofing to memory allocation in the LDAP cache
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark code. [Graham Leggett]
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmarkChanges with Apache 2.0.25
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark *) Move the installed /manual directory out of the /htdocs/ tree, so
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark that it can be kept more independently from the remaining document
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark root. The "Alias /manual ..." already allowed for easy projection
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark into existing private document trees. [Martin Kraemer]
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark *) Add specified user attributes to the environment when using
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark mod_auth_ldap. This allows you to use mod_include to embed specified
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark user attributes in a page like so:
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark Hello <!--#echo var="AUTHENTICATE_CN"-->, how are you?
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark [Graham Leggett]
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark *) Fix a performance problem with the worker MPM. We now create
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark transaction pools once, and re-use them for each connection.
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark [Aaron Bannert <aaron@clove.org>]
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark *) Modfied mod_mime to prevent mod_negotation from serving a multiview
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark of a 'handler' or 'filter', so that any filename extension that does
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark not contribute to the negotiated metadata can't be served without
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark an explicit request. E.g., if the .Z extension is associated with
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark an unzip filter, the user request somefile.Z.html, mod_negotiation
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark won't serve it. It can serve somefile.Z.html when somefile.Z is
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark requested, since the .Z extension is explictly requested, if the
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark .html extension is associated with ContentType text/html.
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark [William Rowe]
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark *) Introduce the AddInputFilter filter[;filter...] ext [ext...]
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark and corresponding AddOutputFilter syntax, to insert one or more
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark filters by mod_mime filename extension processing.
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark [William Rowe]
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark *) Fix a growing connection pool in core_output_filter() for
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark keepalive requests. [Jeff Trawick]
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark *) Moved split_and_pass_pretag_buckets back to being a
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark macro at Ryans's request. Removed the return from it
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark by setting and returning a return code instead. Updated
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark the code to check the return code from the macro and
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark do the right thing. [Paul J. Reder]
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark *) Fix a segfault when a numeric value was received for Host:.
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark [Jeff Trawick]
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark *) Add a function ap_remove_input_filter. This is to match
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark up with ap_remove_output_filter. [Ryan Bloom]
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark *) Clean up location_walk, so that this step performs a minimum
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark amount of redundant effort (it must be run twice, but it will no
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark longer reparse all <Location > blocks when the request uri
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark hadn't changed.) [William Rowe]
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark *) Eliminate proxy: (and all other 'special') processing from the
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark ap_directory_walk() phase. Modules that want to use special
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark walk logic should refer to the mod_proxy map_to_location example,
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark with it's proxy_walk and proxysection implementation. This makes
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark either directory_walk flavor much more legible, since that phase
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark only runs against real <Directory > blocks.
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark [William Rowe]
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark *) Fix a security problem in mod_include which would allow
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark an SSI document to be passed to the client unparsed.
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark [Cliff Woolley, Brian Pane]
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark *) Introduce the map_to_storage hook, which allows modules to bypass
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark the directory_walk and file_walk for non-file requests. TRACE
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark shortcut moved to http_protocol.c as APR_HOOK_MIDDLE, and the
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark directory_walk/file_walk happen as APR_HOOK_VERY_LAST in core.c.
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark [William Rowe]
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark *) Add the ability for mod_include to add the INCLUDES filter
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark if the file is configured for the server-parsed handler.
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark This makes the configuration for .shtml files much easier
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark to understand, and allows mod_include to honor Apache 1.3
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark config files. Based on Doug MacEachern's patch to PHP
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark to do the same thing. [Ryan Bloom]
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark *) force OpenSSL to ignore process local-caching and to always
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark get/set/delete sessions using mod_ssl's callbacks
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark [Madhusudan Mathihalli <madhusudan_mathihalli@hp.com>,
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark Geoff Thorpe <geoff@geoffthorpe.net>]
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark *) Make the worker MPM shutdown and restart cleanly. This also
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark cleans up some race conditions, and gets the worker using
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark pools more cleanly. [Aaron Bannert <aaron@clove.org>]
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark *) Implement CRYPTO_set_locking_callback() in terms of apr_lock
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark for mod_ssl
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark [Madhusudan Mathihalli <madhusudan_mathihalli@hp.com>]
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark *) Fix for mod_include. Ryan's patch to check error
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark codes put a return in the wrong place. Also, the
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark include handler return code wasn't being checked.
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark I don't like macros with returns, so I converted
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark SPLIT_AND_PASS_PRETAG_BUCKETS into a function.
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark [Paul J. Reder <rederpj@raleigh.ibm.com>]
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark *) fix segv in mod_mime if no AddTypes are configured
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark [John Sterling <sterling@covalent.net>]
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark *) Enable ssl client authentication at SSL_accept time
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark [Madhusudan Mathihalli <madhusudan_mathihalli@hp.com>]
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark *) Fix a segfault in mod_include when the original request has no
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark associated filename (e.g., we're filtering the error document for
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark a bad URI). [Jeff Trawick]
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark *) Fix a storage leak (a strdup() call) in mod_mime_magic. [Jeff Trawick]
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark *) The prefork and OS/2 MPMs are overwriting the pid file when a second copy
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark of httpd is started and shuts down due to socket conflict. Moving the
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark call to ap_log_pid solves the problem.
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark *) Changed the late-1.3 log_config substitution %c to %X, to log the
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark status of the closed connection, as it conflicts with the far more
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark common, historical ssl logging directive %...{var}c. [William Rowe]
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark *) Added the common error/ tree to the build/install targets
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark (similar to the common icons/ tree) for the multi-language error
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark messages that Lars committed earlier. [William Rowe]
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark *) Added a multi process, multi threaded OS/2 MPM mpmt_os2. [Brian Havard]
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark *) Added a default commented-out mod_ldap and mod_auth_ldap
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark [Graham Leggett]
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark *) Added documentation for mod_ldap and mod_auth_ldap.
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark [Graham Leggett]
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark *) Enabled negative caching on attribute comparisons in the LDAP cache.
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark Fixed a problem where the default cache TTL was set in milliseconds
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark not microseconds causing the cache to time out almost immediately.
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark [Graham Leggett]
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark *) Fixed all the #if APR_HAS_SHARED_MEMORY checks within the LDAP
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark module code to follow APR. [Graham Leggett]
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark *) Fixed LDAP cleanup on graceful restarts. LDAP connections are now
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark cleaned up when the connection pool pool is cleaned up.
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark [Graham Leggett]
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark *) Fix a minor issue with Jeff Trawick's mod_include
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark patch. Without this patch, the code will just allocate
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark more bytes in get_combined_directive than are needed.
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark [Paul Reder]
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark *) Added the LDAP authentication module mod_auth_ldap.
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark [Dave Carrigan <dave@rudedog.org>, Graham Leggett]
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark *) Added the LDAP cache and connection pooling module mod_ldap.
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark [Dave Carrigan <dave@rudedog.org>, Graham Leggett]
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark *) Fix --enable-modules=all breakage with mod_auth_db and mod_auth_digest
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark by allowing a module to disable itself if its prerequisites are not
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark met. [Justin Erenkrantz]
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmarkChanges with Apache 2.0.24
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark *) Fix a couple of issues in mod_include when the tag appeared at
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark offsets near 8192 in the file being parsed. [Jeff Trawick]
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark *) Fix an assertion failure in mod_ssl when the keepalive timeout is
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark reached. [Jeff Trawick]
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark *) Numerous improvements to the Win32 build system. Introduced command line
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark builds without requiring .mak files for MSVC 6.0 and later versions.
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark Improved .dsp file compatibility for both Visual Studio 5.0 and 6.0 users.
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark [William Rowe]
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark *) Assorted corrections and improvements to the winnt_mpm startup code. Better
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark reporting of uninstalled services and other error conditions, and changed the
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark default service name to Apache2. [William Rowe]
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark *) Numerous improvements to the Win32 ApacheMonitor utility, including winnt_mpm
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark compatibility with existing Apache 1.3 Win32 Apache management utilites.
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark [Mladen Turk <mturk@mappingsoft.com>, William Rowe]
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark *) Fixed the segfaults in mod_mime introduced by hash tables in 2.0.20.
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark [William Rowe, Greg Ames]
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark *) Rounded out the mod_mime Add/Remove pairs by adding RemoveLanguage
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark and RemoveCharset directives. [William Rowe]
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark *) The Unix MPMs other than perchild now allow child server
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark processes to use the accept mutex when starting as root and
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark using SysV sems for the accept mutex. Previously, this
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark combination would lead to fatal errors in the child server
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark processes. perchild can't use SysV sems because of security
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark issues. [Jeff Trawick, Greg Ames]
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark *) Added Win32 revision stamp resources to all http binaries
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark (including modules/ and support/ tools.) PR7322 [William Rowe]
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark *) Fix ap_rvprintf to support more than 4K of data at one time.
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark [Cody Sherr <csherr@covalent.net>]
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark *) We have always used the obsolete/deprecated Netscape syntax
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark for our tracking cookies; now the CookieStyle directive
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark allows the Webmaster to choose the Netscape, RFC2109, or
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark RFC2965 format. The new CookieDomain directive allows the
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark setting of the cookie's Domain= attribute, too. PR #s 5006,
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark 5023, 5920, 6140 [Ken Coar]
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark *) Tweak server/Makefile so that the rules for generating exports.c
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark are compatible with make utilities which don't expand wildcards
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark in a dependency list (e.g., OS/390 make, certain levels of GNU
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark make). [Jeff Trawick]
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark *) Install the SSL headers. [John Sterling <sterling@covalent.net>]
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark *) Begin to sanitize the MPM configuration directives. Now, all
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark MPMs use the same functions for all common MPM directives. This
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark should make it easier to catch all bugs in these directives once.
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark [Cody Sherr <csherr@covalent.net>]
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark *) Close a major resource leak. Every time we had issued a
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark graceful restart, we leaked a socket descriptor.
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark [Ryan Bloom]
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark *) Fix a problem with the new method code. We need to cast
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark the 1 to an apr_int64_t or it will be treated as a 32-bit
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark integer, and it will wrap after being shifted 32 times.
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark [Cody Sherr <csherr@covalent.net> and Ryan Morgan <rmorgan@covalent.net>]
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark *) Fix a bug in mod_expires. Previous to this patch, if you
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark told mod_expires to add 604800 seconds to the last-modified
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark time, it actually added 604800 usec's to the last-modified time,
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark so that when looking at the response it looked like nothing
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark had been done. The root of the problem was that we always compute
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark time in usec's, but we ask users to input sec's. This means we
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark need to convert to usec's before using those values.
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark [Ryan Bloom]
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark *) The worker MPM now handles shutdown and restart requests. It
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark definitely isn't perfect, but we do stop the servers correctly.
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark The biggest problem right now is that SIGHUP causes the server to
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark just die. [Ryan Bloom]
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmarkChanges with Apache 2.0.23
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark *) Use the prefork MPM by default on Unix. [various]
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark *) Added a systray icon monitor application for Win32.
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark [Mladen Turk <mturk@mappingsoft.com>]
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark *) mod_rewrite: Fix the line ending on some non-Unix systems for
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark messages written to the rewrite log.
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark [Richard Labennett <rlabenn@us.ibm.com>]
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark *) All mod_autoindex query parsing is now quietly quashed with the
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark IndexOption IgnoreClient. The IndexOption SuppressColumnSorting
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark still drops the column sort <a href>'s for the column headers, but
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark IgnoreClient is required to ignore these Query options entirely.
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark [William Rowe]
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark *) Introduced new mod_autoindex query argument parsing for F=[0|1|2]
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark to allow the client to select plain, FancyIndexing or HTMLTable
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark formatting, V=[0|1] to inhibit or enable version sorting, and
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark P=pattern to return only specific files. The old Query Arguments
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark were reorganized as C=f for sorting column 'f' (same N, D, S, or M
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark as before), and O=A|D for ordering ascending or descending.
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark [William Rowe]
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark *) Fixed an error in mod_include's directive parsing routines which
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark caused #if, #elif, and #else expressions containing backslashes
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark to be improperly evaluated. [Cliff Woolley]
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark *) Introduced new mod_autoindex IndexOptions flags: SuppressIcon to
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark drop the icon column, SuppressRules to drop the <hr> elements,
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark and HTMLTable to create rudimentary HTML table listings (implies
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark FancyIndexing). [William Rowe]
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark *) Re-introduced the mod_autoindex IndexOptions flag TrackModified
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark from Apache 1.3.15. This is needed for two reasons, first, given
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark multiple machines within a server farm, ETags and Last-Modified
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark stamps won't correspond from machine to machine, and second, many
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark Unixes don't capture changes to the date or time stamp of existing
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark files, since these don't modify the dirent itself. [William Rowe]
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark *) Re-introduced the mod_autoindex IndexOptions flag FoldersFirst
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark and DirectoryWidth options from Apache 1.3.10.
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark [William Rowe, Ken Coar]
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark *) Eliminated FancyIndexing directive, deprecated early in Apache
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark 1.3 by the IndexOptions FancyIndexing syntax. [William Rowe]
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark *) mod_autoindex now excludes any file names that would result in
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark an error, other than a success or redirect. Also optimized
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark the parent directory, always included except in the URI '/'.
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark [William Rowe]
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark *) Refactored mod_negotiation and mod_mime to help mod_dir accept
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark negotiated index pages, and prevent the server from defaulting
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark to an autoindex of the directory. mod_negotiation will now die
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark with a 500 Internal Error if it could match some filenames
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark (e.g. for mod_dir) but none can be served. mod_negotation now
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark refuses to serve any file with an extention that mod_mime doesn't
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark recognize, and wasn't part of the request. [William Rowe]
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark *) Eliminate mod_cgi's handling of .exe files without the .exe file
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark extension. This is already handled by multiviews, if the admin
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark wishes to AddHandler .exe or define a content type handler and
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark associate .exe files with that content type. Multiviews must be
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark enabled to allow these to be served. [William Rowe]
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark *) Speed up the server's response to a spike in incoming workload
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark or restarts by assigning empty scoreboard slots to new processes
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark when they are available. [Greg Ames]
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark *) Add a handler to mod_includes.c. This handler is designed to
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark implement the XbitHack directive. This can't be done with a
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark fixup, because we need to check the content-type, which is
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark only available in the handler phase. [Ryan Bloom]
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark *) Make the includes filter check return codes from filters lower in
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark the filter chain. If a lower level filter returns an error, then
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark the request needs to stop immediately. This allows mod_include to
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark stop parsing data once a lower filter recognizes an error.
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark [Ryan Bloom]
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark *) Add the ability to extend the methods that Apache understands
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark and have those methods <limit>able in the httpd.conf. It uses
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark the same bit mask/shifted offset as the original HTTP methods
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark such as M_GET or M_POST, but expands the total bits from an int to
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark an ap_int64_t to handle more bits for new request methods than
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark an int provides. [Cody Sherr <csherr@covalent.net>]
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark *) Fix broken mod_mime behavior in merging its arguments. Possible
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark cause of unexplicable crashes introduced in 2.0.20. [William Rowe]
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark *) Solve many mod_ssl porting issues (too many to detail) with
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark help from the whole team, but most notably [Ralf S. Engelschall,
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark Madhusudan Mathihalli <madhusudan_mathihalli@hp.com>,
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark Doug MacEachern, William Rowe, Cliff Woolley]
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark *) More stall fixes for the threaded & worker mpm's.
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark Make mod_status output more accurate. Don't
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark count workers in processes which aren't actively
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark serving requests. [Greg Ames]
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark *) Win32: Get SSI exec cgi tag working. [Bill Stoddard]
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark *) Add a single listener/multiple worker MPM. This MPM is
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark definately not fully correct, but it allows us to solve many
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark of the problems that exist in the threaded MPM. This is a
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark modified version of the threaded MPM. [Ryan Bloom]
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark *) Improve content generation throughout Apache, providing closer
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark compliance with HTML 3.2, HTML 4.01 Transitional and XHTML 1.0
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark Transitional specifications. [William Rowe]
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmarkChanges with Apache 2.0.22
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark *) Fix a problem where the threaded MPM stalls after restarts or
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark segfaults. Also prevent multiple active processes from using
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark the same scoreboard slot. [Greg Ames]
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark *) Apache/Win32 now fills in the service description with Apache's
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark server version string, including loaded and advertised modules.
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark [William Rowe]
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark *) Improved support for the Win32 build, to recover gracefully from
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark missing apr or apr-util directories or the awk interpreter,
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark create the proper cgi-bin examples, including a test-cgi.bat, and
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark fix the perl shebang line for printenv.pl, when installing from
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark the build environment. [William Rowe]
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark *) Fix a segfault in threaded.c caused by passing uninitialized
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark apr_thread_t * to apr_thread_join(). [Jeff Trawick]
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark *) Use new APR number conversion functions to reduce CPU consumption
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark when setting the content length, and in mod_log_config.
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark [Brian Pane]
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark *) Fix problem reported by Taketo Kabe <kabe@sra-tohoku.co.jp>
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark where HEAD response headers were being repeated twice for
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark files greater than 32K bytes (4*AP_MIN_BYTES_TO_WRITE). This
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark problem in the http_header filter was exposed by the recent rewrite
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark of the content_length filter. [Taketo Kabe, Bill Stoddard]
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark *) Fix seg faults in mod_status with ExtendedStatus enabled, after
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark restarts. A garbage pointer to a vhost's server_rec from the
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark previous generation was being left around under certain
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark conditions. [Greg Ames]
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark *) Fix a cosmetic problem with mod_include. Non-existant SSI vars
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark used to appear as '(none', without the closing paren.
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark [G�nter Knauf <eflash@gmx.net>]
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark *) Improve the exports generating awk script. In the past, we had
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark work around problems in the awk script by avoiding some #if and
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark #ifdefs. This has bitten us many times in generating the exports.c
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark file. This improvement allows corrects the header file parsing.
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark [Sander Striker <striker@apache.org>]
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmarkChanges with Apache 2.0.21
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark *) Resolve the Win32 htpasswd bug, where a file that existed would be
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark overwritten, regardless of the -c flag.
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark [William Rowe, Mladen Turk <mladen.turk@mail.inet.hr>]
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark *) Introduce connection sub-pools into ab. Truncating the lifetime
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark of these allocations means that ab no longer perpetually grows
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark its working set, running out of memory on large request attempts.
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark [William Rowe]
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark *) Make scoreboard creation a hook. This allows management
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark modules to have access to the scoreboard at the time that it is
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark created, and at every restart request.
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark [Cody Sherr <csherr@covalent.net>]
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark *) Changed AP_MPMQ_MAX_DAEMONS to refer to MaxClients and
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark added an AP_MPMQ_MAX_DAEMON_USED to refer to the highest
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark daemon index actually used in the scoreboard. I also
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark updated the pertinent calls. [Paul J. Reder]
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark *) Win32: Prevent listening sockets from being inherited by
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark the Apache child process, CGI scripts, rotatelog process
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark etc. If the Apache child process segfaults, any processes
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark that the child started are not reaped. Prior to this fix,
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark these processes inherited the listening sockets which sometimes
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark prevented the restarted Apache child process from accepting
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark connections (ie, the server would hang).
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark [Bill Stoddard]
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark *) Provide vhost and request strings when ExtendedStatus is on.
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark [Greg Ames]
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark *) Fix some issues with the pod and prefork: check the pod *after*
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark processing a connection so that a server processing a time-
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark consuming request bails out as soon as practical; when the
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark parent process wakes up a server process via connect(), use an
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark APR timeout on the connect() so that we don't hang for a long
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark time if there aren't server processes around to do accept().
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark [Jeff Trawick, Greg Ames]
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark *) Performance improvement to mod_mime.c. find_ct() in mod_mime,
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark spends a lot of time in apr_table_get calls. Using the default
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark httpd.conf, the tables for languages and charsets are somewhat
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark large, so the time spent scanning them on each request is
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark significant. Replacing the tables with hash tables provides
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark a nice speedup. [Brian Pane <bpane@pacbell.net>]
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark *) Add two functions to allow modules to access random parts of the
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark scoreboard. This allows modules compiled for one MPM to access the
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark scoreboard, even if it the server was compiled for another MPM.
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark [Harrie Hazewinkel <harrie@covalent.net>]
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmarkChanges with Apache 2.0.20
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark *) Fix problem in content-length filter where the filter would
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark buffer all the output from a CGI before sending any bytes
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark down the filter stack to the network. This problem would cause
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark significant memory consumption if the CGIs generated
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark lots of bytes. [Bill Stoddard]
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark *) Get non-blocking CGI pipe reads working with the bucket brigades.
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark [Bill Stoddard]
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark *) Fix seg fault on Windows when serving files cached with mod_file_cache.
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark [Bill Stoddard]
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark *) Fix a bug in the threaded MPM that would cause it to kill off all
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark workers immediately after starting if the number of workers started
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark was above a certain threshold. [Ryan Bloom, Bill Stoddard]
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmarkChanges with Apache 2.0.19
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark *) Fix problem with threaded MPM. The problem was that if each child
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark process was busy serving a single long-lived request and the server
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark was sent a graceful restart signal, the server would stop serving
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark requests. This would happen because each child process would wait to
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark die until the last thread was done, and the parent wouldn't spawn any
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark new children until a process died. Now, the parent looks at the fact
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark that the children are dying gracefully, and starts new children.
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark Those new children only start enough threads to compliment the number
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark of threads in the other child process that shares the same spot in
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark the scoreboard. In this way, we make sure to never go over
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark MaxClients. [Ryan Bloom]
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark *) modified mod_negotiation and mod_autoindex to speed up by almost a
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark factor of two on apr_dir_read()-enhanced platforms, such as Win32
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark and OS2, by calling ap_sub_request_lookup_dirent() with the results
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark already provided by apr_dir_read(). [William Rowe]
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark *) mod_file_cache is now more robust to filtering and serves requests
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark slightly more efficiently. [Cliff Woolley]
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark *) Fix problem handling FLUSH bucket in the chunked encoding filter.
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark Module was calling ap_rwrite() followed by ap_rflush() but the
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark served content was not being displayed in the browser. Inspection
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark of the output stream revealed that the first data chunk was
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark missing the trailing CRLF required by the RFC. [Bill Stoddard]
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark *) apxs no longer generates ap_send_http_header() in the example handler
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark *) Fix an ab problem which could cause a divide-by-zero exception
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark with certain invocations (e.g., ab -k -c 6 -n 100 localhost/).
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark [Ian Holsman <ianh@cnet.com>]
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark *) Solve case-insensitive platforms' confusion about negotiated
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark filenames, allowing files of differnt case to match in choosing
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark the document to serve. [William Rowe]
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark *) Fix brokenness when ThreadsPerChild is higher than the built-in
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark limit. We left ap_threads_per_child at the higher value which
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark led to segfaults when doing certain scoreboard operations.
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark [Jeff Trawick]
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark *) Fix seg faults and/or missing output from mod_include. The
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark default_handler was using the subrequest pool for files and
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark MMAPs, even though the associated APR structures typically
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark live longer than the subrequest. [Greg Ames]
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark *) Extend mod_setenvif to support specifying regular expressions
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark on the SetEnvIf (and SetEnvIfNoCase) directive attribute field.
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark Example: SetEnvIf ^TS* [a-z].* HAVE_TS
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark will cause HAVE_TS to be set if any of the request headers begins
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark with "TS" and has a value that begins with any character in the
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark set [a-z]. [Bill Stoddard]
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark *) httpd children now re-bind themselves to a random CPU on
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark multiprocessor systems on AIX via bindprocessor() in 2.0.
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark [Victor J. Orlikowski]
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark *) Fix htdigest. It would go into a loop in getline when adding
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark a second user. [Bill Stoddard]
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark *) Win32 platforms now fully support mod_userdir options. [Will Rowe]
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark *) Automatically generate httpd.exp for AIX.
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark DSOs now work again on AIX in 2.0
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark [Victor J. Orlikowski]
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark *) Add a new request hook, error_log. This phase allows modules
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark to act on the error log string _after_ it has been written
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark to the error log. The goal for this hook is to allow monitoring
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark modules to send the error string to the monitoring agent.
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark [Ryan Bloom]
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark *) Modify mod_echo to make it use filters for input and output.
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark [Ryan Morgan <rmorgan@covalent.net>]
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark *) Extend mod_headers to support conditional driven Header
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark add, append and set. Use SetEnvIf to set an envar and conditionally
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark add/append/set headers based on this envar thusly:
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark SetEnvIf TSMyHeader value HAVE_TSMyHeader
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark Header add MyHeader "%t %D" env=HAVE_TSMyHeader
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark If the request contains header "TSMyHeader: value" then header
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark MyHeader: "t=xxxxxxxxxx D=yyyy" will be sent on the response.
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark [Bill Stoddard]
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark *) Extend mod_headers to support using format specifiers on Header
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark add, append and set header values. Two format specifiers are supported:
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark %t - reports, in UTC microseconds since the epoch, when the
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark request was received.
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark %D - reports the time, in microseconds, between when the request was
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark received and the response sent.
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark Header add MyHeader "This request served in %D microseconds. %t"
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark results in a header being added to the response that looks like this:
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark MyHeader: This request served in D=5438 microseconds. t=991424704447256
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark [Bill Stoddard]
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark *) Fix reset_filter(). We need to be careful how we remove filters.
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark If we set r->output_filters to NULL, we also have to reset the
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark connection's filters. [John Sterling]
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark *) Optimise reset_filter() in http_protocol.c. [Greg Stein]
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark *) Add a check to ap_die() to make sure the filter stack is sane and
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark contains the correct basic filters when an error occurs. This fixes
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark a problem where headers are not being sent on error. [John Sterling]
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark *) New Header directive 'echo' option. "Header echo regex" will
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark cause any headers received on the request that match regex to be
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark echoed to (included in) the response headers.
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark [Bill Stoddard]
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark *) include/ap_compat.h tested and set APR_COMPAT_H instead of AP_COMPAT_H.
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark This prevented the inclusion of apr_compat.h. PR #7773
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark [Oleg Broytmann <phd@phd.pp.ru>]
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark *) Moved util_uri to the apr-util library. This required a bunch of
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark apr_name changes for the uri utility functions. [Justin Erenkrantz]
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark *) Move the addition of default AP_HTTP_HTTP_HEADER filters to the
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark insert_filter phase so that other filters are not bypassed by default.
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark [Graham Leggett]
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark *) Reimplement mod_headers as an output filter. mod_headers can now
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark add custom headers to inbound requests using the RequestHeader directive
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark and to responses using the same old Header directive. [Graham Leggett]
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmarkChanges with Apache 2.0.18
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark *) Fix command-line processing so that if a bad argument is specified
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark Apache will exit. [Jeff Trawick]
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark *) Change the make targets and rules to be consistent in all of the
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark Apache-owned source trees. [Roy Fielding]
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark *) Fix processing of the TRACE method. Previously we passed bogus
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark parms to form_header_field() and it overlaid some vhost structures,
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark resulting in a segfault in check_hostalias().
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark [Greg Ames, Jeff Trawick]
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark *) Win32: Add support for reliable piped logs. If the logging process
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark goes down, Apache will automatically restart it. This function has
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark been part of Apache on Unix/Linux/BSD since the early v1.3 releases.
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark [Bill Stoddard]
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark *) Do not start piped log processes during the config file
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark preflight. This change also circumvents a problem on
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark Windows where the rotatelog processes created during preflight
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark was not getting cleaned up properly.
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark [Bill Stoddard]
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark *) add "Request Phase Participation" info to mod_info
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark [Doug MacEachern]
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark *) Make first phase changes to the scoreboard data structures in
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark preparation for the rewriting of the scoreboard per my posted
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark design notes. [Paul J. Reder]
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark *) Fix httpd's definition of LTFLAGS to be consistent with that of apr
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark and apr-util, allow it to be overridden by the configure command-line
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark (default="--silent") and introduce LT_LDFLAGS to replace what we were
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark formerly abusing as LTFLAGS. [Roy Fielding]
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark *) Clean up the reporting of incorrect closing container tags.
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark [Barrie Slaymaker <barries@slaysys.com>]
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark *) Simplify the configure process by moving all libtool stuff to APR
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark and moving hints.m4 inline. [Roy Fielding]
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark *) Add the AP_DECLARE()/AP_CORE_DECLARE macros on the return types
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark of functions used by mod_proxy for export in the DLL
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark [Ian Holsman <IanH@cnet.com>]
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark *) Prevent a hang when a cgi handled by mod_cgid tries to read a
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark request body from its stdin but no reqest body is being written to
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark the cgi. [Jeff Trawick]
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark *) mod_log_config: %c connection status incorrectly logged
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark as "-" (non-keepalive) when MaxKeepAliveRequests is set to 0.
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark [Bill Stoddard]
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark *) Get mod_cern_meta working under Windows
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark [Bill Stoddard]
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark *) Create Files, and thus MMAPs, out of the request pool, not the
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark connection pool. This solves a small resource leak that had us
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark not closing files until a connection was closed. In order to do
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark this, at the end of the core_output_filter, we loop through the
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark brigade and convert any data we have into a single HEAP bucket
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark that we know will survive clearing the request_rec.
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark [Ryan Bloom, Justin Erenkrantz <jerenkrantz@ebuilt.com>,
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark Cliff Woolley]
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark *) Completely revamp configure so that it preserves the standard make
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark variables CPPFLAGS, CFLAGS, CXXFLAGS, LDFLAGS and LIBS by moving
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark the configure additions to EXTRA_* variables. Also, allow the user
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark to specify NOTEST_* values for all of the above, which eliminates the
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark need for THREAD_CPPFLAGS, THREAD_CFLAGS, and OPTIM. Fix the setting
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark of INCLUDES and EXTRA_INCLUDES. Check flags as they are added to
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark avoid pointless duplications. Fix the order in which flags are given
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark on the compile and link lines. Remove obsolete macros APR_DOEXTRA,
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark AC_ADD_LIBRARY, AC_CHECK_DEFINE, APACHE_PASSTHRU, and APACHE_ONCE.
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark Added APR_SAVE_THE_ENVIRONMENT and APR_RESTORE_THE_ENVIRONMENT macros.
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark Renamed AC_TYPE_RLIM_T macro to APACHE_TYPE_RLIM_T. [Roy Fielding]
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark *) Get mod_tls to compile/work better on Windows. PR #7612
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark [Bernhard Schrenk <b.schrenk@improx.com>]
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark *) Fix shutdown/restart hangs in the threaded MPM.
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark [Jeff Trawick, Greg Ames, Ryan Bloom]
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark *) Removed the keptalive boolean from conn_rec because it is now only
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark used by a single routine and can be replaced by a local variable.
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark [Greg Stein, Ryan Bloom, Roy Fielding]
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark *) Patch prefork to put enough of the signal processing back in so that
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark signals are all handled properly now. The previous patch fixed the
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark deadlock race condition, but broke the user directed signal handling.
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark This fixes it to work the way it did before my previous prefork patch
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark (primarily, SIGTERM is now working).
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark *) Change how input filters decide how much data is returned to the
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark higher filter. We used to use a field in the conn_rec, with this
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark change, we use an argument to ap_get_brigade to determine how much
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark data is retrieved. [Ryan Bloom]
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark *) Fix seg fault at start-up introduced by Ryan's change to enable
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark modules to specify their own logging tags. mod_log_config
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark registers an optional function, ap_register_log_handler().
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark ap_register_log_handler() was being called by http_core before
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark the directive hash table was created. This patch creates the
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark directive hash table before ap_register_log_handler() is
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark registered as an optional function.
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark [jean-frederic clere <jfrederic.clere@fujitsu-siemens.com>]
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark *) Add ap_set_int_slot() function
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark [John K. Sterling <sterling@covalent.net>]
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark *) Under certain circumstances, Apache did not supply the
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark right response headers when requiring authentication.
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark [Gertjan van Wingerde <Gertjan.van.Wingerde@cmg.nl>] PR#7114
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark (This is a port of the change that went into Apache 1.3.19.)
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark *) Allow modules to specify their own logging tags. This basically
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark allows a module to tell mod_log_config that when %x is encountered
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark a specific function should be called. Currently, x can be any single
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark character. It may be more useful to make this a string at some point.
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark [Ryan Bloom]
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmarkChanges with Apache 2.0.17
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark *) If a higher-level filter handles the the byterange aspects of a
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark request, then the byterange filter should not try to redo the
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark work. The most common case of this happening, is a byterange
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark request going through the proxy, and the origin server handles
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark the byterange request. The proxy should ignore it.
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark [Graham Leggett <minfrin@sharp.fm>]
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark *) Changed the threaded mpm to have child_main join to each of the
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark worker threads to make sure the kids are all gone before child_main
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark exits after a signal (cleanup from perform_idle_server_maintenance).
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark This is an extension of Ryans recent commit to make the child_main
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark the signal thread.
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark *) Add more options to the ap_mpm_query function. This also allows MPMs to
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark report if their threads are dynamic or static. Finally, this also
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark implements a new API, ap_show_mpm, which returns the MPM that was
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark required into the core. [Harrie Hazewinkel <harrie@covalent.net>]
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark *) Do not install the binaries from the support directory twice.
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark [jun-ichiro hagino <itojun@iijlab.net>]
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark *) The ap_f* functions should flush data to the filter that is passed
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark in, not the the filter after the one passed in.
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark [Ryan Morgan <rmorgan@covalent.net>]
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark *) Make ab work again by changing its native types to apr types and formats.
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark [Justin Erenkrantz <jerenkrantz@ebuilt.com>]
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark *) Move the byterange filter and all of the supporting functions back
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark to the HTTP module. The byterange filter turned out to be very
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark HTTP specific, and it belongs in the HTTP module. [Greg Stein]
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark *) Make clean, distclean, and extraclean consistently according to the
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark Gnu makefile guidelines. [Justin Erenkrantz <jerenkrantz@ebuilt.com>]
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark *) Fix errors in the renaming of the apr_threadattr_detach_xxx functions.
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark This may have been causing problems stopping processes in the threaded
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark mpm's. [Greg Ames]
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark *) Fix content-length in mod_negotiation to a long int representation.
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark [William Rowe]
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark *) Remove BindAddress from the default config file.
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark [giles@nemeton.com.au]
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark *) Allow module authors to add a module to their Apache build using
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark --with-module, without re-running buildconf. The syntax is:
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark --with-module=module_type:/path/to/module.c
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark The configure script will copy the module.c file to
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark modules/module_type, and it will be added to the relevant Makefiles.
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark currently, this only works for static modules. [Ryan Bloom]
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark *) Changes required to make prefork clean up idle children properly.
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark There was a window during which a starting worker deadlocks when
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark an idle cleanup arrives before it completes init. Apache then keeps
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark trying to cleanup the same deadlocked worker forever (until higher
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark pids come along, but it still will never reduce below the deadlocked
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark pid). Thus the number of children would not reduce to the correct
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark idle level. [Paul J. Reder]
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmarkChanges with Apache 2.0.16
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark *) Change the default installation directory to /usr/local/apache2,
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark as now defined by the "Apache" layout in config.layout. [Marc Slemko]
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark *) OS/2: Added support for building loadable modules as OS/2 DLLs.
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark [Brian Havard]
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark *) Get MaxRequestsPerChild working with the Windows MPM.
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark [Bill Stoddard]
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark *) Make generic hooks to work, with mod_generic_hook_import/export
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark experimental modules. [Ben Laurie, Will Rowe]
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark *) Fix segfaults for configuration file syntax errors such as
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark "<Directory>" followed by "</Directory" and
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark "<Directory>" followed by "</Directoryz>". [Jeff Trawick]
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark *) Cleanup the --enable-layout option of configure. This makes
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark us use a consistent location for the config.layout file, and it
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark makes configure more portable.
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark [jun-ichiro hagino <itojun@iijlab.net>]
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark *) Changes to 'ab'; fixed int overrun's, added statistics, output in
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark csv/gnuplot format, rudimentary ssl support and various other tweaks
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark to make results more true to what is measured. The upshot of this it
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark turns out that 'ab' has often underreported the true performance of
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark apache. Often by a order of magnitude :-) See talk/paper of Sander
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark Temme <sctemme@covalent.net> at April ApacheCon 2001 for details.
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark [Dirk-Willem van Gulik]
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark *) Clean up mod_cgid's temporary request pool. Besides fixing a
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark storage leak this ensures that some unnecessary pipes are closed.
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark [Jeff Trawick]
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark *) Performance: Add quick_handler hook. This hook is called at the
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark very beginning of the request processing before location_walk,
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark translate_name, etc. This hook is useful for URI keyed content
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark caches like Mike Abbott's Quick Shortcut Cache.
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark [Bill Stoddard]
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark *) top_module global variable renamed to ap_top_module [Perl]
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark *) Move ap_set_last_modified to the core. This is a potentially
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark controversial change, because this is kind of HTTP specific. However
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark many protocols should be able to take advantage of this kind of
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark information. I expect that headers will need one more layer of
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark indirection for multi-protocol work, but this is a small step in
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark the right direction. [Ryan Bloom]
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark *) Enable mod_status by default. This matches what Apache 1.3 does.
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark [Ed Korthof]
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark *) Add a ScriptSock directive to the default config file. This is
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark only enabled when mod_cgid is used.
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark [Taketo Kabe <kabe@sra-tohoku.co.jp>]
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmarkChanges with Apache 2.0.15
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark *) Untangled the buildconf script and eliminated the need for build's
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark aclocal.m4, generated_lists, build.mk, build2.mk, and a host of other
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark libtool muck that is now under srclib/apr/build. [Roy Fielding]
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark *) Win32: Don't accept more connections than we have worker threads
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark to handle.
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark [Bill Stoddard]
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark *) Fix bug in the Unix threaded.c MPM that allowed child processes
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark to fork() new child processes.
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark [Bill Stoddard]
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark *) Fix a major security problem with double-reverse lookup checking.
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark Previously, a client connecting over IPv4 would not be matched
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark properly when the server had an IPv6 listening socket. PR #7407
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark [Taketo Kabe <kiabe@sra-tohoku.co.jp>]
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark *) Change the way the beos MPM handles polling to allow it to stop and
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark restart. Problem was the sockets being polled were being reset by
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark the select call, so once it had accepted a connection it was no
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark longer listening on the UDP socket we use for shutdown instructions.
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark APR needs to be altered, patch on it's way. [David Reid]
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark *) Empty out the brigade shared by ap_getline()/ap_get_client_block()
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark on error exit from ap_getline(). Some other code got upset because
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark the wrong data was in the brigade. [Greg Ames, Jeff Trawick]
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark *) Handle ap_discard_request_body() being called more than once.
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark [Greg Ames, Jeff Trawick]
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark *) Get rid of an inadvertent close of file descriptor 2 in
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark mod_mime_magic. [Greg Ames, Jeff Trawick]
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark *) Add a hook, create_request. This hook allows modules to modify
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark a request while it is being created. This hook is called for all
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark request_rec's, main request, sub request, and internal redirect.
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark When this hook is called, the the r->main, r->prev, r->next
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark pointers have been set, so modules can determine what kind of
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark request this is. [Ryan Bloom]
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark *) Cleanup the build process a bit more. The Apache configure
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark script no longer creates its own helper scripts, it just
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark uses APR's.
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark [jean-frederic clere <jfrederic.clere@fujitsu-siemens.com>]
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark *) Stop the forced downgrade of the connection to HTTP/1.0 for
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark proxy requests. [Graham Leggett]
51607ea01068c9047391e4c8b46bc9dbd0edb7fdmark *) Avoid using sscanf to determine the HTTP protocol number in
listening sockets were used, allow/deny-from-IPv4-address rules
*) Reimplement the Windows MPM (mpm_winnt.c) to eliminate calling
*) Fix a seg fault in mod_userdir.c. We used to use the pw structure
added feature of allowing a uid/gid per child process. If no
uid/gid is specified, then Perchild behaves exactly like dexter.
*) Add a very early prototype of SSL support (in mod_tls.c). It is
vital that you read modules/tls/README before attempting to build
*) Correct a typo in httpd.conf.
*) Adopt apr user/group name features for mod_rewrite. Eliminates some
'extra' stat's for user/group since they should never occur, and now
Win32/OS2 exceptions without hiccuping. [William Rowe]
*) Modify the apr_stat/lstat/getfileinfo calls within apache to use
*) Move initgroupgs, ap_uname2id and ap_gname2id from util.c to
mpm_common.c. These functions are only valid on some platforms,
*) Update highperformance.conf to work with either prefork or
i.e. syntax like %{LA-U:REMOTE_USER}, and also fix the parsing of
hints.m4) of various compilation flags (eg: CFLAGS). Also,
*) Allow the buildconf process to find the config.m4 files in the correct
such as apache_2.0a9.tar.gz on FreeBSD again. [Ryan Bloom]
server root from the Apache.exe path.
loadable modules, dynamic libs are all named libfoo.dll, and the
makefile.win populates the include, lib and libexec directories.
numeric address strings (e.g., "Listen [fe80::1]:8080").
*) Get the functions in server/linked into the server, regardless of
be loadable into the server. Our new build/install mechanism expects
to build + install on Win32. Makefile.win now rewrites @@ServerRoot@
and installs the conf, htdocs and htdocs/manual directories.
time, and that list is then used to generate the exports.c file.
*) Added lib/aputil/ as a placeholder for utility functions which are not
rotatelogs.c code, and no longer churn log processes for this
hostname resolution/address string parsing and building
*) Mod_info.c has now been ported to Apache 2.0. As a part of this
*) APR read/write functions and bucket read functions now operate
code in mod_log_config.c
*) In the Apache/Win32 console window, accept Ctrl+C to stop the
since we don't compute digests of filtered (e.g., translated)
*) Update the mime.types file to the registered media types as
*) Namespace protect some macros declared in ap_config.h
*) Add support for /, //, //servername and //server/sharename
*) Fix another bug in the send_the_file() read/write loop. A partial
*) Reimplement core_output_filter to buffer/save bucket brigades
*) send_the_file now falls back to a read/write loop on platforms that
*) APR now has UUID generation/formatting/parsing support.
-add rules for cross-compiling in rules.mk. Okay, rule to check for
-add missing "AR=@AR@" to severaly Makefile.in's
*) Fix building on BSD/OS using its native make. The build system
hook in http_core.c. This removes the need to add the filter in
update allows the user to clear or preserve pw/groups/comment.
<IfModule mod_kilroy.c>
<IfModule mod_lovejoy.c>
*) Fix some compile warnings in mod_mmap_static.c
*) APRVARS.in no longer overwrites the EXTRA_LIBS variable.
*) Fix compile break on some platforms for mod_mime_magic.c
platforms to hints.m4, which contains (or should contain)
*) Add tables with non-string/binary values to APR.
configuration file started with an IfModule/IfDefine container,
not terminated with cr/lf sequences in Win32. [William Rowe]
*) Move all strings functions in APR to src/lib/apr/strings and create
apr_strings.h for the prototypes. [Ryan Bloom]
*) Clean out obsolete names (from httpd.h) for the HTTP Status Codes
*) Update the lib/expat-lite/ library (bring forward changes from
configure.in. [Dave Hill <ddhill@zk3.dec.com>]
timeouts (i.e, if a timeout was specified, the pipe reverted to
3x the rate of Apache 1.3.(e.g, Apache 1.3 will serve 400 rps
compiled-in limits (e.g., ThreadsPerChild, MaxClients, StartTreads).
and a user makes a request like http://www.example.com//cgi-bin/cgi
*) Yet another update to saferead/halfduplex stuff -- need to ensure
to the configured User/Group (like other httpd processes)
if the len was negative. Use <sys/un.h> for struct sockaddr_un
doesn't seem to have a problem but /bin/sh on Solaris does.
ContentDigest enabled and we can't/don't mmap the file.
related bugs, and changed shmem/locking to use apr API. Shared-mem
would be errors generating ap_config_auto.h later in the configure
*) Organize http_main.c as independent code, such that no code or
in 1.3's ebcdic.c. [Jeff Trawick]
buffer if the implementation knows how to use it (i.e., if L_tmpnam
*) Configure creates config.nice now containing your configure
options. Syntax: ./config.nice [--more-options]
*) Fix mm's memcpy/memset macros, pointer arithmetic was broken.
*) The ab program in the src/support directory is now portable using
*) Finished move of ap_md5 routines to apr_md5. Removed ap_md5.h.
Apache.dsw created to bring together all the pieces. Create new file
os/win32/BaseAddr.ref to define module base addresses (to prevent
*) More FAQs and answers from comp.infosystems.www.servers.unix.
fix up from Apache 1.3. #include'ing "ap_mpm.h" fixes up an
we can use ReadFileScatter and WriteFileGather in readwrite.c.
fixes to mod_so.c.
Makefile.win includes the same user interface as the old
*) Put in Korean and Norwegian index.html pages (2.0 and 1.3)
config file. E.g. 'ServerAdmin ${POSTMASTER}'. As commited
it does this on a line by line basis; i.e. if the envvar
ErrorDocument XXX /local/uri
ErrorDocument XXX http://valid/url
*) Changed 'CacheNegotiatedDocs' from its present/not-present
done with --with-module=/path/to/module. Modules can only be added
*) Enable Apache to use sendfile/TransmitFile API
*) Make file I/O and network I/O writev/sendv APIs consistent.
bytes_read/bytes_written is always valid (never -1). Plus
some fixes to buff.c to correct problems introduced by the
*) buff.c has been converted to no longer use errno.
automatically for developers from src/Configure.
*) Fixed building of src/support/htpasswd.c
*) Moved mod_auth_digest.c from experimental to standard. [Roy Fielding]
*) Support line-continuation feature in config.option file and
*) Implement WINNT Win32 MPM from original Win32 code in http_main.c
(per default used the config.option file).
calling order to be specified on a per-hook/per-module basis.
*) os/unix/unixd.[ch]: detach, setuid, setgid, stuff which will be common
*) mpm_prefork: throw away all the alarm/timeout crud; and clean up the
of alloc.c for now. [Dean Gaudet]
based on IP/port. [Ben Laurie]
*) I/O layering and BUFF revamp. See docs/buff.txt. [Dean Gaudet]
docs/initial_blurb.txt. [Dean Gaudet]
an absolute path to the ./libexec directory where the libhttp.ep file
routines are now called ap_base64* and are 'plain' (i.e., no
pool access or anything clever). Inside util.c the routines acting
*) Fixed assumption of absolute paths in binbuild.sh. [Tony Finch]
src/support/httpd.exp. [Bill Stoddard, Randy Terbush]
*) Make ap_sha1.c compile for EBCDIC platforms: replace remaining LONG
*) PORT: Improved compilation and DSO support on Sequent DYNIX/ptx.
*) Local struct mmap in http_core.c conflicted with system structure
*) Added updated mod_digest as modules/experimental/mod_auth_digest.
*) CIDR addresses such as a.b.c.d/24 where d != 0 weren't handled
*) RewriteLock/RewriteMap didn't work properly with virtual hosts.
*) PORT: Support for compaq/tandem/com.
Netscape servers. See support/SHA1 for more information.
Caused the separation of ap_md5.c into md5, sha1 and a general
ap_checkpass.c with just a validate_passwd routine. Added a
couple of flags to support/htpasswd. Some reuse of the to64()
with ASCII/EBCDIC conversions in "ident" query.
are combined, and duplicate tokens (e.g., "Vary: host, host" or
install the DSO; useful for editing httpd.conf with apxs. Fix
create duplicate LoadModule/AddModule entries; apxs can now be
used to re- enable/disable a module. [Wilfredo Sanchez]
Win 95 users may need to update their TCP/IP stack to pick up
Winsock 2. (See http://www.microsoft.com/windows95/downloads/)
error.log when CGI scripts fail. This makes Apache on Win32
*) Fix `make r' test procedure in src/regex/: ap_isprint was not found.
*) Add DSO support for DGUX 4.x using gcc. Tested on x86 platforms.
*) Add the new mass-vhost module (mod_vhost_alias.c) developed and
parent/child process management code.
*) Fix ndbm.h include problems with brain-dead glibc >= 2.1 which
has ndbm.h in a non-standard db1/ subdir. PR#4431, PR#4528
*) Determine AP_BYTE_ORDER for ap_config_auto.h and already
content-types are "text/html;parameters". PR#4524 [Ken Coar]
*void. When the OS/platform/compiler supports quads, ap_snprintf()
*) Add RULE_EXPAT, the src/lib/ directory structure, and a modified copy
(e.g., HTTP/0.9 or HTTP/1.1) of the request. [Ken Coar]
*) Switch to /bin/sh5 in APACI on Ultrix and friends to avoid problems with
their brain-dead /bin/sh. [Ralf S. Engelschall] PR#4372
*) mod_include's fsize/flastmod should allow only relative paths, just
*) Add iconsdir, htdocsdir, and cgidir to config.layout.
*) Fix minor but annoying bug with the test for Configuration.tmpl
in unix/os.c, and don't install the dyld error handlers, which
*) Add functionality to the install-bindist.sh script created by
binbuild.sh to use tar when copying distribution files to the
install-bindist.sh now detects the local perl5 path to install
src/modules/proxy_util.c where a NULL filepointer and
have assurance about how string manipulators (e.g., tr) will
*) Add "opt" (SysV-style) layout to config.layout. [Raymond S Brand
*) Fix number of bytes copied by read_connection() in src/support/ab.c
*) Make sure RewriteLock can be used only in the global context, (i.e.
uncompress/gzip, but those tools sometimes do not produce
*) PORT: deal with UTS compiler error in http_protocol.c
binary (e.g., image file) in the first place.
*) support/htpasswd now permits the password to be specified on the
apache -n apache1 -i -f c:/httpd.conf
Installs apache as service 'apache1' and associates c:/httpd.conf
Installs apache as service 'apache2'. httpd.conf is located under
the default server root (/apache/conf/httpd.conf).
apache -n apache3 -i -d c:/program files/apache
c:/program files/apache.
*) Correct the signed/unsigned character handling for the MD5 routines;
*) OS/2: Rework CGI handling to use spawn*() instead of fork/exec, achieving
*) proxy ftp: instead of using the hardwired string "text/plain" as
<Directory proxy:ftp://some.host>
DefaultType gargle/blurb
*) Be more smart in APACI's configure script when determining the UID/GID
the number of fork()s from one/request to just the odd one an hour.
*) Added proxy, auth and header support to src/support/ab.c. Added a
README file to src/support/
*) Fix sed-substitutions in `make install': path elements like `httpd/conf'
(for instance from an APACI configure --sysconfdir=/etc/httpd/conf
*) PORT: Add support for FreeBSD 4.x [Ralf S. Engelschall]
the reboot prompt (which is only given if MSVCRT.DLL system
*) WIN32: Apache.exe now contains an icon. [Paul Sutton]
*) Using APACI, the main config file (usually httpd.conf) was
*) Move the directive `ExtendedStatus' in httpd.conf-dist-win _after_ the
DSO/DLL section because it's a directive from mod_status and isn't
against libap.a and use its ap_snprintf() instead of sprintf() to avoid
*) Add Apple's Mac OS X Server Layout "Rhapsody" to config.layout.
*) Add cgidir, htdocsdir, iconsdir variables to Makefile.tmpl in order
*) Use proper pid_t type for saving PIDs in alloc.c. [John Bley]
in http_core.c. [John Bley, Roy Fielding]
*) src/support/: The ApacheBench benchmark program was overhauled by
*) Added -S option to install.sh so that options can be passed to
is *not* given in the argument list; i.e., the logical negation
*) Win32: Add global symbols missing from ApacheCore.def. [Carl Olsen]
to util.c for parsing an HTTP header field value to extract the next
code different from 500. This allows the proxy to, e.g., return
as "com.name" to be served. [Paul Sutton] PR#3769.
make subtasking easier on the OSD/POSIX mainframe environment.
ap_compat.h. [David White <david@persimmon.com>] PR#3725
*) Make NDBM file suffix determination for mod_rewrite more accurate, i.e.
*) Let src/Configure be aware of CFLAGS options starting with plus
signs as it's the case for the HP/UX compiler.
and this makes its functions available to things in src/support.
*) WIN32: Created new makefiles Makefile_win32.txt (normal build)
and Makefile_win32_debug.txt (debug build) that work on Win95.
nmake /f Makefile_win32.txt # compiles normal build
nmake /f Makefile_win32.txt install # compiles and installs
nmake /f Makefile_win32.txt clean # removes compiled junk
nmake /f Makefile_win32_debug.txt # compiles debug build
nmake /f Makefile_win32_debug.txt install
nmake /f Makefile_win32_debug.txt clean
*) Small fix for mod_env.html: The module was documented as to be _not_
*) Instead of fixing a bug in the generation procedure for config.status (a
making sure the src/support/ tools are _forced_ to be build last (they
*) Fix installation procedure: Now that os-inline.c is actually used (a
recently fixed bug prevented this) we need to also install os-include.c
`escape' and `unescape' were added which can be used to escape/unescape
to/from hex-encodings in URLs parts (this is especially useful in
*) Major overhaul of mod_negotiation.c, part 2.
- added ap_array_pstrcat() to alloc.c for efficient concatenation
*) Major overhaul of mod_negotiation.c, part 1.
revision (draft-ietf-http-v11-spec-rev-06.txt).
e.g. no feature negotiation). Removed old experimental version.
negotiation results are consistent across backup/restores and mirrors
*) RFC2396 allows the syntax http://host:/path (with no port number)
*) When modules update/modify the file name in the configfile_t structure,
*) The hashbang emulation code in ap_execve.c would interpret
#!/hashbang/scripts correctly, but failed to fall back to a
o fixed auto-suffix handling now that config.layout exists.
config.layout and every path now can be marked this way (not only the
SINGLE_LISTEN_UNSERIALIZED_ACCEPT to NetBSD/OpenBSD section
of ap_config.h to allow serialized accept for multiport listens.
*) PORT: Fixed a misplaced #endif for NetBSD/OpenBSD section
of ap_config.h that would skip several defines if DEFAULT_GROUP
strcasecmp, so allow it in ap_config.h. [Amiel Lee Yee] PR#3247
*) Fix ordering of definitions in ap_config.h so that ap_inline is
*) Make generation of src/Configuration.apaci more robust: It failed to
another (e.g. cgi vs. fastcgi). We now check for mod_XXX, libXXX and even
*) In src/Configure remove the SERVER_SUBVERSION support (already deprecated
*) Allow special options -Wc,xxx and -Wl,xxx on APXS compile/link command.
IS to the compiler/linker command. [Ralf S. Engelschall]
config.layout. Custom layouts are possible by using FILE:ID as the
The config.layout file consists of <Layout ID>..</Layout> sections
extension (e.g., .fr, .de) can be labelled as being some other
*) mod_include.c:handle_perl() now properly tests for OPT_INCNOEXEC
*) Updated mime.types to reflect current Internet media types
Improved mod_actions.c so that it can use any of the methods
defined in httpd.h. Added ap_method_number_of(method) for
*) Fix problems with handling of UNC names (e.g., \\host\path)
*) Move a typedef to fix compile problems on Linux with 1.x kernels.
*) http_config.c would respond with 501 (Method Not Implemented) if a
should have been a 500 response. Likewise, mod_proxy.c would responsd
on-the-fly/batch permute the order of two modules (mod_foo and mod_bar)
mod_foo with the begin of the module list, i.e. it `moves' the module to
which permutes mod_foo with the end of the module list, i.e. it `moves'
on container start lines (e.g., it wouldn't spot
*) Fix Berkeley-DB/2.x support in mod_auth_db: The data structures were not
httpd.conf-dist* files. The srm and access files now contain
only comments, and httpd.conf has all the combined contents in
*) PORT: DSO/ELF support for FreeBSD 3.0.
*) Fix http://localhost/ hints in top-level INSTALL document.
ap_config.h. [Brian Havard]
*) PORT: Add Pyramid DC/OSx support to configuration mechanism.
*) PORT: Fix sys/resource.h handling for Amdahl's UTS 2.1
*) Correct comment in mod_log_config.c about its internals.
handle the creation of modules.c [Jim Jagielski]
and to avoid problems under platforms where only version 2.x is present.
*) Remove redundant substitutions in top-level Makefile.tmpl.
platforms where `nogroup' exists in /etc/group. [Ralf S. Engelschall]
the possibility to override it manually via APACI or src/Configuration.
existance of the file under /usr/include, too.
*) Fix possible buffer overflow situation in suexec.c.
*) Fix documentation of ProxyPass/ProxyPassReverse according to the
in /home/user, not in /, therefore clicking on "../" in the
dump core for replies with invalid headers (e.g., duplicate
plop gmon.out profile data for each child [Doug MacEachern]
config.status script to be immune against arguments with whitespaces.
script `buildinfo.sh' which is both more flexible and already proofed to
*) Make ab.c again pass ``gcc -Wall -Wshadow -Wpointer-arith -Wcast-align
*) Remove bad reference to non-existing SERVER_VERSION in mod_rewrite.html
*) Bump up MAX_ENV_FLAGS in mod_rewrite.h from the too conservatice limit of
variables in one RewriteRule and had to patch mod_rewrite.h for every
*) Make sure the config.status file is not overridden when just
See include/ap_mmn.h for more details. [Randy Terbush]
*) Cleanup of the PrintPath/PrintPathOS2 helper functions. Avoid
following the same idea as "MSVC vs WIN32". Additionally the src/os/emx/
directory was renamed to src/os/os2/ for consistency.
linking the DSOs, i.e. PIC libs and shared libs. Currently the rule is
*) Add correct `model' MIME types from RFC2077 to mime.types file.
*) Fixed examples in mod_rewrite.html document.
*) Update the mod_rewrite.html document to correctly reflect the situation
Makefile.tmpl: The umask+cp approach didn't work as expected (especially
*) Fix `distclean' and `clean' targets in src/Makefile.tmpl to have same
src/helper/mkdir.sh script. [Ralf S. Engelschall]
`search' entries in /etc/resolv.conf.
INSTALL file because a lot of users don't read htdocs/manual/dso.html
[Knut A.Syed <Knut.Syed@nhh.no>] PR#2674
(compilers complained) and the .so.V.R.P filename extension was adjusted
*) Disable the incorrect entry for application/msword in the
*) Fix broken RANLIB handling in src/Configure (the entry from
src/Configuration.tmpl was ignored) and additionally force RANLIB to
*) Autogenerate some HAVE_XXXXX_H defines in conf_auto.h (determined via
TestCompile) instead of defining them manually in conf.h based on less
OS-type and/or OS-version identifiers to discover whether a system header
required by HTML 3.2 and later) to mod_mime_magic's conf/magic.
*) Add Dynamic Shared Object (DSO) support for SCO5 (OpenServer 5.0.x).
*) Fix the Guess-DSO-flags-from-Perl stuff in src/Configure: "perl" was
*) PORT: remove broken test for MAP_FILE in http_main.c.
*) PORT: Change support/apachectl to use "kill -0 $pid" to test if the
but case-insensitive platforms). New #define for this added to conf.h
*) Enable DSO support for OpenBSD in general, not only for 2.x, because it
also works for OpenBSD 1.x. [Ralf S. Engelschall]
of a config.status script (as GNU Autoconf does) which remembers the used
*) Correct initialization of variable `allowed_globals' in http_main.c
multipart/x-mixed-replace;boundary=ThisRandomString.
modules/xxx/Makefile's to avoid problems with SVR4 Make under "full-DSO"
<Directory /> section of the default access.conf-dist
*) Fix symbol export list (src/support/httpd.exp) after recent
solved by another helper script findprg.sh which searches for Perl and
*) Remove the system() call from htpasswd.c, which eliminates a system
dependancy. ["M.D.Parker" <mdpc@netcom.com>] PR#2332
*) PORT: helpers/GuessOS updates for various versions for NCR SVR4.
*) Fix recently introduced Win32 child spawning code in mod_rewrite.c which
configure and src/Configure depend on this.
*) Changes usage of perror/fprintf to stderr to more proper ap_log_error
*) PORT: QNX needed a #include <sys/mman.h>; and now it uses flock
spawn_child was obsoleted and moved to compat.h
*) Fix src/support/httpd.exp (DSO export file which is currently only
``RewriteRule ^myscript$ - [T=application/x-httpd-cgi]'' This was often
*) Fix discrepancy in proxy_ftp.c which was causing failures when
*) Support for the NCR MP/RAS 3.0
*) The LDFLAGS_SHLIB_EXPORT variable of src/Configuration[.tmpl] was
not retrieved in src/Configure and thus was not useable.
- SUBDIRS is now generated in src/Makefile only and not in
Makefile.config because it is a local define for this location.
- update the "depend" targets in Makefile.tmpl files to use $(OSDIR), too.
- replaced SHLIB_OBJS/SHLIBS_OBJ consistently with OBJS_PIC because OBJS
- replaced ugly xx-so.o/xx.so-o hack with a clean and consistent usage
of xxx.lo as GNU libtool does with its PIC objects
- reduce local complexity in modules Makefile.tmpl by moving the last
*) WIN32: Make Win32 work again after the /dev/null DoS fix.
*) When opening "configuration" files (like httpd.conf, htaccess
and htpasswd), Apache will not allow them to be non-/dev/null
necessary. Long-term fix is to either serialize the chdir/spawn combo
htdocs/manual/suexec.html document before using the suexec-related
and htdocs/manual/suexec.html documents.
UID/GID and safe PATH, too.
- overhauled mkshadow.sh script: now its more IFS-safe and approx. twice
*) Add a note to httpd.conf-dist that apache will on some systems fail
and not the original statically list from modules.c
confusion with the next point and reduces the Makefile.tmpl complexity
6. The modules.c generation was extended to now contain two
of loading/linking (we use load=link+load & link=activate instead of
*) Fix the generated mod_xxx.c from "apxs -g -f xxx" after the
*) Add a comment to mod_example.c showing the format of a FLAG command
places in the code (e.g. DATE_GMT). PR#1551
*) get/set_module_config are trivial enough to be better off inline. Worth
*) Fix off-by-one error in ap_proxy_date_canon() in proxy_util.c
*) Fix debug log messages for BS2000/OSD: instead of logging the whole
*) Make sure the referer_log and agent_log entries in the default httpd.conf
*) WIN32: Make roots of filesystems (e.g. c:/) work. [Ben Laurie]
from mod_so.c to Configure because first it needs $PLAT etc. and second
AIX variants should work fine, too. Even AIX 3.x should work). This is
which we put into a os/unix/os-dso-aix.c file.
*) Fix two bugs in select() handling in http_main.c.
side-effect this reduces some subdir fiddling in configure+Makefile.tmpl.
"make root=/tmp/apache install" for rolling the package without bristling
*) Workaround braindead AWK's when generating ap_config.h: The split() and
*) Fix DEBUG_CGI situation in mod_cgi.c [David MacKenzie] PR#2114
*) Make sure that "make install" doesn't overwrite the `mime.types' and
*) PORT: Dynamic Shared Object (DSO) support for OpenBSD 2.x
variables) to avoid side-effects in "src/Configure" when the user
*) Provide backward compatibility from some old src/Configuration.tmpl
*) NeXT required strdup() in support/logresolve.c
ap_snprintf, and ap_psprintf). See include/ap.h for docs.
*) Because /usr/local/apache is the default prefix the ``configure
to `char *' under OSF1 and FreeBSD 2.x where it is defined this way
*) PORT: Make sure some AWK's don't fail in src/Configure with "string too
long" errors when generating the MODULES entry for src/Makefile
*) Make sure src/Configure doesn't complain about the old directory
/usr/local/etc/httpd/ when APACI is used. [Lars Eilebrecht]
*) Adding DSO support for the HP/UX platform by emulating the dlopen-style
interface via the similar but proprietary HP/UX shl_xxx-style system
APACI Makefile.tmpl "install" target more robust for sensible UnixWare
- Apache provided general functions (e.g., ap_cpystrn)
- Public API functions (e.g., palloc, bgets)
cross-object usage) but should be (e.g., new_connection)
For backward source compatibility a new header file named compat.h was
dummy.so file (containing dummy references to all global symbols) the
Placing the Apache core code itself into a DSO library named libhttpd.so.
where we perhaps exploit this libhttpd.so mechanism for providing nifty
inside the src subtree (i.e. for non-APACI users). Following GNU Makefile
to the mak/dsp files. [Alexei Kosut]
*) Add documentation file and src/Configuration.tmpl entry for the
*) Now src/Configure uses a fallback strategy for the shared object support
and installation of the support tools from the src/support/ area.
dynamic shared object (DSO) mechanism [mod_so.c]. The trick here is that
Apache C header files (PREFIX/include) and the new APXS tool
(SBINDIR/apxs). The intend is to provide a handy tool for third-party
modules, from trivial ones (single mod_foo.c) to complex ones (like PHP3
*) Modify the log directives in httpd.conf-dist files to use CustomLog
script and a corresponding top-level "Makefile.tmpl" file. The goal is
the old src/Configure stuff in batch and additionally installs the
routines. Use this to replace http_bprintf.c. Add new routines
is necessary on at least Solaris where the /etc/rc?.d scripts
http://.../cgi-bin/...?http%3A%2F%2F... references) [Martin Kraemer]
the mod_proxy.html and corrected the hyperlink to it in the
new_features_1.3.html document. [Ralf S. Engelschall] PR#1348
*) Fix a bug in the src/helpers/fp2rp script and make it a little bit
*) Add the new ApacheBench program "ab" to src/support/: This is derived
*) src/include/ap_config.h now wraps it's #define's with #ifndef/#endif's
*) [PORT] For A/UX change the OS-#define for -DAUX to -DAUX3.
the ugly export kludge, makes the one-liner file mod_mime.h obsolete, and
*) util.c cleanup and speedup. [Dean Gaudet]
modules as shared objects. Especially Solaris 2.x, SunOS 4.1, IRIX and
*) The Configure script now generates src/include/ap_config.h which
"http://host" url is treated as if a similar "Host:" header had been
supplied. This change was made to support future HTTP/1.x protocols
*) API: Cleanup of code in http_vhost.c, and remove vhost matching
*) API: A new source module main/util_uri.c; It contains a routine
user; /* user name, as in http://user:passwd@host:port/ */
password; /* password, as in http://user:passwd@host:port/ */
a username can contain when trying to expand it via /etc/passwd.
*) Hide Proxy-Authorization from CGI/SSI/etc just like Authorization is
reads fail. ["M.D.Parker" <mdpc@netcom.com>] PR#1827
*) Source file dependencies in Makefile.tmpl files throughout the
htdocs/manual/known_client_problems.html are in the default
(like mod_dld for Win32). This replaces mod_dld.c. Use SharedModule
header files are in the src/include directory. The -Imain -Iap
and mod_rewrite) have not been moved to src/include; nor have
calls that use too small an initial guess, see alloc.c.
because the key/value is a constant, or the value has been built
Note that it is easy to get code subtly wrong if you pass a key/value
safe thing to do is to pass key/values which are in the pool of
i.e. if the table is part of a subrequest, a value from the main
usage, enabled by defining POOL_DEBUG. See alloc.c for more details.
*) API: "typedef array_header table" removed from alloc.h, folks should
HAVE_MMAP/SHMGET #defines strictly are informational that the
Unixware 1.x appears to have the same SIGHUP bug as solaris does with
*) PORT: A/UX can handle single-listen accepts without mutex
*) suexec errors now include the errno/description. [Marc Slemko] PR#1543
*) Some const declarations in mod_imap.c that were added for debugging
*) The src/main/*.h header files have had #ifndef wrappers added to
multiple paths (e.g., in .c files as well as other .h files).
src/ap/ap.h, to ease their use in non-httpd applications. [Ken Coar]
set with SetEnv/BrowserMatch and similar directives.
(the Siemens BS2000/OSD family) in the POSIX subsystem
Located in libap.a. [Jim Jagielski]
alloc.c (affects win32 only). [Ben Hyde]
server itself (like the src/support tools). [Ken Coar]
It also wouldn't handle "AddIconByType (TXT,/icons/text.gif text/*"
htdocs/manual/misc/known_client_problems.html#257th-byte) can happen
can be used by items in src/support among other things.
(e.g., <Directory>) where they're invalid. [Martin Kraemer]
for fgetc() and fgets() on SunOS 4.x. [Martin Kraemer, Ben Hyde]
subdirectory htdocs/manual/vhost/. [Lars Eilebrecht <sfx@unix-ag.org>]
[M.D.Parker] PR#1352
*) Inherit a bugfix to fnmatch.c from FreeBSD sources.
breaking on some systems. [Bhaba R.Misra <system@vt.edu>] PR#1368
*) A mild SIGTERM/SIGALRM race condition was eliminated.
*) Warn user that default path has changed if /usr/local/etc/httpd
*) PORT: On AIX 1.x files can't be named '@', fix the proxy cache
Document this a bit more in src/PORTING. [Dean Gaudet] PR#467
*) WIN32: Make index.html and friends work under Win95. [Ben Laurie]
*) Default pathname has been changed everywhere to /usr/local/apache
*) PORT: UnixWare 2.x requires -lgen for syslog.
[M.D.Parker <mdpc@netcom.com>] PR#1284
*) New support tool: src/support/split-logfile, a sample Perl script which
*) Makefile.tmpl was not using $CFLAGS in the link phase.
*) Add debugging code to alloc.c. Defining ALLOC_DEBUG provides a
Purify. See main/alloc.c for more details. [Dean Gaudet]
be used for whatever reason is appropriate (i.e. format() warnings
gcc >= 2.7.x (so that we have fewer support issues with older
Also removed the auto-generated link to www.apache.org that was the
*) suexec.c wouldn't build without -DLOG_EXEC. [Jason A. Dour]
*) Fixed error in proxy_util.c when looping through multiple host IP
buffered writes -- that is, it will buffer up to PIPE_BUF (i.e. 4k)
*) API: New register_other_child() API (see http_main.h) which allows
*) API: New piped_log API (see http_log.h) which implements piped logs,
Some things (like RewriteMaps) were checked/performed even if they
*) Removal of mod_auth_msql.c from the distribution. There are many
http://modules.apache.org/ It would be nice to offer a generic
Makefile on the fly based on Makefile.tmpl and Configuration.
*) support/httpd_monitor is no longer distributed because the
the headers/contents of the request. It does not run during subrequests
USE_xxx_SERIALIZED_ACCEPT in conf.h. xxx is FCNTL for fcntl(),
- Linux 2.x uses flock instead of fcntl
- Solaris 2.x uses pthreads
*) PORT: The semantics of accept/select make it very desirable to use
Modules can be dropped into modules/extra, or in their own
modules/standard. All other source code is in main. OS-specific
match "/home/a/andrew/public_html", now it only matches things
/dev/tty, etc.)
and cidr syntax (i.e. 10.1.0.0/16). PR#762
Apache would omit the chunk header/footer on the next block. Cleaned
e.g. when max_requests_per_child is reached, etc.
*) PORT: QNX mmap() support for faster/more reliable scoreboard handling.
setting. The define MAX_SPAWN_RATE can be used to raise/lower
in a language that by default does buffering (e.g. perl) this
*) PORT: Allow for use of n32bit libraries under IRIX 6.x
*) PORT: Linux: Attempt to detect glibc based systems and include crypt.h
*) PORT: QNX doesn't have initgroups() which support/suexec.c uses.
rect /url.hrm 10 20 30 40
braindead SunOS 4.1.x, allow env variables to be set even on rules with
i.e. now mod_rewrite no longer has a shared copyright. Instead is is
See http_config.h for more details. [Dean Gaudet]
LoadModule/LoadFile directives. Note that module DLLs must be
Module autoindex_module mod_autoindex.o
*) popendir/pclosedir created to properly protect directory scanning.
*) Makefile.nt added - to build all the bits from the command line:
nmake -f Makefile.nt
httpd.h. [Dean Gaudet]
the SFIO library calls sfread/sfwrite if B_SFIO is defined at
*) Turn off chunked encoding after sending terminating chunk/footer
*) SECURITY: When a client connects to a particular port/addr, and
actually be reached via that port/addr. [Ed Korthof <ed@organic.com>]
*) Support virtual hosts with wildcard port and/or multiple ports
and mod_include.c. [Dean Gaudet]
Also removed the auto-generated link to www.apache.org that was the
htdocs/manual/misc/known_client_problems.html#257th-byte) can happen
*) #ifdef wrap a few #defines in httpd.h to make life easier on
*) Fix MPE compilation error in mod_usertrack.c. [Mark Bixby]
should consider comparing against src/modules/standard/mod_include.c
*) suexec.c wouldn't build without -DLOG_EXEC. [Jason A. Dour]
minus WIN32/NT stuff, but plus copyright removement.
under Solaris 2.x (up through 2.5.1). It has been fixed.
lockfile in any location. It previously defaulted to /usr/tmp/htlock.
*) Add a placeholder in modules/Makefile to avoid errors with certain
*) USE_FLOCK_SERIALIZED_ACCEPT is now default for FreeBSD, A/UX, and
redirect flag, e.g. R=permanent, the permanent status was lost.
*) PORT: Support for Maxion/OS SVR4.2 Real Time Unix. [no name given] PR#383
*) PORT: fix problem compiling http_bprintf.c with gcc under SCO
*) Fixed open timestamp fd in proxy_cache.c [Chuck Murcko]
directive and the DEFAULT_TYPE symbol in httpd.h. Changed the value
of DEFAULT_TYPE to match the documented default (text/plain).
*) In mod_proxy.c, check return values for proxy_host2addr() when reading
the connection (e.g., when user presses Stop). Apache will now stop
*) Rearrange Configuration.tmpl so that mod_rewrite has higher priority
htdocs/manual/stopping.html for details on stopping and
*) The default handler now logs invalid methods or URIs (i.e. PUT on an
buffer or write inside buff.c or fread'ing from a CGI's output,
*) Use /bin/sh5 on ULTRIX. [P. Alejandro Lopez-Valencia] PR#369
*) Add UnixWare compile/install instructions. [Chuck Murcko]
*) Add macro for memmove to conf.h for SUNOS4. [Marc Slemko]
*) More signed/unsigned port fixes. [Dean Gaudet]
*) suexec.c doesn't close the log file, allowing CGIs to continue writing
*) Improved generation of modules/Makefile to be more generic for
*) Fixed overlaying of request/sub-request notes and headers in
*) Port to UXP/DS(V20) [Toshiaki Nomura <nom@yk.fujitsu.co.jp>]
*) changed status check mask in proxy_http.c from "HTTP/#.# ### *" to
- Changed send_dir() to remove user/passwd from displayed URL.
select/accept and keep-alive requests, fixed several bugs regarding
*) Tweak byteserving code (e.g. serving PDF files) to work around
Emit Content-Length header when sending multipart/byteranges.
*) Port to HI-UX/WE2. [Nick Maclaren]
regex/regcomp.c since that file also used a NEXT define.
*) Portability Fix: NeXT lacks unistd.h so we wrap it's inclusion
*) Remove mod_fastcgi.c from the distribution. This module appears
continue to be easily available at http://www.fastcgi.com/
*) Fixed bug in modules/Makefile that wouldn't allow building in more
- execution restricted to UID/GID > 100
*) Replace references to make in Makefile.tmpl with $(MAKE).
*) Add ProxyBlock directive w/IP address caching. Add IP address
*) Remove requirement for ResourceConfig/AccessConfig if not using
2. initgroups() on Linux 2.0.x clobbers gr->grid.
*) Reset timeout while reading via get_client_block() in mod_cgi.c
*) Add the ability to pass different Makefile.tmpl files to Configure
*) proxy_http.c bugfixes: [Chuck Murcko]
1) fixes possible NULL pointer reference w/NoCache
*) mod_include.c bugfixes:
*) Added definitions for S_IWGRP and S_IWOTH to conf.h [Ben Laurie]
http_protocol.c [Roy Fielding]
*) Replaced use of index() in mod_expires.c with more appropriate
*) In helpers/CutRule, replaced "cut" invocation with "awk" invocation
*) Updated helpers/GuessOS for ...
SCO UnixWare 2.1.1 (requires a separate set of #defines in conf.h)
and fixed something in helpers/PrintPath [Ben Laurie]
*) Not listed. See <http://www.apache.org/docs/new_features_1_2.html>
*) mod_env now turned on by default in Configuration.tmpl.
b) truncated hostnames/ip address in the logs
*) Not listed. See <http://www.apache.org/docs/new_features_1_1.html>
*) Internal redirects which occur in mod_dir.c now preserve the
*) Fix for POSIX compliance in waiting for processes in alloc.c.
which works similar to PidFile (in httpd.conf) [Rob Hartill]
*) Include sys/resource.h in the correct place for SunOS4 [Sameer Parekh]
*) the pstrcat call in mod_cookies.c didn't have an ending NULL,
*) Add strerror function to util.c for SunOS4 [Randy Terbush]
*) patch to get Apache compiled on UnixWare 2.x, recommended as
a temporary measure, pending rewrite of rfc931.c. [Chuck Murcko]
*) past changes to http_config.c to only use the
*) Remove uses of MAX_STRING_LEN/HUGE_STRING_LEN from several routines.
and the server provider uses relative links; as file.html
*) Not listed. See <http://www.apache.org/docs/new_features_1_0.html>
*) Fixed potential FILE* leak in http_main.c [Ben Laurie]
*) Eliminated some bogus Linux-only #defines in conf.h [Aram Mirzadeh]
*) Nuked bogus #define in httpd.h [David Robinson]
*) gcc -Wall no longer complains about an unused variable when util.c
*) Rationalize handling of BSD in conf.h and elsewhere [Randy Terbush,
*) Suppress -Wall warning by casting const away in util.c [Aram Mirzadeh]
subprocesses, including the SIGTERM/pause/SIGKILL routine, until
causing certain extremely marginal cases (e.g., ScriptAlias of a
*particular* index.html file) to fail. [David Robinson]
*) Cleaned up compiler warning from mod_access.c [Robert Thau]
*) Cleaned up comments in mod_cgi.c [Robert Thau]
"/path/to/some/link/" follows the link. [Thau, Fielding]
*) Doesn't reset DirectoryIndex to 'index.html' when
*) Clarified init code and nuked bogus warning in mod_access.c
*) Corrected several directives in sample srm.conf
*) Fixed ScriptAlias/Alias interaction by moving ScriptAlias handling to
mod_alias.c, merging it almost completely with handling of Alias, and
using a special file created for the purpose in /usr/tmp, and
which try to print out the last-modified date). [Eric Hagberg/Robert
*) <!--exec cgi="/some/uri/here"--> always treats the item named by the
*) POST to CGI works on A/UX [Jim Jagielski]
it seems to work well enough without it (even in a 10 hits/sec
workout), and the overhead for the locking under A/UX is
*) Fixed portability problems with mod_cookies.c [Cliff Skolnick]
*) Further de-Berklize mod_cookies.c; change the bogus #include. [Brian
Behlendorf/Eric Hagberg]
*) More improvements to default Configuration for A/UX [Jim Jagielski]
*) SunOS lib-function prototypes in conf.h conditionalized on __GNUC__,
*) Scoreboard file (/tmp/htstatus.*) no longer publically writable.
properly. (One-line fix to http_protocol.c).
*) Corrected cgi-src/Makefile entry for new imagemap script. [Alexei Kosut]
*) Nuked Shambhala name from src/README; had already cleaned it out
*) Set config file locations properly if not set in httpd.conf
*) Fixed mod_imap.c --- relative paths with base_uri referer don't
be nice if mod_dir.c was robust enough to handle that, but for now,
/tmp/htstatus.*, on which each process has an independent file
*) Moved FCNTL_SERIALIZED_ACCEPT defines into conf.h (that's what
*) Incidental code cleanups in http_main.c --- stop dragging
*) Fixed auth_name-related typos in http_core.c [Brian Behlendorf]
Also, fixed auth typo in http_protocol.c unmasked by this fix.
*) Reordered modules in modules.c so that Redirect takes priority
the same SIGTERM/pause/SIGKILL routine used to ding an errant CGI
*) Fixed silly typo in http_main.c which was suddenly fatal in HP-UX.
*) mod_core.c --- default_type returns DEFAULT_TYPE (the compile-time
memory area every time). Fix is in mod_dir.c. [Paul Sutton]
*) Changes to http_main.c --- root server no longer plays silly
*) mod_dir.c bug fixes: ReadmeName and HeaderName
*) http_request.c now calls unescape_url() more places where it
*) Generalized cleanup interface in alloc.c --- any function can be
registered with alloc.c as a cleanup for a resource pool;
*) More changes in alloc.c --- new cleanup_for_exec() function,
registered with the alloc.c machinery before the server exec()s a
*) Fixed basic thinkos in mod_dbm_auth.c [rst, reported by Mark Cox]
in alloc.c [rst]