# CERN Library 2.17 Release Notes

## More Information

Other pages of interest are:

- Internals and Programmer's Guide
- Working List
- Implementation Specifications
- CERN WWW Software
- Change History

## New and 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 penalty 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 like

      	http://info/ = http://www.w3.org:80/ = http://INFO.CeRn.CH/ =
      	http://www.w3.org. = http://www.w3.org/

  now all are treated identical. This is useful 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
  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 retrieval. 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 0.0.0.0 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 chopped 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 authentication)
- 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)