NWG/RFC# 742 KLH 30-Dec-77 08:31 42758
Network Working Group K. Harrenstien
Request for Comments: 742 SRI-KL
NIC: 42758 30 December 1977
This note describes the Name/Finger protocol. This is a simple
protocol which provides an interface to the Name and Finger programs
at several network sites. These programs return a friendly,
human-oriented status report on either the system at the moment or a
particular person in depth. Currently only the SAIL (SU-AI), SRI
(SRI-(KA/KL)), and ITS (MIT-(AI/ML/MC/DMS)) sites support this
protocol, but there are other systems with similar programs that
could easily be made servers; there is no required format and the
protocol consists mostly of specifying a single "command line".
To use via the network:
ICP to socket 117 (octal, 79. decimal) and establish two 8-bit
Send a single "command line", ending with <CRLF>.
Receive information which will vary depending on the above line and
the particular system. The server closes its connections as soon as
this output is finished.
The command line:
Systems may differ in their interpretations of this line. However,
the basic scheme is straightforward: if the line is null (i.e. just
a <CRLF> is sent) then the server should return a "default" report
which lists all people using the system at that moment. If on the
other hand a user name is specified (e.g. FOO<CRLF>) then the
response should concern only that particular user, whether logged in
Both ITS and SAIL sites allow several names to be included on the
line, separated by commas; but the syntax for some servers can be
slightly more elaborate. For example, if "/W" (called the "Whois
switch") also appears on the line given to an ITS server, much fuller
descriptions are returned. The complete documentation may be found
at any time in the files ".INFO.;NAME ORDER" on MIT-AI,
"FINGER.LES[UP,DOC]" on SU-AI, and "<DOCUMENTATION>FINGER.DOC" on
NWG/RFC# 742 KLH 30-Dec-77 08:31 42758
SRI-KL, all freely accessible by FTP (with the exception of SRI-KL,
where TOPS-20 requires the "anonymous" login convention).
Allowable "names" in the command line should of course include "user
names" or "login names" as defined by the system, but it is also
reasonable to understand last names or even full names as well. If a
name is ambiguous, all possible derivations should be returned in
some fashion; SAIL will simply list the possible names and no more,
whereas an ITS server will furnish the full standard information for
Response to null command line - "default" listing:
This is a request for a list of all online users, much like a TOPS-10
or TENEX "systat". To fulfill the basic intent of the Name/Finger
programs, the returned list should include at least the full names of
each user and the physical locations of their terminals insofar as
they can be determined. Including the job name and idle time (number
of minutes since last typein, or since last job activity) is also
reasonable and useful. The appendix has examples which demonstrate
how this information can be formatted.
Response to non-null command line - "name" listing:
For in-depth status of a specified user, there are two main cases.
If the user is logged in, a line or two is returned in the same
format as that for the "default" listing, but showing only that user.
If not logged in, things become more interesting. Furnishing the
full name and time of last logout is the expected thing to do, but
there is also a "plan" feature, wherein a user may leave a short
message that will be included in the response to such requests. This
is easily implemented by (for example) having the program look for a
specially named text file on the user's directory or some common
area. See the examples for typical "plans".
Anyone wishing to implement such a server is encouraged to get in
touch with the maintainers of NAME by sending a message to BUG-NAME @
MIT-AI; apart from offering advice and help, a list of all sites
with such servers is kept there. It is also suggested that any
existing programs performing similar functions locally (i.e. not as
net servers) be extended to allow specification of other sites, or
names at other sites. For example, on ITS systems one can say
":NAME<cr>" for a local default listing, or ":NAME @SAIL<cr>" for
SAIL's default listing, or ":NAME Foo@MC<cr>" to ask MIT-MC about
Foo's status, etc.
Show full document text