home *** CD-ROM | disk | FTP | other *** search
/ Columbia Kermit / kermit.zip / protocol / rfc2840.txt < prev    next >
Text File  |  2020-01-01  |  23KB  |  676 lines

  1.  
  2.  
  3.  
  4.  
  5.  
  6.  
  7. Network Working Group                                          J. Altman
  8. Request for Comments: 2840                                    F. da Cruz
  9. Category: Informational                              Columbia University
  10.                                                                 May 2000
  11.  
  12.                           TELNET KERMIT OPTION
  13.  
  14. Status of this Memo
  15.  
  16.    This memo provides information for the Internet community.  It does
  17.    not specify an Internet standard of any kind.  Distribution of this
  18.    memo is unlimited.
  19.  
  20. Copyright Notice
  21.  
  22.    Copyright (C) The Internet Society (2000).  All Rights Reserved.
  23.  
  24.    The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT",
  25.    "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this
  26.    document are to be interpreted as described in RFC 2119.
  27.  
  28. ABSTRACT
  29.  
  30.    This document describes an extension to the Telnet protocol to allow
  31.    the negotiation, coordination, and use of the Kermit file transfer
  32.    and management protocol over an existing Telnet protocol connection.
  33.  
  34. CONTENTS
  35.  
  36.    1. MOTIVATION . . . . . . . . . . . . . . . . . . . . . . . .  2
  37.    2. DEFINITIONS. . . . . . . . . . . . . . . . . . . . . . . .  2
  38.    3. COMMANDS AND CODES . . . . . . . . . . . . . . . . . . . .  3
  39.    4. COMMAND MEANINGS . . . . . . . . . . . . . . . . . . . . .  3
  40.    5. KERMIT PROTOCOL IMPLICATIONS . . . . . . . . . . . . . . .  5
  41.    6. EXAMPLES . . . . . . . . . . . . . . . . . . . . . . . . .  6
  42.    6.1. EXAMPLE 1. . . . . . . . . . . . . . . . . . . . . . . .  6
  43.    6.2. EXAMPLE 2. . . . . . . . . . . . . . . . . . . . . . . .  7
  44.    6.3. EXAMPLE 3. . . . . . . . . . . . . . . . . . . . . . . .  8
  45.    6.4. EXAMPLE 4. . . . . . . . . . . . . . . . . . . . . . . .  9
  46.    6.5. EXAMPLE 5. . . . . . . . . . . . . . . . . . . . . . . . 10
  47.    7. SECURITY CONSIDERATIONS. . . . . . . . . . . . . . . . . . 11
  48.    8. REFERENCES . . . . . . . . . . . . . . . . . . . . . . . . 11
  49.    9. AUTHORS' ADDRESSES . . . . . . . . . . . . . . . . . . . . 11
  50.    10. FULL COPYRIGHT STATEMENT. . . . . . . . . . . . . . . . . 12
  51.  
  52.  
  53.  
  54.  
  55.  
  56.  
  57.  
  58. Altman & da Cruz             Informational                      [Page 1]
  59.  
  60. RFC 2840                  TELNET KERMIT OPTION                  May 2000
  61.  
  62.  
  63. 1. MOTIVATION
  64.  
  65.    The Kermit protocol [KER] performs error-corrected file transfer and
  66.    management over many types of connections, including terminal
  67.    connections, among diverse hardware and software platforms.  It is
  68.    supported by a large number of Telnet clients and is also widely
  69.    available on the Internet hosts to which Telnet connections are made.
  70.  
  71.    Traditionally, the Kermit protocol connection is started manually by
  72.    a user, or perhaps by an automated script.  It is the user's
  73.    responsibility to start the Kermit server on one end of the
  74.    connection and the Kermit client on the other, or to start a Kermit
  75.    "send" operation on one end and a Kermit "receive" on the other.
  76.  
  77.    This procedure grew out of necessity on ordinary direct-dial
  78.    connections, and serves its purpose within the limitations of that
  79.    context.  But it introduces timing and dexterity problems, and lacks
  80.    an effective way for each Kermit program to determine the "mode" of
  81.    the other, or even its very presence, and therefore to know with
  82.    certainty which operations and procedures are legal on the connection
  83.    at any given time.
  84.  
  85.    When Kermit services are offered on the Internet, however, a strong
  86.    coupling can be established between the two end applications by
  87.    having the Telnet protocol [TEL] serve as a supervisor for Kermit
  88.    sessions, ensuring that a valid and known relationship is always
  89.    obtained.  Kermit sessions are, in effect, embedded within Telnet
  90.    sessions, with Telnet providing the mechanism for starting and
  91.    stopping them and defining which end is the Kermit client and which
  92.    is the Kermit server, possibly changing the relationship in response
  93.    to user actions.
  94.  
  95. 2. DEFINITIONS
  96.  
  97.    Kermit server
  98.       A software program that is ready to accept and act upon commands
  99.       in the form of well-defined Kermit packets [KER].
  100.  
  101.    Kermit client
  102.       A software program that receives requests through its user
  103.       interface from a human agent (or a script or other source) and
  104.       translates them to command packets, which it sends to a Kermit
  105.       server, thus initiating a Kermit protocol transaction such as the
  106.       transfer of one or more files.
  107.  
  108.  
  109.  
  110.  
  111.  
  112.  
  113.  
  114. Altman & da Cruz             Informational                      [Page 2]
  115.  
  116. RFC 2840                  TELNET KERMIT OPTION                  May 2000
  117.  
  118.  
  119.    Availability of Kermit server
  120.       For the purposes of this document, a Kermit server is said to be
  121.       available if, through the negotiations described herein, its
  122.       Telnet partner knows that it is a Kermit server.
  123.  
  124. 3. COMMANDS AND CODES
  125.  
  126.    Support for a Kermit server is negotiated separately in each
  127.    direction, allowing Kermit service to be embedded in the Telnet
  128.    client, the Telnet server, or in both.  The proposed Telnet
  129.    extensions are, therefore, symmetrical.
  130.  
  131.    When the connection is first opened, Kermit service is unavailable in
  132.    both directions.
  133.  
  134.    The availability of Kermit service is negotiated using the following
  135.    Telnet option:
  136.  
  137.      KERMIT           47 (assigned by IANA)
  138.  
  139.    The state of the connection is controlled by the following Telnet
  140.    subnegotiation function codes:
  141.  
  142.      START-SERVER      0
  143.      STOP-SERVER       1
  144.      REQ-START-SERVER  2
  145.      REQ-STOP-SERVER   3
  146.      SOP               4
  147.      RESP-START-SERVER 8
  148.      RESP-STOP-SERVER  9
  149.  
  150. 4. COMMAND MEANINGS
  151.  
  152.    The KERMIT OPTION is negotiated using the standard Telnet mechanisms:
  153.  
  154.    IAC WILL KERMIT
  155.       The sender of this command incorporates a Kermit server and is
  156.       willing to negotiate its use.
  157.  
  158.    IAC WONT KERMIT
  159.       The sender of this command does not incorporate a Kermit server or
  160.       refuses to negotiate its use.
  161.  
  162.    IAC DO KERMIT
  163.       The sender of this command requests that the receiver negotiate
  164.       use of a Kermit server.
  165.  
  166.  
  167.  
  168.  
  169.  
  170. Altman & da Cruz             Informational                      [Page 3]
  171.  
  172. RFC 2840                  TELNET KERMIT OPTION                  May 2000
  173.  
  174.  
  175.    IAC DONT KERMIT
  176.       The sender of this command refuses to negotiate the use of a
  177.       Kermit server.
  178.  
  179.    Once WILL KERMIT is negotiated in a particular direction,
  180.    subnegotiations are used to indicate or request a change in state of
  181.    the connection, or to convey other information.  Subnegotiations may
  182.    be sent at any time.
  183.  
  184.    IAC SB KERMIT START-SERVER
  185.       This command is sent by the WILL side to indicate that the Kermit
  186.       server is now active; that is, that client-initiated Kermit
  187.       packets will be accepted.
  188.  
  189.    IAC SB KERMIT STOP-SERVER
  190.       This command is sent by the WILL side to indicate that the Kermit
  191.       server is no longer active, and therefore that it is not ready to
  192.       accept Kermit packets.
  193.  
  194.    IAC SB KERMIT REQ-START-SERVER
  195.       This command is sent by the DO side to request that the Kermit
  196.       server be started.  It must be responded to with either RESP-
  197.       START-SERVER or RESP-STOP-SERVER depending upon whether or not the
  198.       request was accepted.
  199.  
  200.    IAC SB KERMIT REQ-STOP-SERVER
  201.       This command is sent by the DO side to request that the Kermit
  202.       server be stopped.  It must be responded to with either RESP-
  203.       START-SERVER or RESP-STOP-SERVER depending upon whether or not the
  204.       request was accepted.
  205.  
  206.    IAC SB KERMIT RESP-START-SERVER
  207.       This command is sent by the WILL side in response to REQ-START-
  208.       SERVER or REQ-STOP-SERVER to indicate that the Kermit server is
  209.       active after the request was accepted or denied.
  210.  
  211.    IAC SB KERMIT RESP-STOP-SERVER
  212.       This command is sent by the WILL side in response to REQ-START-
  213.       SERVER or REQ-STOP-SERVER to indicate that the Kermit server is
  214.       not active after the request was accepted or denied.
  215.  
  216.    IAC SB KERMIT SOP <octet>
  217.       Kermit Start Of Packet.  The sender of this command specifies the
  218.       octet it will use to mark the beginning of the Kermit packets it
  219.       sends.  This command must be sent by each connection partner upon
  220.       the first WILL/DO pair to allow unambiguous identification of
  221.       Kermit packets in the data stream.  This subnegotiation must be
  222.       sent whenever the Start of Packet character changes.  The values
  223.  
  224.  
  225.  
  226. Altman & da Cruz             Informational                      [Page 4]
  227.  
  228. RFC 2840                  TELNET KERMIT OPTION                  May 2000
  229.  
  230.  
  231.       are restricted to ASCII C0 control characters other than Carriage
  232.       Return and NUL.  The normal value is 1 (ASCII SOH).  The two
  233.       Kermit partners normally use the same SOP, but may use distinct
  234.       ones if desired.
  235.  
  236.    IAC SB KERMIT SOP is necessary to allow each Telnet partner to
  237.    recognize subsequent incoming Kermit packets.  Data following the SOP
  238.    is processed by the Kermit packet analyzer.  All other Kermit
  239.    protocol parameters are automatically negotiated within the Kermit
  240.    protocol upon the initial exchange of Kermit packets [KER].
  241.  
  242.    START-SERVER and STOP-SERVER commands must be sent by the WILL side
  243.    whenever the state of the Kermit server changes.  When WILL is
  244.    successfully negotiated the state of the WILL side is assumed to be
  245.    STOP-SERVER.  If the server is active, the WILL side must send a
  246.    START-SERVER to indicate the change in state.
  247.  
  248.    The receiver of a REQ-START-SERVER or REQ-STOP-SERVER is not required
  249.    to agree to the request to change state.  The receiver must respond
  250.    with either RESP-START-SERVER or RESP-STOP-SERVER to indicate the
  251.    state of the Kermit Server subsequent to the request.  RESP-xxx-
  252.    SERVER is sent instead of xxx-SERVER to enable the sender of REQ-
  253.    xxx-SERVER to distinguish between the WILL side's spontaneous change
  254.    in state and the response to the DO side's request.
  255.  
  256.    If the Kermit server receives a Kermit packet commanding it to cease
  257.    Kermit service (such as a FINISH, REMOTE EXIT or BYE packet [KER]),
  258.    it must send IAC SB KERMIT STOP-SERVER if the command is accepted.
  259.  
  260.    These rules ensure that the Telnet client's user interface always
  261.    knows whether (and on which end) a Kermit server is available, and
  262.    can therefore present the user only with valid choices, and that
  263.    changes in state of one Telnet partner automatically switch the other
  264.    to a complementary and valid state.
  265.  
  266.    While it is possible for a traditional telnet service (port 23) to
  267.    implement this option while at the same time supporting the existing
  268.    remote shell access functionality, it is not expected that this
  269.    option will be used in that manner.  Instead, this option is
  270.    primarily meant for use with dedicated Kermit services (port 1649)
  271.    such as the Internet Kermit Service [IKS].
  272.  
  273. 5. KERMIT PROTOCOL IMPLICATIONS
  274.  
  275.    The Kermit protocol is described elsewhere [KER].  It is an
  276.    extensible and self-configuring protocol, like Telnet, and thus any
  277.    two proper Kermit implementations should interoperate automatically.
  278.  
  279.  
  280.  
  281.  
  282. Altman & da Cruz             Informational                      [Page 5]
  283.  
  284. RFC 2840                  TELNET KERMIT OPTION                  May 2000
  285.  
  286.  
  287.    In Kermit, as in Telnet, one particular octet is distinguished.  In
  288.    Telnet's case, it is IAC (decimal 255); in Kermit's it is the
  289.    character specified by the IAC SB KERMIT SOP negotiation, normally
  290.    SOH (decimal 1, Ctrl-A).  All Kermit packets must begin with the SOP
  291.    and should not contain the SOP character in an unquoted form.
  292.  
  293.    Telnet protocol takes precedence over Kermit protocol; whenever an
  294.    IAC is detected, it is processed as the beginning of a Telnet command
  295.    unless quoted by another IAC.  Telnet commands can contain any
  296.    characters at all, including the SOP octet, transparently to the
  297.    Kermit protocol, and in fact Telnet commands are not seen by the
  298.    Kermit protocol at all.
  299.  
  300.    Kermit protocol must follow Telnet NVT rules in each direction when
  301.    Telnet binary mode is not negotiated for that direction.
  302.  
  303.    If 8-bit transparency is desired, Telnet binary mode may be
  304.    negotiated upon entry to Kermit protocol in the appropriate
  305.    direction, and the previous mode (NVT or binary) restored upon exit
  306.    from Kermit protocol.  Telnet binary mode can result in more
  307.    efficient transfers, but is not required for data transfer, since
  308.    Kermit protocol does not require a transparent path.
  309.  
  310. 6. EXAMPLES
  311.  
  312. 6.1. EXAMPLE 1
  313.  
  314.    The Telnet server contains a Kermit server.  The Telnet client
  315.    includes Kermit protocol but does not implement the Telnet KERMIT
  316.    Option.
  317.  
  318.    Telnet Server                   Telnet Client
  319.    -----------------------------   -----------------------------
  320.    <starts negotiations>
  321.    WILL KERMIT
  322.    DO KERMIT
  323.                                    <responds to negotiations>
  324.                                    DONT KERMIT
  325.                                    WONT KERMIT
  326.  
  327.    From this point, no subnegotiations take place, and the Kermit
  328.    client/server relationship is under manual control of the user of the
  329.    Telnet client.  This will be the case (for example) with existing
  330.    Kermit-capable Telnet clients.
  331.  
  332.  
  333.  
  334.  
  335.  
  336.  
  337.  
  338. Altman & da Cruz             Informational                      [Page 6]
  339.  
  340. RFC 2840                  TELNET KERMIT OPTION                  May 2000
  341.  
  342.  
  343. 6.2. EXAMPLE 2
  344.  
  345.    The Telnet server contains a Kermit server and starts a Kermit server
  346.    immediately after a connection is made.  The Telnet client does not
  347.    offer a Kermit server.
  348.  
  349.    Telnet Server                   Telnet Client
  350.    -----------------------------   -----------------------------
  351.    <starts negotiations>
  352.    WILL KERMIT
  353.    DO KERMIT
  354.                                    <responds to negotiations>
  355.                                    DO KERMIT
  356.                                    SB KERMIT SOP <0x01>
  357.                                    WONT KERMIT
  358.    SB KERMIT SOP <0x01>
  359.  
  360.    <starts Kermit Server>
  361.    SB KERMIT START-SERVER
  362.  
  363.    At this point the Telnet client knows that a Kermit server is on the
  364.    other end of the connection, and so may customize its command set or
  365.    menus to allow only those commands that are valid as a client of a
  366.    Kermit server.
  367.  
  368.  
  369.  
  370.  
  371.  
  372.  
  373.  
  374.  
  375.  
  376.  
  377.  
  378.  
  379.  
  380.  
  381.  
  382.  
  383.  
  384.  
  385.  
  386.  
  387.  
  388.  
  389.  
  390.  
  391.  
  392.  
  393.  
  394. Altman & da Cruz             Informational                      [Page 7]
  395.  
  396. RFC 2840                  TELNET KERMIT OPTION                  May 2000
  397.  
  398.  
  399. 6.3. EXAMPLE 3
  400.  
  401.    Telnet server and Telnet client both contain a Kermit server.  Telnet
  402.    client Kermit server is active whenever its terminal emulator is
  403.    active, and not active at other times.  The Telnet server is used for
  404.    shell access and does not start a Kermit Server unless requested.
  405.  
  406.    Telnet Server                 Telnet Client
  407.    ---------------------------   -----------------------------
  408.    <starts negotiations>
  409.    WILL KERMIT
  410.    DO KERMIT
  411.                                  <responds to negotiations>
  412.                                  DO KERMIT
  413.                                  SB KERMIT SOP <0x01>
  414.                                  WILL KERMIT
  415.    SB KERMIT SOP <0x01>
  416.                                  <telnet client enters terminal emulator>
  417.                                  SB KERMIT START-SERVER
  418.  
  419.                                  <client leaves terminal emulator>
  420.                                  SB KERMIT STOP-SERVER
  421.  
  422.                                  <client requests Kermit service>
  423.                                  SB KERMIT REQ-START-SERVER
  424.    <starts Kermit server>
  425.    SB KERMIT RESP-START-SERVER
  426.                                  <client sends Kermit FINISH packet>
  427.    <stops Kermit server>
  428.    SB KERMIT STOP-SERVER
  429.                                  <client returns to terminal emulator>
  430.                                  SB KERMIT START-SERVER
  431.  
  432.  
  433.  
  434.  
  435.  
  436.  
  437.  
  438.  
  439.  
  440.  
  441.  
  442.  
  443.  
  444.  
  445.  
  446.  
  447.  
  448.  
  449.  
  450. Altman & da Cruz             Informational                      [Page 8]
  451.  
  452. RFC 2840                  TELNET KERMIT OPTION                  May 2000
  453.  
  454.  
  455. 6.4. EXAMPLE 4
  456.  
  457.    Telnet server and Telnet client both contain a Kermit server.  Telnet
  458.    client's Kermit server is active whenever the terminal emulator is
  459.    active.  Telnet server is used solely for Kermit protocol and
  460.    automatically starts a Kermit Server upon accepting the connection.
  461.  
  462.    Telnet Server                 Telnet Client
  463.    ---------------------------   -----------------------------
  464.    <starts negotiations>
  465.    WILL KERMIT
  466.    DO KERMIT
  467.                                  <responds to negotiations>
  468.                                  DO KERMIT
  469.                                  SB KERMIT SOP <0x01>
  470.                                  WILL KERMIT
  471.  
  472.    SB KERMIT SOP <0x01>
  473.                                  <client enters terminal emulator>
  474.                                  SB KERMIT START-SERVER
  475.  
  476.    <in response to DO>
  477.    SB KERMIT SOP <0x01>
  478.    SB KERMIT START-SERVER
  479.                                  <client restricts command set to
  480.                                   Kermit protocol commands>
  481.                                  SB KERMIT STOP-SERVER
  482.  
  483.                                  <client performs Kermit protocol
  484.                                   operations>
  485.  
  486.                                  <client want to enter terminal mode>
  487.                                  SB KERMIT REQ-STOP-SERVER
  488.  
  489.    <Kermit Server refuses>
  490.    SB KERMIT RESP-START-SERVER
  491.  
  492.  
  493.  
  494.  
  495.  
  496.  
  497.  
  498.  
  499.  
  500.  
  501.  
  502.  
  503.  
  504.  
  505.  
  506. Altman & da Cruz             Informational                      [Page 9]
  507.  
  508. RFC 2840                  TELNET KERMIT OPTION                  May 2000
  509.  
  510.  
  511. 6.5. EXAMPLE 5
  512.  
  513.    This is an example of something that should not be allowed to happen.
  514.    Some Telnet clients that implement file transfer capabilities are
  515.    designed to accept incoming connections.  In this situation the
  516.    Telnet Client acts as a pseudo Telnet Server but without the ability
  517.    to provide shell access or many of the other functions associated
  518.    with Telnet.  If both Telnet clients support this option and contain
  519.    a Kermit server that is active during terminal emulation there is the
  520.    potential for a deadlock situation if scripting is also supported.
  521.    This is because Telnet clients that support a script language do not
  522.    process input while waiting for the next command to be issued.
  523.  
  524.    Telnet Client One             Telnet Client Two
  525.    ---------------------------   -----------------------------
  526.    <starts negotiations>
  527.    WILL KERMIT
  528.    DO KERMIT
  529.                                  <responds to WILL>
  530.                                  DO KERMIT
  531.                                  SB KERMIT SOP <0x01>
  532.  
  533.    <in response to DO>
  534.    SB KERMIT SOP <0x01>
  535.    SB KERMIT START-SERVER
  536.                                  <responds to DO>
  537.                                  WILL KERMIT
  538.                                  SB KERMIT START-SERVER
  539.  
  540.    <client one restricts command
  541.     set to Kermit protocol and
  542.     disables Kermit Server>
  543.    SB KERMIT STOP-SERVER
  544.                                  <client two restricts command
  545.                                   set to Kermit protocol and
  546.                                   disables Kermit Server>
  547.                                  SB KERMIT STOP-SERVER
  548.  
  549.    At this point both clients have restricted their command set to
  550.    Kermit Protocol commands.  However, in both cases neither side is
  551.    processing input.  Therefore the following restriction MUST be
  552.    enforced: A Telnet partner may not restrict the command set if it
  553.    accepted the incoming connection.
  554.  
  555.  
  556.  
  557.  
  558.  
  559.  
  560.  
  561.  
  562. Altman & da Cruz             Informational                     [Page 10]
  563.  
  564. RFC 2840                  TELNET KERMIT OPTION                  May 2000
  565.  
  566.  
  567. 7. SECURITY
  568.  
  569.    Implementors of this Telnet Option must enforce appropriate user
  570.    authentication and file system access restrictions in conjunction
  571.    with their implementation of the Kermit file transfer protocol.
  572.    These issues are beyond the scope of this document.
  573.  
  574. 8. REFERENCES
  575.  
  576.    [BCP] Bradner, S.,  "Key words for use in RFCs to Indicate
  577.          Requirement Levels", BCP 14, RFC 2119, March 1997.
  578.  
  579.    [KER] da Cruz, Frank, "Kermit, A File Transfer Protocol", Digital
  580.          Press/ Butterworth Heinemann, Newton, MA, ISBN 0-932376-88-6
  581.          (1987).
  582.  
  583.    [IKS] da Cruz, F. and J. Altman, "Internet Kermit Service", RFC 2839,
  584.          May 2000.
  585.  
  586.    [TEL] Postel, J. and J. Reynolds, "Telnet Protocol Specification",
  587.          STD 8, RFC 854, May 1983.
  588.  
  589.    [TEL] Postel, J. and J. Reynolds, "Telnet Option Specification", STD
  590.          8, RFC 855, May 1983.
  591.  
  592.  
  593. 9. AUTHORS' ADDRESSES
  594.  
  595.    Jeffrey E. Altman
  596.  
  597.    EMail:jaltman@columbia.edu
  598.  
  599.  
  600.    Frank da Cruz
  601.  
  602.    EMail: fdc@columbia.edu
  603.  
  604.  
  605.    The Kermit Project
  606.    Columbia University
  607.    612 West 115th Street
  608.    New York NY 10025-7799
  609.    USA
  610.    http://www.columbia.edu/kermit/
  611.    http://www.kermit-project.org/
  612.  
  613.  
  614.  
  615.  
  616.  
  617.  
  618. Altman & da Cruz             Informational                     [Page 11]
  619.  
  620. RFC 2840                  TELNET KERMIT OPTION                  May 2000
  621.  
  622.  
  623. 10.  Full Copyright Statement
  624.  
  625.    Copyright (C) The Internet Society (2000).  All Rights Reserved.
  626.  
  627.    This document and translations of it may be copied and furnished to
  628.    others, and derivative works that comment on or otherwise explain it
  629.    or assist in its implementation may be prepared, copied, published
  630.    and distributed, in whole or in part, without restriction of any
  631.    kind, provided that the above copyright notice and this paragraph are
  632.    included on all such copies and derivative works.  However, this
  633.    document itself may not be modified in any way, such as by removing
  634.    the copyright notice or references to the Internet Society or other
  635.    Internet organizations, except as needed for the purpose of
  636.    developing Internet standards in which case the procedures for
  637.    copyrights defined in the Internet Standards process must be
  638.    followed, or as required to translate it into languages other than
  639.    English.
  640.  
  641.    The limited permissions granted above are perpetual and will not be
  642.    revoked by the Internet Society or its successors or assigns.
  643.  
  644.    This document and the information contained herein is provided on an
  645.    "AS IS" basis and THE INTERNET SOCIETY AND THE INTERNET ENGINEERING
  646.    TASK FORCE DISCLAIMS ALL WARRANTIES, EXPRESS OR IMPLIED, INCLUDING
  647.    BUT NOT LIMITED TO ANY WARRANTY THAT THE USE OF THE INFORMATION
  648.    HEREIN WILL NOT INFRINGE ANY RIGHTS OR ANY IMPLIED WARRANTIES OF
  649.    MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE.
  650.  
  651. Acknowledgement
  652.  
  653.    Funding for the RFC Editor function is currently provided by the
  654.    Internet Society.
  655.  
  656.  
  657.  
  658.  
  659.  
  660.  
  661.  
  662.  
  663.  
  664.  
  665.  
  666.  
  667.  
  668.  
  669.  
  670.  
  671.  
  672.  
  673.  
  674. Altman & da Cruz             Informational                     [Page 12]
  675.  
  676.