The basic Archie system is primarily concerned with the location, retrieval and collation of data on the network and does not explicitly define a method to serve this information to the end-user. However, a close relationship between Archie and the Prospero Virtual System exists: all of the most popular freely-available Archie clients as well as those provided by Bunyip use the Prospero protocol to communicate with a modified Prospero server. This server allows users to search and access the various Archie catalogs.

The Archie system includes a Prospero server, modified from the freely-available version, to accommodate many of the new features that Archie offers. The directory contains the complete range of pre-compiled Prospero binaries that are supplied for your convenience.

The Prospero binaries that are supplied have been modified based on the directory structure in the Archie distribution and are rooted in the directory.

If this structure is changed, the system will need to be recompiled. Please check the Prospero configuration files to make sure that they are correct for your installation.

Configuring the server

The Archie/Prospero server needs to be configured before it is started.

Configuring dirsrv for the catalogs

Before you start the server, you may need to modify the dirsrv configuration file, /etc/catalogs.cf. This file tells dirsrv the catalogs to serve to the outside world and where they reside. It has the following format:

The name of the catalog. Now anonftp !

The type of catalog, For the moment this is always archie.

The way this catalog is accessed. See text below.

Pathname, relative to /db of where this catalog resides.

For example, here is the default catalogs.cf file that comes with the Archie system distribution.

Note that comments can be placed in the file with the use of a “#” character. The comment continues from that character to the end of the current line. Any configuration line may be continued on to the next line with the use of a “
” character at the end of the line to be continued.

Starting the server

The following line may be added to the /etc/services file (or to the appropriate NIS file, if it is running on your host). However, the server will operate without this line being present.

To allow the Prospero server to start whenever the Archie server machine is rebooted, the following command should be added to the end of the /etc/rc.local file on the Archie server host.

where is the full path of Archie home directory.

You may also start the Prospero server manually by issuing the pstart command from the command line. If a version of the program is already running, an error message will be displayed and the new version will not start.

The pstart program should be set to have the Archie group as its group. This can be achieved as follows:

This will normally be done by make when initially installing the system.

The pstart process is responsible for starting the program, dirsrv which actually performs the queries. This program must not be renamed, or else it will not be able restart automatically in case of failure.

It is possible in theory simultaneous heavy update and query loads will cause the dirsrv program to fail. In general, it’s best to plan catalog updates for off-peak query hours.

The dirsrv log files

The dirsrv program writes its logging information to the file . This file contains information about the general operation of the server (startup times, errors encountered etc.) and the user queries processed. Lines containing the string ARCHIE/MATCH signify searches in the anonftp catalog. See the manual sections in the catalog for a detailed description of the syntax of these log entries.

The Message of the day

The administrator can set a “Message Of The Day” on the Prospero server via the use of the padmin command found in the directory. This message will be available to all remote Archie (Prospero) clients and is normally displayed by the telnet and email clients for the anonftp catalog supplied with the Archie distribution. You can either prepare a file beforehand containing the message that you want installed or you can type it on the command line. You then issue the command as the superuser (root):

If you do not redirect the input the program will prompt for the message on the command line and read it in from stdin. You may wish to put this line in your file as the MOTD is only set through the padmin command will not be “”remembered” between host reboots or crashes.

The Log file

The dirsrv process logs client requests to the file . Lines containing the string ARCHIE/MATCH signify searches of the anonftp catalog, while entries with ARCHIE/HOST contain queries related to the telnet-client list command. The syntax of the two entries are described below. Note that the ‘/’ character acts as a separator in the Prospero system.

The MATCH request

A typical anonftp catalog search query is (this is split here across two lines for readability).

4-May-94 19:08:03 127.0.0.1(root)[ggB(P53.3Mar94)] - L ARCHIE/MATCH(15,100,100,0,=)/public_access *

|l|p4in| Field Contents & Description

4-May-94 & Date of query

19:08:03 & Time of query (local)

127.0.0.1 & IP address of host where query originated. Note that for the telnet and email anonftp catalog clients the will ususally be 127.0.0.1 (localhost).

(root) & Name of user sending the query. For the telnet and email clients this will normally be archie. If the email is being run in “interactive” (not batched) mode, this user will be daemon.

[ggB(P53.3Mar94)] & Client ID. All Prospero-based clients are allocated by the Prospero group (info-prospero@prospero.isi.edu) a unqiue identifier. This identifier is changed with each new version of the client.

ARCHIE & Specifies to Prospero that this query is intended for the Archie subsystem.

MATCH & Search of the anonftp catalog

(15,100,100,0,=) & Paramters to the search. The first 3 values set the maxhits, maxmatch, and max_hitspm variables respectively. The 4th value (“0”) is the “offset”, currently unused. The final charater specifies the type of search to be performed. Possible values and meanings are:

= ēxact
R regex
r exact_regex
X string-only regex
x string-only exact_regex
C subcase
c exact_subcase
K string-only subcase
k string-only exact_subcase
S sub
s exact_sub
Z string-only sub
z string-only exact_sub
n string-only exact


“public_access” & String to be searched for

The HOST request

The HOST Prospero request is used to perform both the telnet-client list as well as the “directory expansion” feature found on some Archie clients (notably xarchie). The function performed is determined by the form of the final argument: if it is a regular expression the list function is carried out, otherwise the argument is taken as the host and pathname of a directory to be expanded. HOST commands have the following syntax:

2-May-94 01:32:23 132.206.35.4(suzie)[B42E] - L ARCHIE/HOST/sequoia.ccsd.uts.edu.au/pub

Field Contents Description
2-May-94 Date of query
01:32:23 Time of query (local)
132.206.35.4 IP address of host where query originated. Note that for the telnet and email anonftp catalog clients the will ususally be 127.0.0.1 (localhost).
(suzie) Name of user sending the query.
Client ID.
ARCHIE Specifies to Prospero that this query is intended for the Archie subsystem.
HOST list or “directory expansion”.
sequoia.ccsd.uts.edu.au Hostname to be expanded. If this value contains regular expression characters (such as “*” or ‘]’) then the names of all sites matching that expression are returned (the list command).
pub/xntp Directory pathname to be expanded. That is all files and subdirectories contained within the given directory (if it exsits) will be returned.