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 connections.
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 or not.
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
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 each possibility.
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.
It should be noted that connecting directly to the server from a TIP or an equally narrow-minded TELNET-protocol user program can result in meaningless attempts at option negotiation being sent to the server, which will foul up the command line interpretation unless the server knows enough to filter out IAC's and perhaps even respond negatively (IAC WON'T) to all option commands received. This is a convenience but is not at all required, since normally the user side is just an extended NAME/FINGER type program.
And finally a little background:
The FINGER program at SAIL, written by Les Earnest, was the inspiration for the NAME program on ITS. Earl Killian at MIT and Brian Harvey at SAIL were jointly responsible for implementing the protocol just described, and Greg Hinchliffe has recently brought up a similar server for SRI-KA and SRI-KL.
Note: it is possible for some lines of the actual output to exceed 80 chars in length. The handling of such lines is of course dependant on the particular user program; in these examples, lines have been truncated to 72 chars for greater clarity.
Three examples with a null command line:
Site: MIT-AI Command line:
-User- --Full name-- Jobnam Idle TTY -Console location- XGP O Xerox Graphics Printer XGPSPL T24 Datapoint Near XGP (9TH) FFM U Steven J. Kudlak HACTRN T41 Net site CMU-10A KLH + Ken Harrenstien F T42 Net site SRI-KL ___013 - Not Logged In HACTRN 1:26.T43 DSSR UNIX x3-6048 (MIT-* CWH U Carl W. Hoffman E 4.T50 919 Very Small Data Bas* CARL A Carl Hewitt HACTRN 5:03.T52 813 Hewitt x5873 APD M Alexander Doohovskoy XGP 1:52.T54 912 9th Floor Lounge x6* JJK T James Koschella E T55 824 Hollerbach, Levin, * KEN L Kenneth Kahn E T56 925 Moon (Tycho under) *
Site: SAIL Command line:
Person Job Jobnam Idle Terminal DAN Dan Sleator 46 MACLSP DM-3 150/1200 modem 415 49* DEK Don Knuth 3 E 3. tv-55 205 Library 20 PI 2 TV-55 205 Library ES Gene Salamin 44 SD MC TV-40 223a Farmwald JJ Jerrold Ginsparg 11 TELNET DM-0 150/1200 modem 415 49* JMC John McCarthy 1 FINGER . detached 12 E 2. IML-15 McCarthy's house KRD Randy Davis 42 AID 7 TV-52 203 Allen LES Les Earnest 23 TEMPS 2. DM-1 150/1200 modem 415 49* ME Martin Frost 17 E 3 tv-46 220 Filman, Frost 31 E TV-46 220 Filman, Frost PAM Paul Martin 9 E TV-106 251C King, Levy, Martin ROD Rod Brooks 37 MACLSP 3 TV-117 250C RWG Bill Gosper 30 SD MC TV-34 230e Robinson TV-67 213 Kant, McCune, Steinbe* RWW Richard Weyhrauch 39 E TV-42 214 Weyhrauch SYS system files 6 FINGER PTY122 job 5 Arpanet site AI*
KLH + Ken Harrenstien Last logout 10/16/77 13:02:11 No plan.
Site: MIT-MC Command line: cbf
CBF M Charles Frankston Not logged in. Plan: I'll be visiting another planet til about December 15. If anyone wants to get a hold of me transmit on some fundamental wavelength (like the radius of the hydrogen atom).
Site: MIT-MC Command line: smith
BRIAN A Brian C. Smith Last logout 11/24/77 08:02:24 No plan. DBS T David B. Smith Last logout 12/03/77 11:24:01 No plan. BPS T Byron Paul Smith Not logged in. No plan. GRS U Gary R. Smith Last logout 12/12/77 18:43:19 No plan. JOS S Julius Orion III Smith Last logout 11/29/77 06:18:18 No plan. $PETE M PETER G. SMITH, Not logged in. No plan. IAN L Ian C. Smith Not logged in. No plan. AJS D Arnold J. Smith Last logout 12/09/77 14:31:11 No plan.
Site: SU-AI Command line: smith
"SMITH" is ambiguous: RS Bob Smith DAV Dave Smith JOS Julius Smith LCS Leland Smith
Person Job Jobnam Idle Line Room Location JBR Jeff Rubin 16 COPY 27. TV-43 222 Rubin TV-104 233 hand-eye table
Site: SU-AI Command line: bh
Person Last logout BH Brian Harvey 22:49 on 14 Dec 1977. Plan: ^O08-Oct-77 2156 BH ^Y12257 (1-Jul-78) Weekdays during the day I'm usually unreachable; I'm either at S.F. State or at Benjamin Franklin JHS in San Francisco, but neither place is recommended for leaving messages. Evenings and weekends I'm generally home (55) 751-1762 unless I'm at SAIL. I log in daily from home.