Fork me on GitHub

« Back

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:

http://aolserver.com/

HOW CAN I GET AOLSERVER?

Download the source code from SourceForge:

http://aolserver.com/downloads/aolserver-4.0.6-src.tar.gz

I FOUND A BUG! WHAT DO I DO?

File it in the Bug Tracker at SourceForge:

http://sourceforge.net/tracker/?group_id=3152&atid=103152

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:

http://aolserver.com/lists.php

There is also a wiki-web set up for AOLserver:

http://aolserver.com/wiki/

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 #787728.

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 #879076.

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 #425401.

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 #896962.

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 requested.

One-liner fix for sending Content-Length header for content of zero bytes. Closes SF Bug #971016.