A new beta release of Apache 1.3 is expected very soon. This
will be version 1.3b6, which replaces the current beta 1.3b5.
This beta is in fact the fourth public beta, not the sixth,
because two versions we never publicly released. This beta
contains bug fixes for the previous betas, and the following
new features:
-
A new way of configuring and installing Apache that looks
like many other free software projects. It can be done from
the command line without editing the
Configuration file.
-
All public functions and variables have been renamed, and a
compatibility header file included to support existing
module (see later in this issue).
-
Much better support for dynamic modules on most Unix
operating systems, and a tool for building modules for
dynamic loading based on an installed Apache configuration.
Users of 1.3b5 should upgrade to 1.3b6 when it is released.
Apache Site: www.apache.org
Release: 1.2.6 (Released 24th March 1998)
(local
download sites)
Beta: 1.3b5 (Released 19th February 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.
These bugs have been
reported in 1.3b5 and are either not fixed, or have not been
reproduced by the Apache developers.
-
On windows, the HSA_REQ_SEND_RESPONSE_HEADER
ISAPI callback function must be passed a string that ends
with a carriage-return linefeed pair. If not, Apache gives
an error. This is as given in the specification of ISAPI,
however the IIS server allows data without a trailing CRLF,
so this could cause some ISAPI extensions which work with
IIS (even though they do not meet the ISAPI specification)
to fail on Apache.
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.
After a long discussion, all the public functions and
variables provided by the Apache API have been renamed. This
was needed to prevent conflicts between function names in
Apache and functions in third-party libraries linked in via
modules. Currently many public Apache functions have generic
names, such as palloc()
and new_connection().
These were going to be optionally hidden by prefixing all
functions with AP_, but
that would have allowed people (and modules) to continue to
use the old names, leading to possible compatibility
problems.
The new solution, which will be in the next beta, is to
prefix all public symbols with ap_. This means, for example,
palloc becomes
ap_palloc. All existing
modules will need updating and recompiling in order to work
with the new names. To make this easier, a compatibility file
will be provided, called compat.h. This file uses
#define's to map the
old names onto the new ones. Modules can just include this
file and will not need to change all the function names
within the module code itself. So it should be sufficient to
place this line near the start of the module
#include "compat.h"
and re-compile (in practise, the module should use the value
of MODULE_MAGIC_NUMBER
(MMN) to decide whether to include this file or not -- see
the list of MMN
values).
However if you want to write a module that uses a function
from a third-party library that has the same name as a
function in Apache from before this renaming, you have two
choices: you could rename all the Apache functions to start
with ap_ and not
include compat.h.
Alternatively you could include compat.h but then undefine the
definition for the function in question and use the new
Apache API name for just this function.
As part of this renaming, some functions which provide
OS-specific functions (such as checking whether a filename is
absolute or relative) have also been renamed. This sort of
function now starts with ap_os_ to indicate that it is
necessary to provide an OS abstraction, not to provide an
Apache-related function. Functions like this include
ap_os_canonical_filaname() and
ap_os_is_path_absolute(). These
functions are also renamed from their original names in
compat.h.
Dynamic loadable modules are now supported on HP/UX systems.
This now brings support for loading modules at start or
restart to Linux, FreeBSD, Solaris, SunOS, IRIX, OSF1,
UnixWare, HPUX and Windows. Systems which are unlikely to be
supported because they do not provide working dymanic loading
function calls are Ultrix and AIX.
Network Magazine has named Apache as the Web Server product
of 1998, in
1998 Products of the Year: Web Server. They summarise the
rise of Apache: "The initial cooperative seed quickly
sprouted into a consortium of contributors who share in the
development and management of the project. The result? A
robust, stable, extremely inexpensive, and constantly
upgraded product that dominated the web server".
Meanwhile, C|Net have named one Apache group member as a "web
innovator" in
The 1st Annual Web Innovator Awards: Brian Behlendorf,
Apache. Once again the volunteer nature of the Apache
group has confused the author, since there is no such thing
as a "leader" of the Apache group (unlike many other free
software projects, which do have a primary person driving the
effort).