-*-text-*-
This is Prospero release Beta.5.1

Installation instructions can be found in the file INSTALLATION_s for
the client and server, or INSTALLATION_u for the client only.

You must compile it using ANSI C, since it makes use of the ANSI C
variable-length argument list facilities and of the ANSI prototypes.
A future release may be compilable under both ANSI and traditional C,
using a conversion program.  If you feel like modifying the ansi2knr
conversion program to perform such a conversion, we would be delighted
to hear from you.

Supported: This release has been tested on:

 Sun3s and Sun4s running SunOS version 4.1.1 -- No known problems

 HP 9000 series 700 workstations running HPUX version 8.0.5
        -- Clients and server have been tested
        -- Known Problem: the directory reading parts of the
           compatability library do not work yet.  You should not
           install our version of 'ls' on such machines.

 MIPS little-endian processor running Ultrix Version 4.2A -- No known problems

 We have received patches for the server for the IBM RS6000 under AIX
 and merged them in, but do not have access to one of these machines
 in order to test them ourselves.  The compatability library will not
 compile under AIX.

Known Compilation Warnings:

 * A few functions in the compatability library will report errors like:
    "warning: argument passing of non-const * pointer from const *"
   Ignore this warning.

 * Under some versions of ULTRIX, spurious compilation warnings are
   generated about NULL being redefined.  If you get these messages,
   you can add the flag  
	-DCONFLICT_BETWEEN_DEFINITION_OF_NULL_IN_SYS_PARAM_H_AND_STDDEF_H
   to the definition of MACHDEF in the top-level Makefile.  This will
   eliminate most (although not all) of the warnings.  These warnings
   can be safely disregarded.

 * On systems that prototype the argument of wait() as an integer
   (HP-UX, for example), you'll get warnings about the wrong argument
   type being passed to wait().  Ignore them.
        

Changes between Alpha.5.1 and Beta.5.1:

One bug fix: The server's CREATE-DIRECTORY command used to reuse
directory names even if there were still active links to those
directories.  It now generates new unique names.  As a result, the
following sequence will no longer destroy the contents of the new
directory tlink:

        vmkdir test
        vln some-file test/some-file
        vln test tlink
        vrm test
        vmkdir test

Changes between Alpha.5.0 and Alpha.5.1:

A special stripped-down FTP only version of the release is now
available, for sites that want to publish their anonymous FTP archive
areas through Prospero and don't want to worry about the full gamut of
configuration options.

The user-level name format has been enhanced.  Special characters in
user-level names ('#', ':', '/', '(', ')', and now '\') can be quoted
by preceding them with a backslash ('\').  This change will be useful
as more new databases with unusual names are integrated into the
propero naming network.  The library routines p_uln_index() and
p_uln_rindex() have been added to help in manipulating the new name
format.

get_vdir() now takes a pointer to a list of tokens as its acomp
argument instead of a single string with slash separating the multiple
components.   This makes the code much cleaner and  solves the problem
of get_vdir() reading  files whose user-level names contain slashes.  
A similar change has been made to the database function code on the server.

The code sending names across the network has been improved; Spaces in
file names sent across the network still occasionally caused problems
in the Alpha 5.0 release; they no longer do in Alpha 5.1.  

A new type of link has been added: INVISIBLE links.  You can make them
by giving the new '-i' option to vln.  You can list them by giving the
new '-i' option to vls.  They are just like dot files in UNIX, except
that their names can have any format.

A new LOCAL access method has been added.  Along with it is a new
definition in pserver.h called SHARED_PREFIXES.  This definition,
among other things, makes it very easy to retrieve files through NFS
on systems that run an automount demon.

VGET can now retrieve files using any access method.  VGET used to not
know about AFS or NFS.

The psite.h file now also contains a new option for special
applications, PCOMPAT_SUPPORT_FTP.  If defined, routines linked with
the pcompat library (such as our version of CAT) will prompt for an
FTP username and password if necessary in order to access a file.  In
other words, they, too, can retrieve with any access method.

Some unusual cases involving forwarding of links and expansion of
union links have been fixed.

The server logging has been improved slightly.

The protocol has been extended so that it is easier to add new types
of FIELD attributes and so that multiple-component names are sent in a
cleaner fashion.  Alpha 5.0 clients continue to work, as do pre-5.0 clients.

AIX support for the server has been added.

CHANGES between Beta.4.2 and Alpha.5.0:

This release speaks version 5 and version 1 of the Prospero protocol.
Previous releases have all spoken only version 1.  The new server is
backwards-compatable with clients speaking the previous version
(version 1) of the prospero protocol.  This is described in greater
depth in the document server/COMPATABILITY.  The clients only speak
version 5 and will not work with servers still speaking only 
version 1.  There have been many updates in the new version of the
protocol. 

This release can be configured to perform authentication of users
using Kerberos version 5.  Version 5 is still experimental; version 4
is not supported.

This release supports Archie 3 servers in addition to the older Archie 2.

Quoting of names internally in the Prospero protocol is now fully
supported (it was not in previous versions of Prospero).  Therefore,
host-specific object names may now have spaces or other strange
characters in them, as may attribute names and values and filenames.

This release includes support for PREDEFINED filters that run on the
server side.  Such filters solve the security problems that have
plagued filters in the past.  A later release will come with a number
of predefined standard server and client

This release includes support for remotely modifying link and object
attributes with the library routines pset_at() and pset_linkat() and
the user program SET_ATR.   

VLN now handles external links rather differently from the way it used
to.  To make an external link to a file reachable by anonymous FTP,
type:

        vln -e AFTP hostname name-on-that-host BINARY new-name
or
        vln -e AFTP hostname name-on-that-host TEXT new-name


Until we finish revising the user's manual, contact us with questions
about the new vln and about set_atr.

AF has not been ported to the new release and will probably never be.
Filters have changed quite a bit.  You can add filters to links by
using the SET_ATR program with the -linkprec and -filter options to
modify the FILTER attribute on the link of interest.

Client developers should note that some of the fields in some of the
structures have been renamed or changed in format.  FILTER and PATTRIB
structures have been introduced.

See the file doc/v5.announcement for a discussion of additional
changes. 

This release of Prospero includes a standalone client to query archie
servers.  It is standalone in the sense that, once compiled, it does
not require Prospero to be installed on the host from which it is to
be used.  To build the Archie client, first build Prospero (either
with or without the compatibility library), then change to the user
subdirectory and type 'make archie'.

This release also includes an alternative ls.  To compile first build
Prospero (either with or without the compatibility library), then
connect to the user subdirectory and type make als.  als is still
under development by Steve Cliffe (steve@cs.uow.edu.au).  Please send
any comments or bug reports related to als to him.  Eventually, the
vls command will be replaced by als.
