Apache Week
Issue 83, 18thSeptember1997:

Copyright 2020 Red Hat, Inc

In this issue

Apache Status

Apache Site: www.apache.org
Release: 1.2.4 (Released 22nd August 1997) (local download sites)
Beta: None
Alpha: 1.3a1 (Released 23rd July 1997) (local download sites)

Bugs in 1.2.4:
  • Apache can be configured to set some environment variables to work-around certain bugs, such as force-response-1.0. This variable (if set) will also be passed onto child CGI programs, but it is not a valid variable and some shells will complain about it.

Bugs fixed in 1.3:

  • Apache will send an ETag with SSI documents accessed by XBitHack. This is harmless but not compliant with HTTP/1.1.
  • A name based virtual host can be accessed from a request to a different port number to the one associated with the vhost
  • Adding modules with LoadModule (Windows only) could cause memory corruption if too many modules were added, or if LoadModule is placed not at the top of httpd.conf.
  • Fix bug when timeouts occur under inetd mode (although inetd mode is not recommended and may not work properly anyway)
  • Work around problem on Linux where a child can loop rather then realise that a new connection is available
  • Added support for Unisys SVR4

Apache 1.2.4 is the current stable release. Users of Apache 1.2.3 and earlier should upgrade to this version. The next release will be 1.3. The first beta of 1.3 will be available shortly. An alpha test release of 1.3 is available now for compilation and testing on Windows 95 and NT systems.

Patches for bugs in Apache 1.2.4 may be made available in the apply to 1.2.4 directory on the Apache site. Some new features and other unofficial patches are available in the 1.2 patches directory. For details of all previously reported bugs, see the Apache bug database and known bugs pages. Also many common configuration questions are answered in the Apache FAQ.

Source Code Layout

All the Apache source code has been formatted into the standard Apache style. Previously the code has contained a mix of styles, depending on who authored particular bits. Recently a discussion was held amongst the developers to decide on a single, consistent style for Apache code. Various types of layout were voted upon, and the most popular styles used as the Apache style. A set of arguments for "indent" was created, and all the source code was run through indent. The result was then manually checked to ensure that indent got the layout correct (it sometimes did not).

ETags and Last-Modified Dates

The module API includes a function called set_last_modified() which sets the Last-Modified header to be returned to the client. It also generates an ETag, which is used by HTTP/1.1 clients to cache responses. In some cases ETags should not be added, but Last-Modified should. So there is now a new API function, set_etag() which sets just the ETag value, and set_last_modified() no longer creates an ETag.

As part of these changes there is another new function, meets_condition which can be used to check that the intended response meets any pre-condition in the request (for HTTP/1.1 requests). This function is used by mod_cgi, so it means that CGI programs can now output ETag information which will be subject to HTTP/1.1 conditions. If the response does not meet the condition, Apache will return the appropriate HTTP/1.1 response code, and ignore the body of the CGI.

Apache in the News

PC Week briefly mentions Apache in an article on building a free internet server, based on FreeBSD. The article is at Nothing's free, but intranet comes close.