Apache Week
Issue 50, 31stJanuary1997:

Copyright 2020 Red Hat, Inc

In this issue

Another beta version of 1.2 was made available this week. This follows on from beta 4. Beta 5 was never released (it was all ready for a release when a silly bug in a recent patch was noticed).

Beta 6 has a number of important improvements over previous releases of 1.2. Anyone running any beta version should upgrade to 1.2b6. The main changes in beta 6 are various changes to reduce the "FIN_WAIT_2" problem, protection against the sort of problem which caused the recent potential security hole in mod_cookies, and various improvements and fixes for suexec. More documentation on the FIN_WAIT_2 problem is available on the Apache site, including fixes and workarounds for several server operating systems. Apache now also takes more care to log errors closing connections so that problems can be identified easier.

Update: Bytes Lost

In issue 47 we reported a bug that was causing bytes to be lost when using keep alive (persistent) connections. This was been documented on the W3 site. It now appears that this problem is caused by a bug in the latest version of the 'libwww' library from W3.

Apache Status

Release: 1.1.3 (Released 14th January 1997)
Beta: 1.2b6 (Released 26th January 1997)

Bugs reported in 1.2b4:
  • Bug passing query string arguments when using suexec
Bugs fixed in 1.2b6:
  • Spaces between co-ordinates in imap files are invalid (e.g. "300, 300" cannot be used)
  • OS specific fixes for A/UX, NeXT
  • suexec programs no longer have to be world executable, and other suexec fixes
  • Speeded up transfers which using keep alives
  • Fixed potential core dumps on HP/UX 10.10
Bugs reported in 1.2b6:
  • Compilation errors on NeXT
  • mod_rewrite problems
  • Corrupt mod_info output
  • FTP proxy bug on Linux
  • Connection is closed after a 304 status is returned, even if it could have been kept alive.
  • Only using a single argument to RLimit* directives can cause core dumps

Patches to fix some of these bugs are available in the 1.2b6 patches directory on the Apache site.

Apache is currently in a 'beta release' cycle. This is where it is made available prior to full release for testing by anyone interested. Normally during the beta cycle no new major features will be added. The full release of Apache 1.2 is expected in February.

Keepalives Now NCSA Compatible

In another move towards making Apache 1.2 even more compatible with NCSA 1.5, the syntax of the keepalive directives have been updated. The existing syntax will continue to work as well. Previously the KeepAlive directive took an argument which was the maximum number of requests to allow on a single connection. If it was set to 0, keep alives were disabled. Now it can be given as either "On" or "Off", to turn keep alives on and off respectively. If a number if used, 0 means off and any other number means on (this value of the number is ignored).. If set to On, the number of requests allowed on each connection can be controlled by the new MaxKeepAliveRequests. This is the value previously set by KeepAlive, with the change that if this is set to 0 there is no limit to the number of requests allowed on each connection. The default is 100 (previous versions of Apache provided a default value of 5).

This is in 1.2b6 currently available for download.

Conditional Logging

A new feature has been submitted which will allow for conditional logging. This could be used to create custom log files which better emulate the agent and referrer logs.

HTTP Version Numbers Clarified

The new HTTP/1.1 protocol caused some confusion amongst browser, server and proxy authors over what version number should be used on responses. The problem has been that if a HTTP/1.1 server (such as Apache 1.2) receives a request marked as coming from a HTTP/1.0 client, should the response be marked as HTTP/1.0 or HTTP/1.1? The intention of the HTTP/1.1 specification is that the response should indicate the version of protocol which the server uses, not the version of the request. So a HTTP/1.1 compliant server should always respond with a HTTP/1.1 response. This confusion led to the incorrect behaviour of the AOL proxies last year, as reported in issue 46.

A new Internet Draft is under development to explain more clearly how version numbers should be used in HTTP responses. It does not modify the existing HTTP specifications (RFC1945 and RFC2068), but should be used as the definitive guide if there is any ambiguity in those documents.