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.18 Changelog
  • Fix command-line processing so that if a bad argument is specified Apache will exit. [Jeff Trawick]
  • Change the make targets and rules to be consistent in all of the Apache-owned source trees. [Roy Fielding]
  • Fix processing of the TRACE method. Previously we passed bogus parms to form_header_field() and it overlaid some vhost structures, resulting in a segfault in check_hostalias(). [Greg Ames, Jeff Trawick]
  • Win32: Add support for reliable piped logs. If the logging process goes down, Apache will automatically restart it. This function has been part of Apache on Unix/Linux/BSD since the early v1.3 releases. [Bill Stoddard]
  • Do not start piped log processes during the config file preflight. This change also circumvents a problem on Windows where the rotatelog processes created during preflight was not getting cleaned up properly. [Bill Stoddard]
  • add "Request Phase Participation" info to mod_info [Doug MacEachern]
  • Make first phase changes to the scoreboard data structures in preparation for the rewriting of the scoreboard per my posted design notes. [Paul J. Reder]
  • Fix httpd's definition of LTFLAGS to be consistent with that of apr and apr-util, allow it to be overridden by the configure command-line (default="--silent") and introduce LT_LDFLAGS to replace what we were formerly abusing as LTFLAGS. [Roy Fielding]
  • Clean up the reporting of incorrect closing container tags. [Barrie Slaymaker ]
  • Simplify the configure process by moving all libtool stuff to APR and moving hints.m4 inline. [Roy Fielding]
  • Add the AP_DECLARE()/AP_CORE_DECLARE macros on the return types of functions used by mod_proxy for export in the DLL [Ian Holsman ]
  • Prevent a hang when a cgi handled by mod_cgid tries to read a request body from its stdin but no reqest body is being written to the cgi. [Jeff Trawick]
  • mod_log_config: %c connection status incorrectly logged as "-" (non-keepalive) when MaxKeepAliveRequests is set to 0. [Bill Stoddard]
  • Get mod_cern_meta working under Windows [Bill Stoddard]
  • Create Files, and thus MMAPs, out of the request pool, not the connection pool. This solves a small resource leak that had us not closing files until a connection was closed. In order to do this, at the end of the core_output_filter, we loop through the brigade and convert any data we have into a single HEAP bucket that we know will survive clearing the request_rec. [Ryan Bloom, Justin Erenkrantz , Cliff Woolley]
  • Completely revamp configure so that it preserves the standard make variables CPPFLAGS, CFLAGS, CXXFLAGS, LDFLAGS and LIBS by moving the configure additions to EXTRA_* variables. Also, allow the user to specify NOTEST_* values for all of the above, which eliminates the need for THREAD_CPPFLAGS, THREAD_CFLAGS, and OPTIM. Fix the setting of INCLUDES and EXTRA_INCLUDES. Check flags as they are added to avoid pointless duplications. Fix the order in which flags are given on the compile and link lines. Remove obsolete macros APR_DOEXTRA, AC_ADD_LIBRARY, AC_CHECK_DEFINE, APACHE_PASSTHRU, and APACHE_ONCE. Added APR_SAVE_THE_ENVIRONMENT and APR_RESTORE_THE_ENVIRONMENT macros. Renamed AC_TYPE_RLIM_T macro to APACHE_TYPE_RLIM_T. [Roy Fielding]
  • Get mod_tls to compile/work better on Windows. PR #7612 [Bernhard Schrenk ]
  • Fix shutdown/restart hangs in the threaded MPM. [Jeff Trawick, Greg Ames, Ryan Bloom]
  • Removed the keptalive boolean from conn_rec because it is now only used by a single routine and can be replaced by a local variable. [Greg Stein, Ryan Bloom, Roy Fielding]
  • Patch prefork to put enough of the signal processing back in so that signals are all handled properly now. The previous patch fixed the deadlock race condition, but broke the user directed signal handling. This fixes it to work the way it did before my previous prefork patch (primarily, SIGTERM is now working).
  • Change how input filters decide how much data is returned to the higher filter. We used to use a field in the conn_rec, with this change, we use an argument to ap_get_brigade to determine how much data is retrieved. [Ryan Bloom]
  • Fix seg fault at start-up introduced by Ryan's change to enable modules to specify their own logging tags. mod_log_config registers an optional function, ap_register_log_handler(). ap_register_log_handler() was being called by http_core before the directive hash table was created. This patch creates the directive hash table before ap_register_log_handler() is registered as an optional function. [jean-frederic clere ]
  • Add ap_set_int_slot() function [John K. Sterling ]
  • Under certain circumstances, Apache did not supply the right response headers when requiring authentication. [Gertjan van Wingerde ] PR#7114 (This is a port of the change that went into Apache 1.3.19.)
  • Allow modules to specify their own logging tags. This basically allows a module to tell mod_log_config that when %x is encountered a specific function should be called. Currently, x can be any single character. It may be more useful to make this a string at some point. [Ryan Bloom]