W3C home > Mailing lists > Public > www-talk@w3.org > March to April 1995

ANNOUNCEMENT of Library of Common Code 3.0

From: Henrik Frystyk Nielsen <frystyk@www5.cern.ch>
Date: Thu, 23 Mar 1995 15:33:18 --100
Message-Id: <9503231433.AA08664@www5.cern.ch>
To: www-talk@w3.org, www-announce@w3.org

			    *  *  *  *  *

  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 official 3.0 release of the Library of Common Code
from CERN. The release is the result of three previous pre-releases and
has now reached a stable state which is the reason for this
release. Thanks for the many contributions! The list of new features,
bug fixes etc. is very long, but most of it can be found in the
Programmer's Guide mentioned below. Some of the most importants features
is a multithreaded HTTP module and a initial port to Windows/Windows NT.

As usual, the CERN Line Mode Browser is also released in order to show
how the library can be used. This release is described in its own

The Library is copyrighted by CERN and the copyright statement is
available in the source destribution file.

NOTE: The CERN server is NOT compatible with this version of the
Library, but must be linked with version 2.17 which is also available
from our source archives.

CERN Common Code Library 3.0 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, AIX, Windows 3.1 and but look also at
the page of supported platforms at:


Here you will find many hints and ideas about the specific platforms.
Windows people should look at this page for more information on the
Windows port.

Diffs and old versions are available at



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

        http://www.w3.org/hypertext/WWW/Library/Status.html and

Programmer's Guide is available at


The address to send email about the Library is (note the new domain name)


This is also the last release that I will make from CERN. I am going
to join the W3C team at MIT starting next week. Yo!

-- cheers --


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

CERN Library 3.0 Release Notes

Many of the modifications and new features are mentioned under the

 * Changed all float to double in order get it consistent with the
   working floating type in C

 * Fixed problems with memory in HTML.c

 * Introduced definition of errno constants for WIN32,
   as WinSock doesn't define them using BSD notation

CERN Library 3.0 Prerelease 3, Mar 10 1995

New or Changed Features

 * All library include files which contains public information for
   applications are now contained in the single include file WWWLib.h
   which is the only one necessary PLEASE DON'T USE ANYTHING ELSE!!!

 * Changed TRACE messages so that the target is the macro TDEST and
   not stderr. This means that on platforms that don't support stderr,
   TRACE messages can be redirected to a local file.

 * Due to the PC Port some modules (definition and declaration files)
   have changed names so that the max length is 8 characters:


 * Move EnableFrom to HTAccess module. This variable determines
   whether the HTTP header From: should be generated. The default
   value is off

 * Sockets are no longer assumed to be small, non-negative integers,
   but uses macros. This should ensure portability to Windows NT.

 * Introduced socerrno and errno so that WinSock can use its own
   definition whereas `local' errno can still use the well-known version.

 * Introduced error_stream as field in HTRequest structure. All
   information contained in HTTP responses which don't naturally contain
   a body entity, for example redirection codes (3xx) and client error
   codes (4xx) will be put down this stream so that it can be put into a
   debug window.

 * HTNewsHost is now a local variable in the HTNews module. Use
   HTGetNewsHost and HTSetNewsHost to set and get the current value. The
   news module will be rewritten in the near future as it has many

 * The HTTP module understands all HTTP/1.0 return codes and is more solid

 * Many portability problems has been solved and optimized. Most
   system dependent things are now put into
   tcp module

 * Interface to CSO name server made nicer - generates correct HTML

Bug Fixes

 * file:// no more tries ftp:// if host=localhost

 * Improved proxy support and fixed bug when reloading a document from a proxy

 * Bug fixed in HTGetHostName() which didn't include a dot <.>;

 * Bug fixed if UserID/passwd was not correct and don't want to retry

 * HTErrorAdd and HTErrorSysAdd no always return HT_ERROR

 * Fixed bug in HTGetDomainName when no domain name is present at all

 * Add output_flush to request structure

 * Uses IOCTL as a macro now - not fcntl

Library 3.0 Prerelease 2, Dec 2 1994

 * Introduced memory cleanups from Eric Sink into HTLibTerminate()

 * Now the client can provocate a call to HTEventRequestTerminate()
   even when the request never enters the eventloop. This is necesary so
   that the client can cancel busy icons, spinning globes etc.

 * Introduced EVENT_TERM as return code for the HTEventHandler function

 * HTEventHandler() now has a double pointer so that the request
   pointer can be modified from the client

 * Fixed bug in HTSearch() and HTLoadRelative() where wrong return
   code was returned (BOOL instead of int)

 * Introduced BlockingIO field in the request structure to override
   the the mode registered in the protocol structure. This can be used as
   an easy way to make blocking I/O

Library 3.0 Prerelease 1, Nov 26 1994

New and Changed Features

 * Introduced the function HTLibInit() and HTLibTerminate() which
   MUST be called when the application starts up and terminates.

 * Introduced the modules HTThread and HTEvent. HTEvent is the client
   interface when using multithreaded functionality and HTThread is the
   internal socket management

 * All __STDC__ defines now concentrated to HTUtils.html where it is
   called _STANDARD_CODE_ so that _cplusplus also handles this

 * `new' and `template' not used a names anymore (confuses C++)

 * Removed from field in HTRequest structure. This is now handled by
   the functions HTGetMailAddres and HTSetMailAddress and the flag
   HTEnableFrom in the HTTP module.

 * Changed HTSetMailAddress so that a call with parameter equals NULL
   or "" clears the contents of the mail-address.

 * The number of parameters to Streamstack function is now compatible
   with the arguments to a stream converter, so that we don't loose any
   information while putting up the stream stack.

 * HTOutputSource variable is removed. You should use WWW_SOURCE in
   the request structure

 * HTGuess stream is a a converter compatible stream so that it
   actually can be setup as a converter

 * The stream methods `abort' and `_free' now returns int instead of
   void. On success from these methods `_free' returns 0 and `abort'
   return EOF

 * Taken HTEscape and HTUnescape and put them into the HTEscape
   module. The functionality is the same but now they can be used in
   utility programs without linking in the whole Library

Bug Fixes

 * Removed bug in WAIS module which caused a lot of core dumps

 * Removed bug in format classification from URL suffix in HTGoper
   when the file was plaintext
 * localhost is now recognized again after canonicalization
   in HTLoadFile()

 * WAIS SEARCH now produces proper HTML

 * Max number of lines in WAIS decreased to 200 as 250 (previous)
   dumps core

 * Bug fixed in HTGetHostName() if we must use the getdomainname() function.

 * Added some support for SCO

 * Handling of gopher items of type ERROR (3) changed so no more core
   dumps in server

Have fun!


 Henrik Frystyk Nielsen    H&kon W. Lie                Phill Hallam-Baker
 frystyk@w3.org		   howcome@dxcern.cern.ch      hallam@alws.cern.ch
 + 41 22 767 8265          + 41 22 767 8583            + 41 22 76
Received on Thursday, 23 March 1995 09:33:33 UTC

This archive was generated by hypermail 2.4.0 : Monday, 20 January 2020 16:08:16 UTC