Project description.

The Apache HTTP Server Project is an effort to develop and maintain an open-source HTTP server for modern operating systems including UNIX and Windows NT.

The goal of this project is to provide a secure, efficient and extensible server that provides HTTP services in sync with the current HTTP standards

Apache 2.0.33 Changelog
  • Fix a problem in the new --enable-layout functionality where it wouldn't allow overrides from variables like --prefix, --bindir, etc. [Thom May ]
  • Fix a bug in the core input filter for AP_MODE_EXHAUSTIVE. It no longer hangs around waiting for the socket to close before returning exhaustive data. [Aaron Bannert]
  • rename apr_exploded_time_t to apr_time_exp_t (as per renames pending) [Thom May ]
  • Change mod_ssl to always do a full startup/teardown on restarts. this allows mod_ssl to be added to a server that is already running and makes it possible to add/change certs/keys after the server has been started. [Doug MacEachern]
  • Introduce PassPhraseDialog "|/path/to/pipe" mechanism to mod_ssl. This pipe must be a bidirectional 'console' style relay, which mod_ssl prints all prompts to the pipe's stdin, and reads the passphrases from the pipe's stdout. [William Rowe]
  • Fix bug where --sysconfdir and --localstatedir were being ignored. [Thom May , Aaron Bannert] PR 9888
  • Fix --enable-layout to work again. Caution: When specifying --enable-layout, common arguments like --prefix, --exec-prefix, etc. will be ignored and the settings from the layout will be used instead. [Thom May , Aaron Bannert] PR 9124, 9873, 9885
  • New Directive for mod_proxy: ProxyRemoteMatch. This provides regex pattern matching for the determination of which requests to use the remote proxy for. [Jim Jagielski]
  • Fix CustomLog bytes-sent with HTTP 0.9. [Justin Erenkrantz]
  • Prevent Apache from ignoring SIGHUP due to some lingering 1.3 cruft in piped logs and rewritemap child processes. [William Rowe]
  • All instances of apr_lock_t have been removed and converted to one of the following new lock APIs: apr_thread_mutex.h, apr_proc_mutex.h, or apr_global_mutex.h. No new code should use the apr_lock.h API, as the old API will soon be deprecated. [Aaron Bannert]
  • Merged in changes to mod_ssl up through 2.8.7-1.3.23. [Ralf S. Engelschall, Cliff Woolley]
  • mod-include: make it handle flush'es and fix the 'false-alarm' [Justin Erenkrantz, Brian Pane, Ian Holsman]
  • ap_get_*_filter_handle() functions to allow 3rd party modules to lookup filter handles so they can bypass the filter name lookup when adding filters to a request (via ap_add_*_filter_handle()) [Ryan Morgan ]
  • Fix for multiple file buckets on Win32, where the first file bucket would cause the immediate closure of the socket on any non-keepalive requests. [Ryan Morgan ]
  • Correct Win32 failure of mmap of a segment beyond start of the file; fixes large SSL and similar transfers. [William Rowe] PR 9898
  • Implement apr_proc_detach changes and allow -DNO_DETACH in the multi-process mode to not "daemonize" while detaching from the controlling terminal. This is necessary for Apache to work with process-management tools like AIX's "System Resource Controller" as well as Dan Bernstein's "daemontools". [Jos Backus , Aaron Bannert]
  • Convert mod_auth_digest to use the new apr_global_mutex_t type. [Aaron Bannert]
  • fix bug in mod-include where it wouldn't send a unmatched part if it was at the end of a bucket [Ian Holsman]
  • worker MPM: Improve logging of errors with the interface between the listener thread and worker threads. [Jeff Trawick]
  • Some browsers ignore cookies that have been merged into a single Set-Cookie header. Set-Cookie and Set-Cookie2 headers are now unmerged in the http proxy before being sent to the client. [Graham Leggett]
  • Fix a problem with proxy where each entry of a duplicated header such as Set-Cookie would overwrite and obliterate the previous value of the header, resulting in multiple header values (like cookies) going missing. [Graham Leggett, Joshua Slive]
  • Add the server-limit and thread-limit values to the scoreboard for the sake of third-party applications. [Adam Sussman ]
  • Fix segfault when proxy recieves an invalid HTTP response [Ian Holsman]
  • OS/390: Get make install to properly copy DSO modules. [Jeff Trawick]
  • Win32: Fix bug in mod_status with displaying "Restart Time" and "Server uptime". [Bill Stoddard]
  • Fix IPv6 name-based virtual hosts. [Jeff Trawick]
  • Introduce AddOutputFilterByType directive. [Justin Erenkrantz]
  • Fix DEBUG_CGI support in mod_cgi. PR 9670, 9671. [David MacKenzie ]
  • Fix incorrect check for script_in in mod_cgi. PR 9669. [David MacKenzie ]
  • Fix segfault and display error when SSLMutex file can not be created. [Adam Sussman ]
  • Add reference counting to mod_mem_cache cache objects to better manage removing objects from the cache. [Bill Stoddard]
  • Change the verbage on the ScoreBoardFile in our default configs. Also change the default to be commented out (unspecified) so we get anonymous shared memory by default. [Aaron Bannert]
  • Implement new ScoreBoardFile directive logic. This affects how we create the scoreboard's shared memory segment. If the directive is present, a name-based segment is created. If the directive is not present, first an anonymous segment is created, and if that fails, a name-based segment is created from a file of the name DEFAULT_SCOREBOARD. This gives third-party applications the ability to access our scoreboard. [Aaron Bannert]
  • Allow mod_deflate to work with non-GET requests and properly send Content-Lengths. [Sander Striker ]
  • Fix ap_directory_merge() to correctly merge configs when there is no block. [Justin Erenkrantz, William Rowe]
  • Remove spurious debug messsages that are normal under HTTP keep-alive logic. [Jeff Trawick, Justin Erenkrantz]
  • Fix a bug in mod_cgid that would prevent proper shutdown death of the cgid process. [Aaron Bannert]
  • Add signal handling back in to the worker MPM for the one_process (-X, -DDEBUG, -DONE_PROCESS) case. [Aaron Bannert]
  • Performance: Reuse per-connection transaction pools in the worker MPM, rather than destroying and recreating them. [Brian Pane]
  • Remove all signals from the worker MPM's child process. Instead, the parent uses the Pipe of Death for all communication with the child processes. [Ryan Bloom]