[6918] in www-talk@info.cern.ch

home help back first fref pref prev next nref lref last post

CERN LIBRARY OF COMMON CODE 3.0pre2 AVAILABLE

daemon@ATHENA.MIT.EDU (Henrik Frystyk Nielsen)
Fri Dec 2 16:21:42 1994

Date: Fri, 2 Dec 1994 21:18:23 +0100
Errors-To: listmaster@www0.cern.ch
Reply-To: frystyk@ptsun00.cern.ch
From: frystyk@ptsun00.cern.ch (Henrik Frystyk Nielsen)
To: Multiple recipients of list <www-talk@www0.cern.ch>


			    *  *  *  *  *

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

                            *  *  *  *  *

This pre-release is the first public version of the CERN Library with
support for non-blocking, interruptible multithreaded I/O. It is to be
considered as a beta release as it contains a significant amount of
modifications compared to the last version (2.17). The plan is to keep
up with modifications and steadily release improved versions of the
Library continuously until a desired level of stability and
functionality is reached.

The CERN Line Mode Browser is also released in order to show how the
multithreaded functionality can be enabled. The method used in the
Line Mode Browser is not limited to character-based clients but can
support GUI clients as well.

NOTE: The Library is not compatible with the CERN server 3.0 and it
should NOT be linked with this application. A later release of the
CERN server will support the current Library.

This release is also the first release of source code which is covered
by the new CERN copyright statement. The statement is published in the
file COPYRIGH - truncated to 8 bytes :-( and is a part of the
distribution file. It can also be read in hypertext format from

        http://info.cern.ch/hypertext/WWW/Conditions/CERNFreeofCharge.html

We encourage everybody to study this statement - questions are welcome!

CERN Common Code Library 3.0pre2 is available as source code from:

        ftp://info.cern.ch/pub/www/src/WWWLibrary_3.0pre2.tar.Z

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:

        http://info.cern.ch/hypertext/WWW/Library/User/Platform/Platform.html

Diffs and old versions are available at

        ftp://info.cern.ch/pub/www/src/old
        ftp://info.cern.ch/pub/www/src/diffs

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

        http://info.cern.ch/hypertext/WWW/Library/Status.html and

Programmer's Guide is available at

        http://info.cern.ch/hypertext/WWW/Library/User/Guide/Guide.html

The documentation has been modified significantly since the last
release. New ideas and comments are welcome!

The address to send email about CERN Library is:

        libwww@info.cern.ch

PS: I will be away the next week as I am attending the IETF meeting in
    San Jose and will probably not be able to answer any mail.

-- cheers --

Henrik

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

CERN Library 3.0pre1 Release Notes

New or 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

CERN Library 3.0pre2 Release Notes

* 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 ** 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

Have fun!

--
        Henrik Frystyk Nielsen              H&kon W. Lie
        frystyk@info.cern.ch                howcome@dxcern.cern.ch
        + 41 22 767 8265                    + 41 22 767 8583

        Frederick Roeber                    Phill Hallam-Baker
        roeber@info.cern.ch                 hallam@alws.cern.ch
        + 41 22 767 3755                    + 41 22 767 8072

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


home help back first fref pref prev next nref lref last post