Apache Week
   
   Issue 233, 2nd February 2001:  

Copyright 1996-2005
Red Hat, Inc.

In this issue


Apache Week at LinuxWorld

Apache Week was at the LinuxWorld Conference and Expo in New York this week and looking for everything at the show that mentioned services or support based on Apache. We were suprised at the huge number of companies that were using Apache in some way; embedded into appliances or as part of larger products or offerings. Of particular note were the following announcements:

Borland released their Linux development tool, Kylix, which can be used to directly create dynamic applications for Apache. The tool has specific features designed to accelerate development and can directly produce dynamic shared object Apache modules.

Compaq have produced a number of guides to quickly getting Apache set up with PHP and MySQL on Linux in their ActiveAnswers technical guide.

Covalent Technologies had a number of announcements as they relaunched themselves with a new web site, logo, and second round of VC funding. Their business model is based on providing proprietary closed source add-ons to open source technologies, a "hybrid" model, under which they announced their secure server, commerce server, and managed server products.

O'Reilly released a new web site focusing their open source web development coverage. O'Reilly Network LAMP covers Linux, Apache, MySQL, and Perl technologies.

Red Hat announced their aquisition of Akopia, the developers behind the Interchange e-commerce platform. The Interchange project is being combined with the Apache-based Stronghold server and CCVS payment processing software to form a complete e-commerce solution stack.

Find more coverage of LinuxWorld at LinuxWorld or ZDNet.


Under Development

Despite some last-minute Netware emergencies, Apache 1.3.17 was finally released on Monday. This was quickly followed by a bug report explaining that mod_rewrite was once again misinterpreting rewrite map rules: a problem that first surfaced after the patch for the earlier security bug was released. A fix was submitted by Christopher A. Bongaarts, and this got checked in on Wednesday. Jim Jagielski has proposed that 1.3.18 be released early next week.

There has been a lot of traffic on new-httpd this week about whether Apache 2.0 is ready for a beta release. The prerequisite the Apache group have for a beta release of Apache 2.0 is that the code is running on the production server at www.apache.org. To this end, production testing has continued for short periods of time, and more bugs exposed and fixed. Group members also expressed the desire for a useful mod_status output before a beta, and this culminated in Ryan Bloom checking in a forward-port of the Apache 1.3 mod_status.

Another hot topic on the list was Apache on Windows. Bill Rowe has been working on a new and improved graphical installer for Apache 1.3, and this has received thorough testing from the list members on the many different flavours of Windows. Apache 2.0's current performance on Windows is also under discussion as some fundamental changes to how APR (Apache's portability layer) examines files are being made.


Apache 1.3.17 Released

Apache 1.3.17 was released on 26th January 2001 and is now the latest version of the Apache server. The previous release was 1.3.14, released on the 13th October 2000. See what was new in Apache 1.3.14.

Apache 1.3.17 is available in source form for compiling on Unix or Windows, for download from the main Apache site or shortly from any mirror download site.

This is a bug fix and minor upgrade release, with a few new features. Users should upgrade if they have noticed particular bugs mentioned below or would like to use any of the new features.

Due to security issues any sites making use of the mass virtual hosting module mod_vhost_alias or mod_rewrite prior to Apache 1.3.14 should upgrade as soon as possible.

New features

The main new features in 1.3.17 (compared to 1.3.14) are:

  • The License agreement was updated to the Apache Software License 1.1, the main difference is the removal of the controversial advertising clause which required advertising materials mentioning Apache to include an acknowledgement sentance. From 1.3.17, the minimum requirement is that only the end user documentation included with a distribution (if any) has to contain such an acknowledgement.
  • A new LogFormat directive, %c is available to log the connection status. The field distinguishes between a connection that was aborted before the response was completed, and a completed connection either closed or kept-alive.
  • Apache running on Linux 2.2 kernels now use sysv semaphores instead of a serialised single listener in order to increase performance.
  • There were problems with caching the results of a directory index generated by mod_autoindex. A new option for the IndexOptions directive has been added which will return the Last-Modified date of the directory in order to aid caches. This option will not work on all filesystems however.
  • Shared library creation now works on OpenBSD 2.8
  • Support has been added for BeOS BONE. BeOS BONE is much closer to Unix than BeOS R5.
  • Apache modules on Unix are usually recognised by their .so filename extensions, but on Windows .dll has always been used. Now, Windows platforms also use .so filename extensions for Apache modules.
  • Apache now needs the awk utility script to be compiled from the supplied Makefile.win or the InstallBin project in the Visual Studio IDE
  • On Windows, a new command line option -k config can be used to reset the default options for a named service. These options are also displayed when testing the httpd.conf file with -t. If upgrading Apache from 1.3.14 or earlier you will need to use the syntax apache -k config -n servicename -f conffile to upgrade the service arguments.
  • Cleanups and changes to the Apache makefiles for Windows have been made

Bugs fixed

The following bugs were found in Apache 1.3.14 and have been fixed in Apache 1.3.17

  • HTTP byterange handling code was rewritten so that the syntax (RFC 2616) and 416 error code was handled properly.
  • Content-Length calculations when doing Range header processing are incorrect. This causes problems for example when serving byte-ranged PDF files. PR#6711
  • The mass virtual hosting module, mod_vhost_alias, has had a number of security issues in the past due to it's handling of the Host: header. Although these issues have been fixed, the Host: header checking was too strict and could not handle internationalised DNS for example. PR#6635
  • The processing of the Expect header was not consistant with the HTTP specification. Apache now makes sure that modules have a chance to be able to handle an Expect extension token before returning an error to the client.
  • The recent security fix to mod_rewrite had broken some of the functionality of that module. PR#6671
  • The mod_auth_dbm.c workaround for glibc 2.1 systems failed on Red Hat Linux 7 (which is based on a beta glibc 2.2) as

  • NetWare is a case insensitive file system so all directory and file names are now compared in a case insensitive manner to avoid security holes.
  • Some media types have been updated. PR#6613, PR#4600
  • UnixWare 7 did not work correctly with some DSOs (such as PHP) due to a missing library. PR#6780
  • On Win32 and NetWare, directives using paths with a syntax like c:oo were incorrectly appended to the server root rather than replacing it.
  • RewriteMap truncated the string if the lookup had a syntax error
  • Threads in Netware are now allocated in their own group
  • When using mass virtual hosting the cgi-bin directory was treated specially even if there were no VirtualScriptAlias directives. PR#6829
  • The rotatelogs utility would not work if the destination for the logs was out of space
  • On OS/2 the Etags header changed on every request therefore breaking any caching based on that header
  • The recent performance tweak to Configure broke the DSO detection on Linux, which caused problems when compiling
  • The Mac OS layout has been updated
  • mod_status did not test the refresh value to make sure it was a valid integer. This caused page refreshes at very high speed. PR#5067
  • mod_auth_dbm did not build correctly on Red Hat Linux 7 due to changes in the location of db1 headers
  • Apache would crash with a segmentation fault if a LoadModule directive was incorrectly placed inside a VirtualHost container. PR#6942
  • The proxy module, mod_proxy, did not set a default garbage collection interval time if none was specified in a configuration file
  • Fixes were required for Netware to append the default volume name to paths as well as detect them. PR#5826, PR#6283
Bugs now fixed that only affected the Windows platform include:
  • There were problems with the bundled dbm library, sdbm, which caused the first user added with the dbmmanage Perl script not to be recognised.
  • Apache would hang during logoff or shutdown when run on Windows 2000
  • There were problems with intepreters failing to run cgi scripts that have slash delimiters
  • There was a handle leak problem if a child process failed to be created
  • Apache now flags console processes as services on Win9x platforms in order to avoid them being shut down when a user logs off.
  • Win9x problems were caused when Apache creates a child process to handle CGI scripts. Apache creates a 16 bit CGI process with it's own console window, but this was known to not correctly close it's pipes
  • Incorrect status messages were displayed when starting and restarting Apache as a service on Win9x platforms
  • Not all script interpeters like long path names, so Apache now decides if cgi script paths are to be converted or not.
  • When Apache reads the registry to find the script intepreter it now is able to do environment variable expansion
  • mod_cgi on Win32 and Netware was not always capturing stderr output from scripts. PR#6161

Comments or criticisms? Please email us at editors@apacheweek.com