Henrik Frystyk Nielsen (
Mon, 26 Sep 94 18:14:43 +0100

* * * * *

The CERN Common WWW Library is a general code base that can be used
as a basis for WWW clients and servers. It contains code for accessing
HTTP, FTP, Gopher, News, WAIS, Telnet servers, and the local file system.
Furthermore it provides modules for parsing, managing and presenting
hypertext objects to the user and a wide spectra of generic programming

* * * * *

This release is the last major release of the CERN Library based upon a
completely single-threaded data model. It is released to support the
new releases of the CERN server and the Line Mode Browser. The Library is
no longer a part of the CERN Server distribution file but must be down
loaded explicitly from out server. This gives more freedom to put out
new releases of parts of the CERN software from the WWWteam without

CERN Common Code Library 2.17 is available as source code from:

Its is known to compile on Sun4, Solaris 2, HP Snake, NeXT, NeXT-386,
Decstation Ultrix, DEC OSF/1, SGI and AIX, but look also at the page
of supported platforms at:

The library now contains support for a broad stectrum of platform.
PC's are next!

Diffs and old versions are available at

The top-node for documentation on the library is available at and

Programmer's Guide is available at

The current address to send email about CERN Library is:

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

CERN Library 2.17 Release Notes

New or Changed Features:

* The host-cache is now extended so that it tries _all_ IP-addresses
before it fails the request. It always starts with the fastest IP-address.
Different penelty is added to the connect times dependent of the errno
returned from connect().

* In addition to HTSimplify which canonicalizes the URL path, a new
function now canonicalizes the host-part of the URL. This means that URLs

http://info/ = = http://INFO.CeRn.CH/ = =

now all are treated identical. This is usefull for all the caches
based on URLs such like the Server document cache and the hostname cache

* TRACE is now differentiated into a bit flag so that TRACE messages
can be turned on and off for individual groups of messages. This was
necessary as the amount of verbose output was growing too much

* Redirection understands now `URI:' and `Location:'. Implemented
after discussion on www-talk

* Changed 404 Error Message to `Access Forbidden'. The URL is no more
included in the message as it is sensitive information

* FTP client now sends full email address of the user as the password
for anonymous access instead of USER@. This allows access to some servers
which don't accept the old format

* The data connection in a FTP session is now based on the return
value sent by the PASV return code rather than the URL. It is not
always the case that the data connection is on the same host as the
control connection

* UserID and Passwd in FTP URLs can now contain special characters,
like '@' etc.

* The Gopher listings are now slightly lighter and don't contain the
`name' and `files' any more

* Support of Gopher info items. They are treated as normal messages.
The gopher code for this is `i'

* WAIS module now guesses the stream format when TEXT is returned from
the WAIS library as it might be HTML.

* The Protocol modules: FTP, WAIS, and Gopher now produce proper HTML
with <HTML><HEAD> etc. in the beginning

* Added a function that returns the domain name taken from the same
location as HTGetHostName(). The functionality of obtaining current
host names, mail addresses etc. have improved, see HTTCP.html for more

* Introduced the flag HTInteractive in HTAccess.html to tell whether
functions in HTAlert can prompt the User from within the Library or
not. Default is YES.

* The common BUILD for the Line Mode Browser, the CERN Server and the Library
of common code now accepts a command line option:

BUILD linemode | daemon | library

to build a specific component. The default action is to build all three
parts. BUILD is now also provided in a Bourne Shell version

Bug Fixes:

* Fixed memory leak in HTWAIS Doc retrival. However, the functionality
or performance has not changes

* If no host is found in the URL then no attempt is made to connect
to host that is localhost. Some hosts do have an alias for
this address

* Fixed free memory read in redirections. Put redirection counter into
request structure. Now no more than (default) 10 redirections are allowed

* Fixed bug in FTP module to handle really slow hosts in the select
call. The select timed out without the right action taken.

* FTP module choped off the first line of a Windows NT ftp server as
it doesn't send a traditional first UNIX line. Fixed! Well, it _did_
look like UNIX, but no more than that :-(

* Problem in HTTeXGen. Some markups was spread over a new line, and LaTeX
doesn't like that.

* Remove the ACCESS_AUTH define as it is never used anymore (no more
compilation without access autehntication)

* Fixed bug in the ISO Latin 1 translation table in HTML.c. This was a
problem for estonian documents or other with many special characters

* Fixed bug in HTSimplify not skipping host names. HTSimplify is made faster
and is now only called once (both from the server and the client). Before
it was called 2-3 times.

* Bug found in FTP URLs containing UserID and Passwd fixed

* Bug fixed in name generation in client cache

* Removed bug in FTP and IP-rotation on multi-homed hosts. When FTP
server is in PASV mode it sends back a port number on a specific
host. In this case we can't use IP-address rotation.

* Bug with FTP IP-address network order fixed for PASV mode

* Gopher errors (code 3) are now just put as a string as they are not
_real_ error

* Bug fixed in HTWriter.c function flush() where a partial success in
NETWRITE would produce a wrong output (repeated buffer)

        Henrik Frystyk Nielsen              H&kon W. Lie      
        + 41 22 767 8265                    + 41 22 767 8583

Marc Donszelmann Phill Hallam-Baker + 41 22 767 3555 + 41 22 767 8072

-------- World-Wide Web Project, CERN, CH-1211 Geneve 23, Switzerland --------