AOLserver 4.0.6 released
On behalf of the AOLserver Team, I have the honor of announcing the
latest point release of AOLserver: 4.0.6.
This version is primarily a bug fix release following version 4.0.5.
A summary of changes is provided at the end of this document.
WHAT IS AOLSERVER?
AOLserver is America Online’s Open-Source web server. AOLserver is
the backbone of the largest and busiest production environments in
the world. AOLserver is a multithreaded, Tcl-enabled web server
used for large scale, dynamic web sites.
Visit the project’s website:
HOW CAN I GET AOLSERVER?
Download the source code from SourceForge:
I FOUND A BUG! WHAT DO I DO?
File it in the Bug Tracker at SourceForge:
IS THERE A MAILING LIST? WHERE’S THE USER COMMUNITY?
Yes! There’s an announcements-only and a general discussion mailing
list. Instructions on how to subscribe are here:
There is also a wiki-web set up for AOLserver:
CHANGES SINCE LAST RELEASE?
Keepalive is enabled for response codes other than just 200 OK.
Change to make HTTP request “Host:” header mandatory for HTTP/1.1
connections by returning 400 Bad Request response. Closes SF Bug
Changed virtual server code to use the “hostname” param from the
“ns/module/nssock” section to map the default virtual server based
on the value (hostname) from the “ns/module/nssock/servers” section,
when the “Host:” header is either not specified (HTTP/1.0) or is not
found in the virtual server table. Closes SF Bug #812036.
conn->headers can be NULL causing segfault. Closes SF Bug #990439.
Define ENOTSUP on OpenBSD 3.5. Closes SF Bug #985076.
Ns_GetMimeType() was returning defaultType instead of noextType if
the path contained a directory with a “.” but the filename component
had no extension. Closes SF Bug #739049.
Enable ADP/Tcl code to override Last-Modified: header from
ns_respond when -headers AND -file are specified. Closes bug
Lots of refactoring of ns_respond code to remove duplication.
ns_eval of script containing comments (i.e., lines starting with
“#”) cause an error because $args is a list, which gets evaluated
differently than a plain string script. Closes SF Bug #833940.
Ensure that supplementary groups from /etc/group are set if -u
username is specified, or dropped if a uid is specified so that the
nsd doesn’t run with root’s supplementary groups. Closes SF Bug
Trivial: eliminate one compiler warning.
Make the Tcl_Panic() message from Ns_TlsGet() and Ns_TlsSet()
include the full function name to aid in debugging.
Ensure synchronous signals are handled correctly under LinuxThreads.
Possible fix for SF Bug #982955.
Fix build on alpha arch, removing extra INT64 typedef. Closes bug
ns_log can now log to a custom logger as well.
Unnecessary test for data != NULL actually caused part of bug
#971016 when fastpath.cache=false and fastpath.mmap=true and the
file requested is zero bytes, mmap() returns 0 which gets passed
along as data == NULL, causing ReturnCharData() to not flush the
queued headers. Removing the if is safe as Ns_WriteConn will simply
flush any queued data.
If nsend == 0, we would never call Ns_WriteConn to flush the queued
headers. This could happen when we’re sending zero bytes of data as
a response. This fixes bug #971016 in the case where
fastpath.cache=false and fastpath.mmap=false and a zero byte file is
One-liner fix for sending Content-Length header for content of zero
bytes. Closes SF Bug #971016.