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 1.2b11 Changelog
  • Fixed open timestamp fd in proxy_cache.c [Chuck Murcko]
  • Added undocumented perl SSI mechanism for -DUSE_PERL_SSI and mod_perl. [Doug MacEachern, Rob Hartill]
  • Proxy needs to use hard_timeout instead of soft_timeout when it is reading from one buffer and writing to another, at least until it has a custom timeout handler. [Roy Fielding and Petr Lampa]
  • Fixed problem on IRIX with servers hanging in IdentityCheck, apparently due to a mismatch between sigaction and setjmp. [Roy Fielding] PR#502
  • Log correct status code if we timeout before receiving a request (408) or if we received a request-line that was too long to process (414). [Ed Korthof and Roy Fielding] PR#601
  • Virtual hosts with the same ServerName, but on different ports, were not being selected properly. [Ed Korthof]
  • Added code to return the requested IP address from proxy_host2addr() if gethostbyaddr() fails due to reverse DNS lookup problems. Original change submitted by Jozsef Hollosi . [Chuck Murcko] PR#614
  • If multiple requests on a single connection are used to retrieve data from different virtual hosts, the virtual host list would be scanned starting with the most recently used VH instead of the first, causing most virtual hosts to be ignored. [Paul Sutton and Martin Mares] PR#610
  • The OS/2 handling of process group was broken by a porting patch for MPE, so restored prior code for OS/2. [Roy Fielding and Garey Smiley]
  • Inherit virtual server port from main server if none (or "*") is given for VirtualHost. [Dean Gaudet] PR#576
  • If the lookup for a DirectoryIndex name with content negotiation has found matching variants, but none are acceptable, return the negotiation result if there are no more DirectoryIndex names to lookup. [Petr Lampa and Roy Fielding]
  • If a soft_timeout occurs after keepalive is set, then the main child loop would try to read another request even though the connection has been aborted. [Roy Fielding]
  • Configure changes: Allow for whitespace at the start of a Module declaration. Also, be more understanding about the CC=/OPTIM= format in Configuration. Finally, fix compiler flags if using HP-UX's cc compiler. [Jim Jagielski]
  • Subrequests and internal redirects now inherit the_request from the original request-line. [Roy Fielding]
  • Test for error conditions before creating output header fields, since we don't want the error message to include those fields. Likewise, reset the content_language(s) and content_encoding of the response before generating or redirecting to an error message, since the new message will have its own Content-* definitions. [Dean Gaudet]
  • Restored the semantics of headers_out (headers sent only with 200..299 and 304 responses) and err_headers_out (headers sent with all responses). Avoid the overhead of copying tables if err_headers_out is empty (the usual case). [Roy Fielding]
  • Fixed a couple places where a check for the default Content-Type was not properly checking both the value configured by the DefaultType directive and the DEFAULT_TYPE symbol in httpd.h. Changed the value of DEFAULT_TYPE to match the documented default (text/plain). [Dean Gaudet] PR#506
  • Escape the HTML-sensitive characters in the Request-URI that is output for each child by mod_status. [Dean Gaudet and Ken Coar] PR#501
  • Properly initialize the flock structures used by the mutex locking around accept() when USE_FCNTL_SERIALIZED_ACCEPT is defined. [Marc Slemko]
  • The method for determining PATH_INFO has been restored to the pre-1.2b (and NCSA httpd) definition wherein it was the extra path info beyond the CGI script filename. The environment variable FILEPATH_INFO has been removed, and instead we supply the original REQUEST_URI to any script that wants to be Apache-specific and needs the real URI path. This solves a problem with existing scripts that use extra path info in the ScriptAlias directive to pass options to the CGI script. [Roy Fielding]
  • The _default_ change in 1.2b10 will change the behaviour on configs that use multiple Listen statements for listening on multiple ports. But that change is necessary to make _default_ consistent with other forms of . It requires such configs to be modified to use . The documentation has been updated. [Dean Gaudet] PR#530
  • If an ErrorDocument CGI script is used to respond to an error generated by another CGI script which has already read the message body of the request, the server would block trying to read the message body again. [Rob Hartill]
  • signal() replacement conflicted with a define on QNX (and potentially other platforms). Fixed. [Ben Laurie] PR#512