home *** CD-ROM | disk | FTP | other *** search
/ Internet Info 1997 December / Internet_Info_CD-ROM_Walnut_Creek_December_1997.iso / rfc / rfc1288 < prev    next >
Text File  |  1991-12-19  |  25KB  |  675 lines

  1.  
  2.  
  3.  
  4.  
  5.  
  6.  
  7. Network Working Group                                       D. Zimmerman
  8. Request for Comments: 1288           Center for Discrete Mathematics and
  9. Obsoletes: RFCs 1196, 1194, 742             Theoretical Computer Science
  10.                                                            December 1991
  11.  
  12.  
  13.                   The Finger User Information Protocol
  14.  
  15. Status of this Memo
  16.  
  17.    This memo defines a protocol for the exchange of user information.
  18.    This RFC specifies an IAB standards track protocol for the Internet
  19.    community, and requests discussion and suggestions for improvements.
  20.    Please refer to the current edition of the "IAB Official Protocol
  21.    Standards" for the standardization state and status of this protocol.
  22.    Distribution of this memo is unlimited.
  23.  
  24. Abstract
  25.  
  26.    This memo describes the Finger user information protocol.  This is a
  27.    simple protocol which provides an interface to a remote user
  28.    information program.
  29.  
  30.    Based on RFC 742, a description of the original Finger protocol, this
  31.    memo attempts to clarify the expected communication between the two
  32.    ends of a Finger connection.  It also tries not to invalidate the
  33.    many existing implementations or add unnecessary restrictions to the
  34.    original protocol definition.
  35.  
  36.    This edition corrects and clarifies RFC 1196.
  37.  
  38.    Table of Contents
  39.  
  40.    1.      Introduction  ...........................................   2
  41.      1.1.    Intent  ...............................................   2
  42.      1.2.    History  ..............................................   3
  43.      1.3.    Requirements  .........................................   3
  44.      1.4.    Updates  ..............................................   3
  45.    2.      Use of the protocol  ....................................   4
  46.      2.1.    Flow of events  .......................................   4
  47.      2.2.    Data format  ..........................................   4
  48.      2.3.    Query specifications  .................................   4
  49.      2.4.    RUIP {Q2} behavior  ...................................   5
  50.      2.5.    Expected RUIP response  ...............................   6
  51.        2.5.1.  {C} query  ..........................................   6
  52.        2.5.2.  {U}{C} query  .......................................   6
  53.        2.5.3.  {U} ambiguity  ......................................   7
  54.        2.5.4.  /W query token  .....................................   7
  55.  
  56.  
  57.  
  58. Zimmerman                                                       [Page 1]
  59.  
  60. RFC 1288                         Finger                    December 1991
  61.  
  62.  
  63.        2.5.5.  Vending machines  ...................................   7
  64.    3.      Security  ...............................................   7
  65.      3.1.    Implementation security  ..............................   7
  66.      3.2.    RUIP security  ........................................   8
  67.        3.2.1.  {Q2} refusal  .......................................   8
  68.        3.2.2.  {C} refusal  ........................................   8
  69.        3.2.3.  Atomic discharge  ...................................   8
  70.        3.2.4.  User information files  .............................   9
  71.        3.2.5.  Execution of user programs  .........................   9
  72.        3.2.6.  {U} ambiguity  ......................................   9
  73.        3.2.7.  Audit trails  .......................................   9
  74.      3.3.    Client security  ......................................   9
  75.    4.      Examples  ...............................................  10
  76.      4.1.    Example with a null command line ({C})  ...............  10
  77.      4.2.    Example with name specified ({U}{C})  .................  10
  78.      4.3.    Example with ambiguous name specified ({U}{C})  .......  11
  79.      4.4.    Example of query type {Q2} ({U}{H}{H}{C})  ............  11
  80.    5.      Acknowledgments  ........................................  12
  81.    6.      Security Considerations  ................................  12
  82.    7.      Author's Address  .......................................  12
  83.  
  84. 1.  Introduction
  85.  
  86. 1.1.  Intent
  87.  
  88.    This memo describes the Finger user information protocol.  This is a
  89.    simple protocol which provides an interface to a remote user
  90.    information program (RUIP).
  91.  
  92.    Based on RFC 742, a description of the original Finger protocol, this
  93.    memo attempts to clarify the expected communication between the two
  94.    ends of a Finger connection.  It also tries not to invalidate the
  95.    many current implementations or add unnecessary restrictions to the
  96.    original protocol definition.
  97.  
  98.    The most prevalent implementations of Finger today seem to be
  99.    primarily derived from the BSD UNIX work at the University of
  100.    California, Berkeley.  Thus, this memo is based around the BSD
  101.    version's behavior.
  102.  
  103.    However, the BSD version provides few options to tailor the Finger
  104.    RUIP for a particular site's security policy, or to protect the user
  105.    from dangerous data.  Furthermore, there are MANY potential security
  106.    holes that implementors and administrators need to be aware of,
  107.    particularly since the purpose of this protocol is to return
  108.    information about a system's users, a sensitive issue at best.
  109.    Therefore, this memo makes a number of important security comments
  110.    and recommendations.
  111.  
  112.  
  113.  
  114. Zimmerman                                                       [Page 2]
  115.  
  116. RFC 1288                         Finger                    December 1991
  117.  
  118.  
  119. 1.2.  History
  120.  
  121.    The FINGER program at SAIL, written by Les Earnest, was the
  122.    inspiration for the NAME program on ITS.  Earl Killian at MIT and
  123.    Brian Harvey at SAIL were jointly responsible for implementing the
  124.    original protocol.
  125.  
  126.    Ken Harrenstien is the author of RFC 742, "Name/Finger", which this
  127.    memo began life as.
  128.  
  129. 1.3.  Requirements
  130.  
  131.    In this document, the words that are used to define the significance
  132.    of each particular requirement are capitalized.  These words are:
  133.  
  134.    * "MUST"
  135.  
  136.       This word or the adjective "REQUIRED" means that the item is an
  137.       absolute requirement of the specification.
  138.  
  139.    * "SHOULD"
  140.  
  141.       This word or the adjective "RECOMMENDED" means that there may
  142.       exist valid reasons in particular circumstances to ignore this
  143.       item, but the full implications should be understood and the case
  144.       carefully weighed before choosing a different course.
  145.  
  146.    * "MAY"
  147.  
  148.       This word or the adjective "OPTIONAL" means that this item is
  149.       truly optional.  One vendor may choose to include the item because
  150.       a particular marketplace requires it or because it enhances the
  151.       product, for example; another vendor may omit the same item.
  152.  
  153.    An implementation is not compliant if it fails to satisfy one or more
  154.    of the MUST requirements.  An implementation that satisfies all the
  155.    MUST and all the SHOULD requirements is said to be "unconditionally
  156.    compliant"; one that satisfies all the MUST requirements but not all
  157.    the SHOULD requirements is said to be "conditionally compliant".
  158.  
  159. 1.4.  Updates
  160.  
  161.    The differences of note between RFC 1196 and this memo are:
  162.  
  163.       o the optional /W switch in the Finger query specification was
  164.         mistakenly placed at the end of the line.  The 4.3BSD Finger
  165.         specifies it at the beginning, where this memo now also puts
  166.         it.
  167.  
  168.  
  169.  
  170. Zimmerman                                                       [Page 3]
  171.  
  172. RFC 1288                         Finger                    December 1991
  173.  
  174.  
  175.       o the BNF in the Finger query specification was not clear on the
  176.         treatment of blank space.  This memo is more exacting by
  177.         including an explicit token for it.
  178.  
  179.       o The flow of events in a Finger connection is now better
  180.         defined on the topic of the close of the Finger connection.
  181.  
  182. 2.  Use of the protocol
  183.  
  184. 2.1.  Flow of events
  185.  
  186.    Finger is based on the Transmission Control Protocol, using TCP port
  187.    79 decimal (117 octal).  The local host opens a TCP connection to a
  188.    remote host on the Finger port.  An RUIP becomes available on the
  189.    remote end of the connection to process the request.  The local host
  190.    sends the RUIP a one line query based upon the Finger query
  191.    specification, and waits for the RUIP to respond.  The RUIP receives
  192.    and processes the query, returns an answer, then initiates the close
  193.    of the connection.  The local host receives the answer and the close
  194.    signal, then proceeds closing its end of the connection.
  195.  
  196. 2.2.  Data format
  197.  
  198.    Any data transferred MUST be in ASCII format, with no parity, and
  199.    with lines ending in CRLF (ASCII 13 followed by ASCII 10).  This
  200.    excludes other character formats such as EBCDIC, etc.  This also
  201.    means that any characters between ASCII 128 and ASCII 255 should
  202.    truly be international data, not 7-bit ASCII with the parity bit set.
  203.  
  204. 2.3.  Query specifications
  205.  
  206.    An RUIP MUST accept the entire Finger query specification.
  207.  
  208.    The Finger query specification is defined:
  209.  
  210.         {Q1}    ::= [{W}|{W}{S}{U}]{C}
  211.  
  212.         {Q2}    ::= [{W}{S}][{U}]{H}{C}
  213.  
  214.         {U}     ::= username
  215.  
  216.         {H}     ::= @hostname | @hostname{H}
  217.  
  218.         {W}     ::= /W
  219.  
  220.         {S}     ::= <SP> | <SP>{S}
  221.  
  222.         {C}     ::= <CRLF>
  223.  
  224.  
  225.  
  226. Zimmerman                                                       [Page 4]
  227.  
  228. RFC 1288                         Finger                    December 1991
  229.  
  230.  
  231.    {H}, being recursive, means that there is no arbitrary limit on the
  232.    number of @hostname tokens in the query.  In examples of the {Q2}
  233.    request specification, the number of @hostname tokens is limited to
  234.    two, simply for brevity.
  235.  
  236.    Be aware that {Q1} and {Q2} do not refer to a user typing "finger
  237.    user@host" from an operating system prompt.  It refers to the line
  238.    that an RUIP actually receives.  So, if a user types "finger
  239.    user@host<CRLF>", the RUIP on the remote host receives "user<CRLF>",
  240.    which corresponds to {Q1}.
  241.  
  242.    As with anything in the IP protocol suite, "be liberal in what you
  243.    accept".
  244.  
  245. 2.4.  RUIP {Q2} behavior
  246.  
  247.    A query of {Q2} is a request to forward a query to another RUIP.  An
  248.    RUIP MUST either provide or actively refuse this forwarding service
  249.    (see section 3.2.1).  If an RUIP provides this service, it MUST
  250.    conform to the following behavior:
  251.  
  252.    Given that:
  253.  
  254.          Host <H1> opens a Finger connection <F1-2> to an RUIP on host
  255.          <H2>.
  256.  
  257.          <H1> gives the <H2> RUIP a query <Q1-2> of type {Q2}
  258.          (e.g., FOO@HOST1@HOST2).
  259.  
  260.    It should be derived that:
  261.  
  262.          Host <H3> is the right-most host in <Q1-2> (i.e., HOST2)
  263.  
  264.          Query <Q2-3> is the remainder of <Q1-2> after removing the
  265.          right-most "@hostname" token in the query (i.e., FOO@HOST1)
  266.  
  267.    And so:
  268.  
  269.          The <H2> RUIP then must itself open a Finger connection <F2-3>
  270.          to <H3>, using <Q2-3>.
  271.  
  272.          The <H2> RUIP must return any information received from <F2-3>
  273.          to <H1> via <F1-2>.
  274.  
  275.          The <H2> RUIP must close <F1-2> in normal circumstances only
  276.          when the <H3> RUIP closes <F2-3>.
  277.  
  278.  
  279.  
  280.  
  281.  
  282. Zimmerman                                                       [Page 5]
  283.  
  284. RFC 1288                         Finger                    December 1991
  285.  
  286.  
  287. 2.5.  Expected RUIP response
  288.  
  289.    For the most part, the output of an RUIP doesn't follow a strict
  290.    specification, since it is designed to be read by people instead of
  291.    programs.  It should mainly strive to be informative.
  292.  
  293.    Output of ANY query is subject to the discussion in the security
  294.    section.
  295.  
  296. 2.5.1.  {C} query
  297.  
  298.    A query of {C} is a request for a list of all online users.  An RUIP
  299.    MUST either answer or actively refuse (see section 3.2.2).  If it
  300.    answers, then it MUST provide at least the user's full name.  The
  301.    system administrator SHOULD be allowed to include other useful
  302.    information (per section 3.2.3), such as:
  303.  
  304.       -    terminal location
  305.       -    office location
  306.       -    office phone number
  307.       -    job name
  308.       -    idle time (number of minutes since last typed input, or
  309.            since last job activity).
  310.  
  311. 2.5.2.  {U}{C} query
  312.  
  313.    A query of {U}{C} is a request for in-depth status of a specified
  314.    user {U}.  If you really want to refuse this service, you probably
  315.    don't want to be running Finger in the first place.
  316.  
  317.    An answer MUST include at least the full name of the user.  If the
  318.    user is logged in, at least the same amount of information returned
  319.    by {C} for that user MUST also be returned by {U}{C}.
  320.  
  321.    Since this is a query for information on a specific user, the system
  322.    administrator SHOULD be allowed to choose to return additional useful
  323.    information (per section 3.2.3), such as:
  324.  
  325.             -    office location
  326.             -    office phone number
  327.             -    home phone number
  328.             -    status of login (not logged in, logout time, etc)
  329.             -    user information file
  330.  
  331.    A user information file is a feature wherein a user may leave a short
  332.    message that will be included in the response to Finger requests.
  333.    (This is sometimes called a "plan" file.)  This is easily implemented
  334.    by (for example) having the program look for a specially named text
  335.  
  336.  
  337.  
  338. Zimmerman                                                       [Page 6]
  339.  
  340. RFC 1288                         Finger                    December 1991
  341.  
  342.  
  343.    file in the user's home directory or some common area; the exact
  344.    method is left to the implementor.  The system administrator SHOULD
  345.    be allowed to specifically turn this feature on and off.  See section
  346.    3.2.4 for caveats.
  347.  
  348.    There MAY be a way for the user to run a program in response to a
  349.    Finger query.  If this feature exists, the system administrator
  350.    SHOULD be allowed to specifically turn it on and off.  See section
  351.    3.2.5 for caveats.
  352.  
  353. 2.5.3.  {U} ambiguity
  354.  
  355.    Allowable "names" in the command line MUST include "user names" or
  356.    "login names" as defined by the system.  If a name is ambiguous, the
  357.    system administrator SHOULD be allowed to choose whether or not all
  358.    possible derivations should be returned in some fashion (per section
  359.    3.2.6).
  360.  
  361. 2.5.4.  /W query token
  362.  
  363.    The token /W in the {Q1} or {Q2} query types SHOULD at best be
  364.    interpreted at the last RUIP to signify a higher level of verbosity
  365.    in the user information output, or at worst be ignored.
  366.  
  367. 2.5.5.  Vending machines
  368.  
  369.    Vending machines SHOULD respond to a {C} request with a list of all
  370.    items currently available for purchase and possible consumption.
  371.    Vending machines SHOULD respond to a {U}{C} request with a detailed
  372.    count or list of the particular product or product slot.  Vending
  373.    machines should NEVER NEVER EVER eat money.
  374.  
  375. 3.  Security
  376.  
  377. 3.1.  Implementation security
  378.  
  379.    Sound implementation of Finger is of the utmost importance.
  380.    Implementations should be tested against various forms of attack.  In
  381.    particular, an RUIP SHOULD protect itself against malformed inputs.
  382.    Vendors providing Finger with the operating system or network
  383.    software should subject their implementations to penetration testing.
  384.  
  385.    Finger is one of the avenues for direct penetration, as the Morris
  386.    worm pointed out quite vividly.  Like Telnet, FTP and SMTP, Finger is
  387.    one of the protocols at the security perimeter of a host.
  388.    Accordingly, the soundness of the implementation is paramount.  The
  389.    implementation should receive just as much security scrutiny during
  390.    design, implementation, and testing as Telnet, FTP, or SMTP.
  391.  
  392.  
  393.  
  394. Zimmerman                                                       [Page 7]
  395.  
  396. RFC 1288                         Finger                    December 1991
  397.  
  398.  
  399. 3.2.  RUIP security
  400.  
  401.    Warning!!  Finger discloses information about users; moreover, such
  402.    information may be considered sensitive.  Security administrators
  403.    should make explicit decisions about whether to run Finger and what
  404.    information should be provided in responses.  One existing
  405.    implementation provides the time the user last logged in, the time he
  406.    last read mail, whether unread mail was waiting for him, and who the
  407.    most recent unread mail was from!  This makes it possible to track
  408.    conversations in progress and see where someone's attention was
  409.    focused.  Sites that are information-security conscious should not
  410.    run Finger without an explicit understanding of how much information
  411.    it is giving away.
  412.  
  413. 3.2.1.  {Q2} refusal
  414.  
  415.    For individual site security concerns, the system administrator
  416.    SHOULD be given an option to individually turn on or off RUIP
  417.    processing of {Q2}.  If RUIP processing of {Q2} is turned off, the
  418.    RUIP MUST return a service refusal message of some sort.  "Finger
  419.    forwarding service denied" is adequate.  The purpose of this is to
  420.    allow individual hosts to choose to not forward Finger requests, but
  421.    if they do choose to, to do so consistently.
  422.  
  423.    Overall, there are few cases which would warrant processing of {Q2}
  424.    at all, and they are far outweighed by the number of cases for
  425.    refusing to process {Q2}.  In particular, be aware that if a machine
  426.    is part of security perimeter (that is, it is a gateway from the
  427.    outside world to some set of interior machines), then turning {Q2} on
  428.    provides a path through that security perimeter.  Therefore, it is
  429.    RECOMMENDED that the default of the {Q2} processing option be to
  430.    refuse processing.  It certainly should not be enabled in gateway
  431.    machines without careful consideration of the security implications.
  432.  
  433. 3.2.2.  {C} refusal
  434.  
  435.    For individual site security concerns, the system administrator
  436.    SHOULD be given an option to individually turn on or off RUIP
  437.    acceptance of {C}.  If RUIP processing of {C} is turned off, the RUIP
  438.    MUST return a service refusal message of some sort.  "Finger online
  439.    user list denied" is adequate.  The purpose of this is to allow
  440.    individual hosts to choose to not list the users currently online.
  441.  
  442. 3.2.3.  Atomic discharge
  443.  
  444.    All implementations of Finger SHOULD allow individual system
  445.    administrators to tailor what atoms of information are returned to a
  446.    query.  For example:
  447.  
  448.  
  449.  
  450. Zimmerman                                                       [Page 8]
  451.  
  452. RFC 1288                         Finger                    December 1991
  453.  
  454.  
  455.       -    Administrator A should be allowed to specifically choose to
  456.            return office location, office phone number, home phone
  457.            number, and logged in/logout time.
  458.  
  459.       -    Administrator B should be allowed to specifically choose to
  460.            return only office location, and office phone number.
  461.  
  462.       -    Administrator C should be allowed to specifically choose to
  463.            return the minimum amount of required information, which is
  464.            the person's full name.
  465.  
  466. 3.2.4.  User information files
  467.  
  468.    Allowing an RUIP to return information out of a user-modifiable file
  469.    should be seen as equivalent to allowing any information about your
  470.    system to be freely distributed.  That is, it is potentially the same
  471.    as turning on all specifiable options.  This information security
  472.    breach can be done in a number of ways, some cleverly, others
  473.    straightforwardly.  This should disturb the sleep of system
  474.    administrators who wish to control the returned information.
  475.  
  476. 3.2.5.  Execution of user programs
  477.  
  478.    Allowing an RUIP to run a user program in response to a Finger query
  479.    is potentially dangerous.  BE CAREFUL!! -- the RUIP MUST NOT allow
  480.    system security to be compromised by that program.  Implementing this
  481.    feature may be more trouble than it is worth, since there are always
  482.    bugs in operating systems, which could be exploited via this type of
  483.    mechanism.
  484.  
  485. 3.2.6.  {U} ambiguity
  486.  
  487.    Be aware that a malicious user's clever and/or persistent use of this
  488.    feature can result in a list of most of the usernames on a system.
  489.    Refusal of {U} ambiguity should be considered in the same vein as
  490.    refusal of {C} requests (see section 3.2.2).
  491.  
  492. 3.2.7.  Audit trails
  493.  
  494.    Implementations SHOULD allow system administrators to log Finger
  495.    queries.
  496.  
  497. 3.3.  Client security
  498.  
  499.    It is expected that there will normally be some client program that
  500.    the user runs to query the initial RUIP.  By default, this program
  501.    SHOULD filter any unprintable data, leaving only printable 7-bit
  502.    characters (ASCII 32 through ASCII 126), tabs (ASCII 9), and CRLFs.
  503.  
  504.  
  505.  
  506. Zimmerman                                                       [Page 9]
  507.  
  508. RFC 1288                         Finger                    December 1991
  509.  
  510.  
  511.    This is to protect against people playing with terminal escape codes,
  512.    changing other peoples' X window names, or committing other dastardly
  513.    or confusing deeds.  Two separate user options SHOULD be considered
  514.    to modify this behavior, so that users may choose to view
  515.    international or control characters:
  516.  
  517.       -    one to allow all characters less than ASCII 32
  518.  
  519.       -    another to allow all characters greater than ASCII 126
  520.  
  521.    For environments that live and breathe international data, the system
  522.    administrator SHOULD be given a mechanism to enable the latter option
  523.    by default for all users on a particular system.  This can be done
  524.    via a global environment variable or similar mechanism.
  525.  
  526. 4.  Examples
  527.  
  528. 4.1.  Example with a null command line ({C})
  529.  
  530. Site: elbereth.rutgers.edu
  531. Command line: <CRLF>
  532.  
  533. Login       Name               TTY Idle    When            Office
  534. rinehart Mark J. Rinehart      p0  1:11 Mon 12:15  019 Hill       x3166
  535. greenfie Stephen J. Greenfiel  p1       Mon 15:46  542 Hill       x3074
  536. rapatel  Rocky - Rakesh Patel  p3    4d Thu 00:58  028 Hill       x2287
  537. pleasant Mel Pleasant          p4    3d Thu 21:32  019 Hill    908-932-
  538. dphillip Dave Phillips         p5  021: Sun 18:24  265 Hill       x3792
  539. dmk      David Katinsky        p6    2d Thu 14:11  028 Hill       x2492
  540. cherniss Cary Cherniss         p7    5  Mon 15:42  127 Psychol    x2008
  541. harnaga  Doug Harnaga          p8  2:01 Mon 10:15  055 Hill       x2351
  542. brisco   Thomas P. Brisco      pe  2:09 Mon 13:37  h055           x2351
  543. laidlaw  Angus Laidlaw         q0  1:55 Mon 11:26  E313C       648-5592
  544. cje      Chris Jarocha-Ernst   q1    8  Mon 13:43  259 Hill       x2413
  545.  
  546. 4.2.  Example with name specified ({U}{C})
  547.  
  548. Site: dimacs.rutgers.edu
  549. Command line: pirmann<CRLF>
  550. Login name: pirmann                     In real life: David Pirmann
  551. Office: 016 Hill, x2443                 Home phone: 989-8482
  552. Directory: /dimacs/u1/pirmann           Shell: /bin/tcsh
  553. Last login Sat Jun 23 10:47 on ttyp0 from romulus.rutgers.
  554. No unread mail
  555. Project:
  556. Plan:
  557.                       Work Schedule, Summer 1990
  558.                  Rutgers LCSR Operations, 908-932-2443
  559.  
  560.  
  561.  
  562. Zimmerman                                                      [Page 10]
  563.  
  564. RFC 1288                         Finger                    December 1991
  565.  
  566.  
  567.                         Monday       5pm - 12am
  568.                         Tuesday      5pm - 12am
  569.                         Wednesday    9am -  5pm
  570.                         Thursday     9am -  5pm
  571.                         Saturday     9am -  5pm
  572.  
  573.                            larf larf hoo hoo
  574.  
  575. 4.3.  Example with ambiguous name specified ({U}{C})
  576.  
  577. Site: elbereth.rutgers.edu
  578. Command line: ron<CRLF>
  579. Login name: spinner                     In real life: Ron Spinner
  580. Office: Ops Cubby,    x2443             Home phone: 463-7358
  581. Directory: /u1/spinner                  Shell: /bin/tcsh
  582. Last login Mon May  7 16:38 on ttyq7
  583. Plan:
  584.             ught i
  585.           ca      n
  586.         m           a
  587.        '      ...     t
  588.       I      .   .     i
  589.              !         m
  590.       !       !       e
  591.        p       !pool
  592.         l
  593.          e
  594.           H
  595.  
  596. Login name: surak                       In real life: Ron Surak
  597. Office: 000 OMB Dou,    x9256
  598. Directory: /u2/surak                    Shell: /bin/tcsh
  599. Last login Fri Jul 27 09:55 on ttyq3
  600. No Plan.
  601.  
  602. Login name: etter                       In real life: Ron Etter
  603. Directory: /u2/etter                    Shell: /bin/tcsh
  604. Never logged in.
  605. No Plan.
  606.  
  607. 4.4.  Example of query type {Q2} ({U}{H}{H}{C})
  608.  
  609. Site: dimacs.rutgers.edu
  610. Command line: hedrick@math.rutgers.edu@pilot.njin.net<CRLF>
  611. [pilot.njin.net]
  612. [math.rutgers.edu]
  613. Login name: hedrick                     In real life: Charles Hedrick
  614. Office: 484 Hill, x3088
  615.  
  616.  
  617.  
  618. Zimmerman                                                      [Page 11]
  619.  
  620. RFC 1288                         Finger                    December 1991
  621.  
  622.  
  623. Directory: /math/u2/hedrick             Shell: /bin/tcsh
  624. Last login Sun Jun 24 00:08 on ttyp1 from monster-gw.rutge
  625. No unread mail
  626. No Plan.
  627.  
  628. 5.  Acknowledgments
  629.  
  630.    Thanks to everyone in the Internet Engineering Task Force for their
  631.    comments.  Special thanks to Steve Crocker for his security
  632.    recommendations and prose.
  633.  
  634. 6.  Security Considerations
  635.  
  636.    Security issues are discussed in Section 3.
  637.  
  638. 7.  Author's Address
  639.  
  640.    David Paul Zimmerman
  641.    Center for Discrete Mathematics and
  642.    Theoretical Computer Science (DIMACS)
  643.    Rutgers University
  644.    P.O. Box 1179
  645.    Piscataway, NJ 08855-1179
  646.  
  647.    Phone: (908)932-4592
  648.  
  649.    EMail: dpz@dimacs.rutgers.edu
  650.  
  651.  
  652.  
  653.  
  654.  
  655.  
  656.  
  657.  
  658.  
  659.  
  660.  
  661.  
  662.  
  663.  
  664.  
  665.  
  666.  
  667.  
  668.  
  669.  
  670.  
  671.  
  672.  
  673.  
  674. Zimmerman                                                      [Page 12]
  675.