CERN Library 3.0 Release Notes
This release is 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) in the distribution packet
or in hypertext format.
More Information
Other pages of interest are:
CERN Library 3.0, Mar 21 1995
Many of the modifications and new features are mentioned under the
pre-releases.
- 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
problems.
- 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
- and a lot of other stuff...
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
Henrik Frystyk, libwww@w3.org, Marts 1995