Apache Week
   
   Issue 114, 8th May 1998:  

Copyright ©2020 Red Hat, Inc

In this issue


Apache Status

Apache Site: www.apache.org
Release: 1.2.6 (Released 24th March 1998) (local download sites)
Beta: 1.3b6 (Released 20th April 1998) (local download sites)

Apache 1.2.6 is the current stable release. Users of Apache 1.2.5 and earlier should upgrade to this version since it fixes a number of bugs and potential security problems.

Bugs in 1.3b6

These bugs have been found in 1.3b6 and will be fixed in the next beta (1.3b7)

Because of the major differences between Windows and Unix, these are separated into bugs which affect Windows systems only, and other bugs (which may affect Windows as well). Unix users can ignore the bugs listed in the Windows section.

Windows-specific Bugs

  • Now gives an error if ThreadsPerChild is set to more than 64.
  • Various fixes to support UNC style paths (\\SERVER\SHARE\...).
  • Security fix for BS2000 systems.

Other Bugs

  • When a CustomLog nickname is defined outside any virtual host sections, it cannot be used within virtual hosts. PR#2183.
  • The default handler (normally used when static files are being returned to the client) was not adding a Accept-Range header unless it was actually sending back a byte-range. PR#1464, PR#2107.
  • Various bug fixes for AIX versions 3.2, 4.1.5, 4.2 and 4.3.

Patches for bugs in Apache 1.2.6 may be made available in the apply_to_1.2.6 subdirectory of the patches directory on the Apache site (this directory may not exist if no patches are available). Some new features and other unofficial patches are available in the 1.2 patches directory (these may not apply cleanly to 1.2.6). For details of all previously reported bugs, see the Apache bug database and known bugs pages. Many common configuration questions are answered in the Apache FAQ.

Development has slowed down to prepare for the release of Apache 1.3. During the beta release cycle Apache is in a "feature freeze" where no major new features will be added.

Fix for Apache Getting into Child Loop

On Unix, if a serious error occurs within a child Apache process, the child logs an error and exits. The parent will notice that it has exited, and depending on the load and settings of MaxSpareServers and MinSpareServers, may create a replacement child. This provides reliability against problems such as modules causing a child to exit unexpectedly. However there are some conditions, such as configuration errors or lack of resources, that will cause all children to exit. The parent then replaces them with new ones, which then die, only to be replaced again. This leads to a high load on the server, and an error log full of the same error message.

From the next beta, the Apache child processes will exit with different status values, which tell the parent whether to continue, or exit. This means that serious errors, noticed by a child process, will be propagated to the parent and will not cause an infinite loop of child creation.

C++ Protection

The current version of Apache does not compile cleanly with some C++ compilers in C++ mode. This can make it difficult to write modules in C++. From the next beta release various changes have been made to make Apache work better with C++ compilers. For example, all the header files now include the "C" wrapper:

  #ifdef __cplusplus
  extern "C" {
  #endif

  ...

  #ifdef __cplusplus
  }
  #endif

In addition, the pool typedef is now also available as the name ap_pool, so that C++ modules can avoid the confusion between pool the structure and pool the typedef.


Apache's Use Continues to Increase

In the May 1998 Netcraft Web Server Survey Apache's market share continues to increase. It was up 0.41% over April's survey, meaning Apache is running on 48.26% of surveyed Internet sites. Taking into account the various other servers based on Apache but called other names, the market share is 52.75%, up from 51.45% last month.

To help study the use of Apache on NT and Unix, the next beta will probably include the ability to put the server type (e.g. "Unix" or "Win32") on every response.