home *** CD-ROM | disk | FTP | other *** search
/ Columbia Kermit / kermit.zip / c-kermit / telnet.txt < prev    next >
Text File  |  2020-01-01  |  75KB  |  1,507 lines

  1.  
  2. TELNET PROTOCOL IN C-KERMIT 8.0 AND KERMIT 95 2.00
  3.  
  4.    Author:
  5.           Jeffrey Altman
  6.           The Kermit Project
  7.           Columbia University
  8.           
  9.    Most recent update:
  10.           3 December 2001
  11.           
  12.   CONTENTS
  13.   
  14.     1. [1]INTRODUCTION
  15.     2. [2]SUPPORTED TELNET OPTIONS
  16.     3. [3]TELNET OPTION MANAGEMENT
  17.     4. [4]TELNET COMMAND SUMMARY
  18.     5. [5]DIAGNOSING AND FIXING PROBLEMS CONNECTING TO TELNET SERVERS
  19.      _________________________________________________________________
  20.    
  21.   1. INTRODUCTION
  22.   
  23.    [ [6]Top ] [ [7]Contents ] [ [8]Next ]
  24.    
  25.    The Telnet protocol is one of the original protocols developed for the
  26.    ARPANET, the precursor to today's Internet. Telnet has evolved since
  27.    the early 1970s due to the extensibility provided by its "option"
  28.    model. To quote [9]RFC854:
  29.    
  30.      "The purpose of the TELNET Protocol is to provide a fairly general,
  31.      bi-directional, eight-bit byte oriented communications facility.
  32.      Its primary goal is to allow a standard method of interfacing
  33.      terminal devices and terminal-oriented processes to each other. It
  34.      is envisioned that the protocol may also be used for
  35.      terminal-terminal communication ("linking") and process-process
  36.      communication (distributed computation)."
  37.      
  38.    Not so long ago the requirements for a Telnet client were fairly
  39.    minimal: support echo management, window size notification, terminal
  40.    type negotiation, and perhaps the transmission of environment
  41.    variables from the client to the server. Option negotiations were not
  42.    time sensitive nor were they interdependent. Everyone was happy as
  43.    long as each option specification was followed and infinite
  44.    negotiation loops were avoided.
  45.    
  46.    This simplicity began to change with the introduction of telnet
  47.    options that provide for mutual authentication, data encryption,
  48.    transport layer security, and synchronization of remote processes. The
  49.    new options have order and timing dependencies that require increased
  50.    sophistication from both client and server even though the original
  51.    Telnet protocol specification did not change.
  52.    
  53.    Prior to [10]C-Kermit 7.0 and [11]K95 1.1.19, Kermit implemented
  54.    Telnet protocol by opening a connection to the host and then
  55.    transmitting the options that it supported. What happened next was
  56.    determined by how the connection was being used. If the user told
  57.    Kermit to:
  58.    
  59.   TELNET host
  60.  
  61.    then, immediately after the initial telnet options were transmitted,
  62.    the terminal emulator started and began processing the incoming data.
  63.    The rest of the Telnet protocol implementation was purely reactive
  64.    (with minor exceptions such as window-size changes): when a Telnet
  65.    option was received it would be processed and a response sent as
  66.    required.
  67.    
  68.    However, if the user said:
  69.    
  70.   SET HOST host
  71.  
  72.    then, after the initial telnet options were transmitted, Kermit would
  73.    wait for the next command from the user. If a CONNECT command was next
  74.    the behavior would be the same as for TELNET host. However, if Kermit
  75.    was executing a script containing a series of INPUT and OUTPUT
  76.    commands, the incoming telnet option negotiations would be processed
  77.    while waiting for INPUT.
  78.    
  79.    This was adequate when there were no ordering or timing requirements
  80.    for the Telnet negotiations. But with the introduction of
  81.    authentication, encryption, transport-layer security, and the Kermit
  82.    option for managing the states of the [12]Kermit server on both the
  83.    workstation and host it is necessary for Telnet negotiations to take
  84.    place before the TELNET command enters the terminal emulator or the
  85.    SET HOST command completes and allows any subsequent INPUT and OUTPUT
  86.    commands to execute.
  87.    
  88.    The timing requirements for the telnet options supported by Kermit are
  89.    as follows:
  90.    
  91.      * START_TLS (Transport Layer Security) must be negotiated or refused
  92.        before any other option.
  93.      * AUTH (Authentication) must be negotiated or refused before
  94.        ENCRYPT. AUTH must also be negotiated before the login process is
  95.        initiated.
  96.      * ENCRYPT (Encryption) must be negotiated/refused in both directions
  97.        before it is safe to transmit any data that might be considered
  98.        private, including Telnet options such as terminal type, location,
  99.        xdisplay, or environment variables. ENCRYPT may not be negotiated
  100.        if START_TLS has been negotiated or if AUTH has not been.
  101.      * FORWARD_X (Forward X Windows Systems data with X authorization)
  102.        must only be used on encrypted connections.
  103.      * KERMIT (RFC2839/2840 Internet Kermit Service) must wait for a
  104.        response to any request for the peer to either turn on or off the
  105.        Kermit Server capabilities in order to facilitate automatic
  106.        uploading or downloading of files or processing of remote
  107.        commands.
  108.      * NEW_ENV (Transmission of Environment Variables to the Host) must
  109.        be negotiated before the login process is initiated if the USER
  110.        variable is to be requested from the client.
  111.        
  112.    The result is that Kermit must, to the best of its ability, attempt to
  113.    process all of the above options before TELNET enters CONNECT mode or
  114.    SET HOST completes to process the next command. Therefore it might
  115.    take Kermit longer to make a connection to a host than before.
  116.    
  117.    The reality is actually far different. Even if the CONNECT mode or
  118.    first INPUT command was executed sooner no user data could be received
  119.    until the Telnet negotiations were complete. In addition, the timing
  120.    of the initial INPUT command used to require that the length of time
  121.    it takes to process the Telnet negotiations be factored in. This is no
  122.    longer necessary and was inappropriate in the first place. A login
  123.    script should not have to be modified for different connection types;
  124.    the telnet negotiations should be transparent to the script. In
  125.    C-Kermit 7.0 and Kermit 95 1.1.18 they are.
  126.    
  127.    [ [13]C-Kermit ] [ [14]Kermit 95 ] [ [15]Kermit Home ]
  128.     ________________________________________________________________________
  129.   
  130.   2. SUPPORTED TELNET OPTIONS
  131.   
  132.    [ [16]Top ] [ [17]Contents ] [ [18]Next ] [ [19]Previous ]
  133.    
  134.    AUTHENTICATION (Authenticate end user to host) [[20]RFC2941]
  135.           The AUTHENTICATION option is used to determine which if any
  136.           authentication method such as Kerberos 4, Kerberos 5, Secure
  137.           Remote Password, etc, should be used to authenticate the user
  138.           to the host.
  139.           
  140.    BINARY (Binary Transmission Mode) [[21]RFC856]
  141.           When a telnet session is initiated, the connection is in
  142.           Network Virtual Terminal (NVT) mode. NVT mode provides for
  143.           special treatment of the carriage return (CR) control character
  144.           to provide for deterministic parsing of the input stream. Every
  145.           CR that is transmitted must be followed by a line feed (LF)
  146.           control character or a NUL control character. This enables an
  147.           NVT to distinguish between the Carriage Return function and the
  148.           End of Line indicator. This works fine for textual data. But in
  149.           transmission of random binary data there is the possibility
  150.           that the sequence CR NUL might be misinterpreted.
  151.           
  152.           Binary mode removes the ambiguity by removing the requirement
  153.           that CR be followed by either LF or NUL. It is negotiated
  154.           separately in each direction of data transmission. Binary
  155.           transmission mode is not required for transferring files with
  156.           Kermit protocol but it might be required when transferring files
  157.           with Xmodem, Ymodem, or Zmodem.
  158.           
  159.           Binary mode is one of the most frequently misimplemented telnet
  160.           options. Many implementation will negotiate Binary mode in only
  161.           one direction but apply it in both. Kermit provides workarounds
  162.           for these problems with its SET TELNET BUG
  163.           BINARY-ME-MEANS-U-TOO and SET TELNET BUG BINARY-U-MEANS-ME-TOO
  164.           commands.
  165.           
  166.           Kermit also provides the SET TELNET BINARY-TRANSFER-MODE
  167.           command to automatically enter binary mode at the start of a
  168.           file transfer and return to NVT mode when the transfer is
  169.           completed.
  170.           
  171.    COM-PORT-CONTROL (Remote Serial Port device control) [[22]RFC2217]
  172.           This option is designed for use with reverse terminal servers
  173.           and other network services that share serial line devices such
  174.           as modems across the network. A long term issue has been the
  175.           need for the network administrator to pre-configure the modem
  176.           and serial line parameters to meet the requirements of the
  177.           client applications. Client applications are able to adjust the
  178.           modem configuration by issuing modem specific command
  179.           sequences. Many options require the modem and serial line
  180.           device to be adjusted simultaneously. Two examples are the use
  181.           of dynamic speed matching and flow control protocols. When the
  182.           com-port control option is negotiated the telnet client is able
  183.           to treat the remote serial line device as if it were locally
  184.           attached. This allows Kermit's SHOW COMMUNICATIONS, SET FLOW,
  185.           SET SPEED, SET PARITY, SET STOP-BITS, SET MODEM SPEED-MATCHING
  186.           and WAIT commands to remotely control or respond to changes in
  187.           the modem or serial line properties.
  188.           
  189.    ECHO (Echo Mode) [[23]RFC857]
  190.           When a telnet session is initiated, data is not echoed by the
  191.           receiver. This means that a telnet client must echo each
  192.           character locally as it is being sent to the host. While this
  193.           reduces network traffic it can cause problems with terminal
  194.           emulation and echoing of sensitive data.
  195.           
  196.           The echo option allows the each side to specify that it intends
  197.           to echo the data that it receives. Normally this would be used
  198.           to negotiate that the server should echo the data it receives
  199.           from the client. While it is possible for the client to state
  200.           that it will echo the data received from the server this makes
  201.           no sense and if negotiated could result in an infinite loop of
  202.           a single character being echoed back and forth.
  203.           
  204.           As a piece of telnet trivia, the BSD 4.2 telnet client would
  205.           echo incoming data sent by the server if the host requested it.
  206.           Kermit will always respond WONT ECHO to a DO ECHO request when
  207.           it is the client.
  208.           
  209.    ENCRYPTION (Encrypt session) [[24]RFC2946]
  210.           The ENCRYPTION option is used in conjunction with the
  211.           AUTHENTICATE option to encrypt all the data transmitted during
  212.           the session if START_TLS is not negotiated. The ENCRYPTION
  213.           option must be negotiated separately in each direction.
  214.           
  215.    FORWARD X (Forward X Windows Systems data with X authorization)
  216.           [Internet-Draft]
  217.           The FORWARD X option (developed by the Kermit Project) allows
  218.           the telnet server to redirect all output from X Windows clients
  219.           and transmit it across an encrypted telnet connection. The
  220.           telnet client then forwards the data to the local X Windows
  221.           server. Connections from the X Windows client to the Telnet
  222.           Server are authorized using the strongest X authorization
  223.           method supported by both X Windows client and the Telnet
  224.           Server. Unauthorized connections are rejected.
  225.           
  226.    KERMIT (Synchronize Kermit File Transfers) [[25]RFC2840]
  227.           The Kermit option (developed by the Kermit Project) is designed
  228.           to allow a Kermit file-transfer client and a Kermit server to
  229.           synchronize their operations. This allows a change in "mode" of
  230.           the server to automatically switch the client into the
  231.           complementary mode, and vice versa.
  232.           
  233.    LOGOUT (Logout user from host) [[26]RFC727]
  234.           Some operating systems such as VMS support the notion of a
  235.           login session that can continue across separate telnet
  236.           connections. If a telnet connection is prematurely interrupted
  237.           by a network failure, the user may reconnect to a pre-existing
  238.           session on their next login attempt.
  239.           
  240.           The Telnet Logout option is sent by the telnet client just
  241.           before the tcp/ip socket is closed to indicate to the host that
  242.           the connection is being intentionally terminated by the user
  243.           and is not being closed due to a network error.
  244.           
  245.    NAWS (Negotiate About Window Size) [[27]RFC1073]
  246.           The Negotiate About Windows Size (NAWS) lets the client report
  247.           its current Window size to the host. Every time the client's
  248.           window size changes, the new size is reported to the host
  249.           automatically. It is not possible for the host to report a
  250.           window size to the client.
  251.           
  252.    NEW ENVIRONMENT (Report Environment to host) [[28]RFC1572]
  253.           The NEW ENVIRONMENT option is used by the client to reply to
  254.           requests from the server for either all or specified
  255.           environment variables such as DISPLAY, USERNAME, ACCOUNT, JOB,
  256.           PRINTER, and SYSTEMTYPE. When the NEW ENVIRONMENT option is
  257.           used to transmit the username, many telnet servers skip their
  258.           login or username prompt and go directly to the password
  259.           prompt.
  260.           
  261.    SEND LOCATION (Send Terminal Location) [[29]RFC779]
  262.           The Send Location option provides the host with a method for
  263.           requesting the location of the telnet client. When a location
  264.           string has been specified with the SET TELNET LOCATION command,
  265.           Kermit transmits this string to the host upon request.
  266.           
  267.    START TLS (Transmit Telnet over TLS) [[30]Internet-Draft]
  268.           The START TLS option is used by the client and server to
  269.           determine whether the telnet session should be restarted after
  270.           first establishing a TLSv1 session. TLS provides strong
  271.           encryption and optionally authenticates the client and the
  272.           server using X.509 certificates or Kerberos 5 credentials.
  273.           START_TLS can be used with the AUTHENTICATE option. TLS
  274.           connections may implement data compression. When negotiated
  275.           START_TLS replaces the ENCRYPTION option.
  276.           
  277.    SUPPRESS GO AHEAD (Suppress Go Ahead commands) [[31]RFC858]
  278.           When a telnet session is initiated, all data transmitted by the
  279.           sender is to be followed by a Go Ahead (GA) command sequence.
  280.           This is to enable telnet to be used over half-duplex (two-way
  281.           alternate) connections, and it gives the telnet partner
  282.           permission to transmit. But to our knowledge, all telnet
  283.           sessions used over the Internet are full duplex connections.
  284.           The Suppress Go Ahead (SGA) option is negotiated in both
  285.           directions to suppress the transmission of the GA commands and
  286.           treat the connection as full duplex (two-way simultaneous).
  287.           
  288.    TERMINAL TYPE (Negotiate Terminal Type) [[32]RFC1091]
  289.           The Terminal Type option allows the client and server to agree
  290.           to a common terminal type that they both support. C-Kermit
  291.           reports the value of the local TERM environment variable. Since
  292.           Kermit 95 supports more than 30 terminal types, it continues to
  293.           offer additional terminal types to the host until the host
  294.           decides which one to use.
  295.           
  296.    XDISPLOC (Report X Window Display location) [[33]RFC1096]
  297.           The X Windows display option is used to report to the host the
  298.           address of the local X Windows Server. Kermit sends the
  299.           contents of the local DISPLAY environment variable or the
  300.           string specified by the SET TELNET ENVIRONMENT DISPLAY command.
  301.           XDISPLOC is not used if FORWARDX is negotiated.
  302.           
  303.    [ [34]C-Kermit ] [ [35]Kermit 95 ] [ [36]Kermit Home ]
  304.     ________________________________________________________________________
  305.   
  306.   3. TELNET OPTION MANAGEMENT
  307.   
  308.    [ [37]Top ] [ [38]Contents ] [ [39]Next ] [ [40]Previous ]
  309.    
  310.    One of the benefits of processing all the Telnet options during the
  311.    SET HOST and TELNET commands is that it is now possible to configure
  312.    policy requirements for a valid connection. This capability is
  313.    necessary when the connection must be secure (authenticated and
  314.    encrypted) or else fail. Policies are specified with the new command:
  315.    
  316.    SET TELOPT [ switch ] option local-mode
  317.           
  318.    SET TELOPT [ switch ] option remote-mode
  319.           
  320.    SET TELOPT [ switch ] option local-mode remote-mode
  321.           Which of the SET TELOPT command forms is used is dependent on
  322.           the telnet option. Some options, such as authentication,
  323.           terminal type and window size, are negotiated in one direction
  324.           and others, such as binary, encryption and kermit are
  325.           negotiated separately in each direction.
  326.           
  327.    For each option, the mode can be:
  328.    
  329.    ACCEPTED
  330.           Kermit does not offer the option but if the peer requests it
  331.           Kermit agrees to use it.
  332.           
  333.    REFUSED
  334.           Kermit does not offer the option and if the peer requests it
  335.           Kermit refuses to use it.
  336.           
  337.    REQUESTED
  338.           Kermit requests the option but agrees not to use it if the peer
  339.           refuses it.
  340.           
  341.    REQUIRED
  342.           Kermit requests the option and terminates the connection if the
  343.           peer refuses it.
  344.           
  345.    The optional can be:
  346.    
  347.    /CLIENT
  348.           Specifies that the command is being used to set the
  349.           configuration for when Kermit is the Telnet client. This is the
  350.           default when Kermit is not acting as an Internet Kermit
  351.           Service.
  352.           
  353.    /SERVER
  354.           Specifies that the command is being used to set the
  355.           configuration for when Kermit is the Telnet server. Kermit is a
  356.           telnet server when it is accepting incoming connections with
  357.           SET HOST * or when it is acting as an Internet Kermit Service.
  358.           This is the default when Kermit is acting as an Internet Kermit
  359.           Service.
  360.           
  361.    The options that can be configured and their default settings, as
  362.    viewed by SHOW TELOPT, are:
  363.    
  364.        Telnet Option          Me (client)   U (client)  Me (server)   U (server
  365. )
  366.  
  367.    000 BINARY                ACCEPTED     ACCEPTED     ACCEPTED     ACCEPTED
  368.                                  WONT         DONT
  369.    001 ECHO                   REFUSED     ACCEPTED    REQUESTED      REFUSED
  370.                                  WONT         DONT
  371.    003 SUPPRESS-GO-AHEAD     ACCEPTED     ACCEPTED    REQUESTED    REQUESTED
  372.                                  WONT         DONT
  373.    023 SEND-LOCATION        REQUESTED      REFUSED      REFUSED      REFUSED
  374.                                  WONT         DONT
  375.    024 TERMINAL-TYPE        REQUESTED      REFUSED      REFUSED    REQUESTED
  376.                                  WONT         DONT
  377.    031 NAWS                 REQUESTED      REFUSED      REFUSED    REQUESTED
  378.                                  WONT         DONT
  379.    035 XDISPLOC               REFUSED      REFUSED      REFUSED      REFUSED
  380.                                  WONT         DONT
  381.    037 AUTHENTICATION       REQUESTED      REFUSED      REFUSED    REQUESTED
  382.                                  WONT         DONT
  383.    038 ENCRYPTION           REQUESTED    REQUESTED    REQUESTED    REQUESTED
  384.                                  WONT         DONT
  385.    039 NEW-ENVIRONMENT      REQUESTED      REFUSED      REFUSED    REQUESTED
  386.                                  WONT         DONT
  387.    044 COM-PORT-CONTROL     REQUESTED      REFUSED      REFUSED      REFUSED
  388.                                  WONT         DONT
  389.    046 START-TLS             ACCEPTED      REFUSED      REFUSED    REQUESTED
  390.                                  WONT         DONT
  391.    047 KERMIT               REQUESTED    REQUESTED    REQUESTED    REQUESTED
  392.                                  WONT         DONT
  393.    049 FORWARD-X              REFUSED     ACCEPTED      REFUSED      REFUSED
  394.                                  WONT         DONT
  395.                                                                          
  396.  
  397.    The second line listed for each option shows the currently negotiated
  398.    state of the option for the current connection.
  399.    
  400.    The SET TELOPT command should be used instead of the older commands:
  401.    
  402.   SET TELNET AUTHENTICATION {ACCEPTED, REFUSED, REQUESTED, REQUIRED }
  403.   SET TELNET BINARY-MODE    {ACCEPTED, REFUSED, REQUESTED, REQUIRED }
  404.   SET TELNET ENCRYPTION     {ACCEPTED, REFUSED, REQUESTED, REQUIRED }
  405.   SET TELNET ENVIRONMENT    {ON, OFF }
  406.   SET TELNET NAWS           {ACCEPTED, REFUSED, REQUESTED, REQUIRED }
  407.   SET TELNET XDISPLAY-LOC   {ACCEPTED, REFUSED, REQUESTED, REQUIRED }
  408.  
  409.    which are now considered obsolete (but still supported).
  410.    
  411.    [ [41]C-Kermit ] [ [42]Kermit 95 ] [ [43]Kermit Home ]
  412.     ________________________________________________________________________
  413.   
  414.   4. TELNET COMMAND SUMMARY [ [44]Top ] [ [45]Contents ] [ [46]Next ] [
  415.   [47]Previous ]
  416.   
  417.    The Telnet protocol is used by Kermit when establishing the vast
  418.    majority of its connections with the SET HOST or TELNET commands. The
  419.    format of the SET HOST command is SET HOST [ switches ]
  420.    hostname-or-address [ service ] [ protocol-switch ] Telnet protocol is
  421.    used when the protocol-switch is one of the following:
  422.    
  423.    /TELNET
  424.           Send initial Telnet negotiations even if this is not a Telnet
  425.           port.
  426.           
  427.    /NO-TELNET-INIT
  428.           Use Telnet protocol, but do not initiate any telnet
  429.           negotiations unless the server sends a telnet first. For use
  430.           with non-Telnet servers which expect the client to use Telnet
  431.           NVT mode.
  432.           
  433.    /SSL-TELNET
  434.           Perform SSL negotiations and if successful start Telnet
  435.           negotiations.
  436.           
  437.    /TLS-TELNET
  438.           Perform TLS negotiations and if successful start Telnet
  439.           negotiations.
  440.           
  441.    TELNET /AUTH:type /ENCRYPT:type /USERID:name /PASSWORD:string host
  442.           port
  443.           The TELNET command is a shortcut for making interactive
  444.           connections. It is the equivalent of specifying:
  445.           
  446.   SET TELOPT AUTH ...
  447.   SET TELNET AUTH TYPE ...
  448.   SET TELOPT ENCRYPT ...
  449.   SET TELNET ENCRYPT TYPE ...
  450.   SET LOGIN USERID ...
  451.   SET LOGIN PASSWORD ...
  452.   SET HOST /CONNECT host port /TELNET
  453.  
  454.         /AUTH:type
  455.                 Is equivalent to SET TELNET AUTH TYPE type and SET TELOPT
  456.                 AUTH REQUIRED with the following exceptions. If the type
  457.                 is AUTO, then SET TELOPT AUTH REQUESTED is executed and
  458.                 if the type is NONE, then SET TELOPT AUTH REFUSED is
  459.                 executed. If START_TLS is negotiated, REQUIRED becomes
  460.                 REQUESTED.
  461.                 
  462.         /ENCRYPT:type
  463.                 Is equivalent to SET TELNET ENCRYPT TYPE type and SET
  464.                 TELOPT ENCRYPT REQUIRED REQUIRED with the following
  465.                 exceptions. If the type is AUTO then SET TELOPT AUTH
  466.                 REQUESTED REQUESTED is executed and if the type is NONE
  467.                 then SET TELOPT ENCRYPT REFUSED REFUSED is executed. If
  468.                 START_TLS is negotiated, REQUIRED becomes REFUSED.
  469.                 
  470.         /USERID:[name]
  471.                 This switch is equivalent to SET LOGIN USERID name or SET
  472.                 TELNET ENVIRONMENT USER name. If a string is given, it
  473.                 sent to host during Telnet negotiations; if this switch
  474.                 is given but the string is omitted, no user ID is sent to
  475.                 the host. If this switch is not given, your current
  476.                 USERID value, \v(userid), is sent. When a userid is sent
  477.                 to the host it is a request to login as the specified
  478.                 user.
  479.                 
  480.         /PASSWORD:[string]
  481.                 This switch is equivalent to SET LOGIN PASSWORD. If a
  482.                 string is given, it is treated as the password to be used
  483.                 (if required) by any Telnet Authentication protocol
  484.                 (Kerberos Ticket retrieval, Secure Remote Password, or
  485.                 X.509 certificate private key decryption.) If no password
  486.                 switch is specified a prompt is issued to request the
  487.                 password if one is required for the negotiated
  488.                 authentication method.
  489.                 
  490.    For TCP/IP TELNET connections, which are in NVT (ASCII) mode by
  491.    default:
  492.    
  493.    SET LOGIN USERID name
  494.           If a name is given, it sent to host during Telnet negotiations;
  495.           if this switch is given but the string is omitted, no user ID
  496.           is sent to the host. If this command is not given, your current
  497.           USERID value, \v(userid), is sent. When a userid is sent to the
  498.           host it is a request to login as the specified user.
  499.           
  500.    SET LOGIN PASSWORD password
  501.           If a is given, it is treated as the password to be used (if
  502.           required) by any Telnet Authentication protocol (Kerberos
  503.           Ticket retrieval, Secure Remote Password (SRP), or X.509
  504.           certificate private key decryption.) If no password is
  505.           specified a prompt is issued to request the password if one is
  506.           required for the negotiated authentication method.
  507.           
  508.    SET TELNET AUTHENTICATION TYPE -
  509.           {AUTOMATIC, KERBEROS_IV, KERBEROS_V, NTLM, SSL, SRP, NONE } [ {
  510.           ... } ... ]
  511.           AUTOMATIC allows the host to choose the preferred type of
  512.           authentication. Other values allow a specific authentication
  513.           method to be used. AUTOMATIC is the default. Available options
  514.           can vary depending on configuration; type SET TELNET
  515.           AUTHENTICATION TYPE ? for a list.
  516.           
  517.           When the type is AUTOMATIC and Kermit is accepting incoming
  518.           connections the supported authentication methods will be
  519.           offered in the following order:
  520.           
  521.          1. NTLM (windows only)
  522.          2. Kerberos 5
  523.          3. Kerberos 4
  524.          4. Secure Remote Password
  525.          5. SSL
  526.             This is the equivalent of the command:
  527.  
  528.   SET TELNET AUTH TYPE NTLM KRB5 KRB4 SRP SSL
  529.         SET TELNET AUTHENTICATION FORWARDING { ON, OFF }
  530.             Set this to ON to forward Kerberos V ticket-granting-tickets
  531.             to the host after authentication is complete. OFF by default.
  532.         SET TELNET AUTHENTICATION ENCRYPT-FLAG { ANY, NONE, TELOPT }
  533.             Use this command to specify which AUTH telopt encryption
  534.             flags may be accepted in client mode or offered in server
  535.             mode. The default is ANY.
  536.         SET TELNET AUTHENTICATION HOW-FLAG { ANY, ONE-WAY, MUTUAL }
  537.             Use this command to specify which AUTH telopt how flags may
  538.             be accepted in client mode or offered in server mode. The
  539.             default is ANY.
  540.         SET TELNET BINARY-TRANSFER-MODE { ON, OFF }
  541.             Set this command to ON if you want to force Kermit to
  542.             negotiate Telnet Binary in both directions when performing
  543.             file transfers. Default is OFF. Alias SET TELNET
  544.             BINARY-XFER-MODE.
  545.         SET TELNET BUG BINARY-ME-MEANS-U-TOO { ON, OFF }
  546.             Set this to ON to try to overcome TELNET binary-mode
  547.             misnegotiations by C-Kermit's TELNET partner.
  548.         SET TELNET BUG BINARY-U-MEANS-ME-TOO { ON, OFF }
  549.             Set this to ON to try to overcome TELNET binary-mode
  550.             misnegotiations by C-Kermit's TELNET partner.
  551.         SET TELNET BUG INFINITE-LOOP-CHECK { ON, OFF }
  552.             Set this to ON to prevent Kermit from responding to a telnet
  553.             negotiation sequence that enters an infinite loop. The
  554.             default is OFF because this should never occur.
  555.         SET TELNET BUG SB-IMPLIES-WILL-DO { ON, OFF }
  556.             Set this to ON to allow Kermit to respond to telnet
  557.             sub-negotiations if the peer forgets to respond to WILL with
  558.             DO or to DO with WILL before sending a SB (subnegotiation).
  559.         SET TELNET DEBUG ON
  560.             Displays all TELNET negotiations in full detail.
  561.         SET TELNET DELAY-SB { ON, OFF }
  562.             When ON, telnet subnegotiation responses are delayed until
  563.             after all authentication and encryption options are either
  564.             successfully negotiated or refused. This ensures that private
  565.             data is protected. When OFF, telnet subnegotiation responses
  566.             are sent immediately. The default is ON.
  567.         SET TELNET ECHO { LOCAL, REMOTE }
  568.             C-Kermit's initial echoing state for TELNET connections,
  569.             LOCAL by default. After the connection is made, TELNET
  570.             negotiations determine the echoing.
  571.         SET TELNET ENCRYPTION TYPE { AUTOMATIC, CAST128_CFB64,
  572.             CAST128_OFB64,CAST5_40_CFB64, CAST5_40_OFB64, DES_CFB64,
  573.             DES_OFB64, DES3_CFB64, DES3_OFB64, NONE }
  574.             AUTOMATIC allows the host to choose the preferred type of
  575.             encryption. Other values allow a specific encryption method
  576.             to be specified. AUTOMATIC is the default. The list of
  577.             options will vary depending on the encryption types selected
  578.             at compilation time. When the type is AUTOMATIC and Kermit is
  579.             accepting incoming connections the supported encryption
  580.             methods will be offered in the following order:
  581.  
  582.   DES3_CFB64
  583.   CAST128_CFB64
  584.   DES_CFB64
  585.   CAST5_40_CFB64
  586.   DES3_OFB64
  587.   CAST128_OFB64
  588.   DES_OFB64
  589.   CAST5_40_OFB64
  590.         SET TELNET ENVIRONMENT [ USERVAR ] { variable-name [ value ] }
  591.             This feature lets Kermit send the values of certain
  592.             environment variables to the other computer if it asks for
  593.             them. The variable-name can be any of the "well-known"
  594.             variables "USER", "JOB", "ACCT", "PRINTER", "SYSTEMTYPE", or
  595.             "DISPLAY". The default values are taken from your
  596.             environment; use this command to change or remove them. If
  597.             USERVAR is specified you can include any non-standard
  598.             environment variables.
  599.             The most commonly used variables and their default values
  600.             are:
  601.             
  602.               USER:
  603.                       Telnet servers that request this value will use it
  604.                       as the name of the account to be accessed and will
  605.                       therefore not prompt you for a username. If a
  606.                       password is required to access the specified user's
  607.                       account only the password prompt will be issued.
  608.                       The default value is the name of the user on the
  609.                       local machine. This value may also be set with the
  610.                       command SET LOGIN USER name.
  611.                       
  612.               DISPLAY:
  613.                       This variable is used to specify the location of
  614.                       the X Windows Server to be used by X Windows client
  615.                       applications executed on the remote host. This
  616.                       value is used by three telnet options: ENVIRONMENT,
  617.                       XDISPLOC, and FORWARD-X. The default value is
  618.                       retrieved from the value of the DISPLAY environment
  619.                       variable in the local environment.
  620.                       
  621.               PRINTER:
  622.                       This variable is used to specify the location of
  623.                       the LPR printer to be used for printing files on
  624.                       the host. This variable is not set by default.
  625.                       
  626.               SYSTEM:
  627.                       This variable is used to specify the operating
  628.                       system type of the local machine. The default value
  629.                       is determined by Kermit. Typical values are "UNIX",
  630.                       "VMS", "WIN32", and "OS2".
  631.                       
  632.             See [48]RFC1572 for further details.
  633.         SET TELNET LOCATION [ text ]
  634.             Location string to send to the Telnet server if it asks. By
  635.             default this is picked up from the LOCATION environment
  636.             variable. Give this command with no text to disable this
  637.             feature. This string is sent either by using the SNDLOC
  638.             option or as USERVAR "LOCATION" within the NEW-ENV option.
  639.         SET TELNET NEWLINE-MODE { NVT, BINARY-MODE } { OFF, ON, RAW }
  640.             Determines how carriage returns are handled on TELNET
  641.             connections. There are separate settings for NVT (ASCII) mode
  642.             and binary mode. ON (default for NVT mode) means CRLF
  643.             represents CR. OFF means CR followed by NUL represents CR.
  644.             RAW (default for BINARY mode) means CR stands for itself.
  645.         SET TELNET PROMPT-FOR-USERID prompt
  646.             Specifies a custom prompt to be used when prompting for a
  647.             userid. Kermit will prompt for a userid if "set login userid
  648.             {}" has been issued prior to a telnet authentication
  649.             negotiation for an authentication type that requires the
  650.             transmission of a name. (e.g. Secure Remote Password).
  651.         SET TELNET REMOTE-ECHO { ON, OFF }
  652.             Applies only to incoming connections created with: "set host
  653.             * port /telnet". This command determines whether Kermit will
  654.             actually echo characters received from the remote when it has
  655.             negotiated to do so. The default is ON. Remote echoing may be
  656.             turned off when it is necessary to read a password with the
  657.             INPUT command.
  658.         SET TELNET SFU-COMPATIBILITY-MODE { ON, OFF }
  659.             Turns on the SFUTLNTVER and SFUTLNTMODE environment variables
  660.             for use on connections to Microsoft's Services for Unix and
  661.             Windows 2000 Telnet Servers.
  662.         SET TELNET TERMINAL-TYPE name
  663.             The terminal type to send to the remote TELNET host. If none
  664.             is given, your current SET TERMINAL TYPE value is sent, e.g.
  665.             VT220.
  666.         SET TELNET TRANSFER-MODE { ON, OFF }
  667.             When ON (OFF by default) and BINARY negotiations are not
  668.             REFUSED Kermit will attempt to negotiate BINARY mode in each
  669.             direction before the start of each file transfer. After the
  670.             transfer is complete BINARY mode will be restored to the
  671.             pre-transfer state.
  672.         SET TELNET WAIT-FOR-NEGOTIATIONS { ON, OFF }
  673.             Each Telnet option must be fully negotiated either On or Off
  674.             before the session can continue. This is especially true with
  675.             options that require subnegotiations such as Authentication,
  676.             Encryption, and Kermit; for proper support of these options
  677.             Kermit must wait for the negotiations to complete. Of course,
  678.             Kermit has no way of knowing whether a reply is delayed or
  679.             not coming at all, and so will wait forever before continuing
  680.             the session. If you know that Kermit's Telnet partner will
  681.             not be sending the required replies, you should instruct
  682.             Kermit to REFUSE specific options with the SET TELOPT
  683.             command. If you do not know which command the host is not
  684.             responding to set this option of OFF.
  685.             [ [49]C-Kermit ] [ [50]Kermit 95 ] [ [51]Kermit Home ]
  686.     ________________________________________________________________________
  687.   
  688.   5. DIAGNOSING AND FIXING PROBLEMS CONNECTING TO TELNET SERVERS
  689.             [ [52]Top ] [ [53]Contents ] [ [54]Previous ]
  690.             SECTION CONTENTS
  691.  
  692.   5.1.  [55]BUG: Telnet Server does not respond to telnet options.
  693.   5.2.  [56]BUG: Server sends a subnegotiation without negotiating the option
  694.   5.3.  [57]BUG: Server sends DO TERM_TYPE but then never asks for the terminal
  695.  type.
  696.   5.4.  [58]BUG: Server negotiates BINARY mode in one direction but uses it in
  697. both.
  698.   5.5.  [59]PROBLEM: Long login times
  699.   5.6.  [60]PROBLEM: The Telnet Server skips "login:" prompt
  700.   5.7.  [61]BUG: The host echos input but never negotiates WILL ECHO
  701.   5.8.  [62]BUG: BSDI BSD/OS 3.1 Telnetd improperly implements WILL BINARY mode
  702.   5.9.  [63]PROBLEM: The host supports Telnet AUTH but you wish to login manual
  703. ly
  704.   5.10. [64]PROBLEM:  Applications on the host are unable to open the X Windows
  705.  DISPLAY
  706.   5.11. [65]PROBLEM: The Telnet Server is the Microsoft Windows 2000 Telnet Ser
  707. vice
  708.   5.12. [66]PROBLEM: The Telnet Server is Seattle Lab's SLNet Telnet Server for
  709.  NT
  710.             After we replaced the Telnet engine and added support for the
  711.             new functionality we found many Telnet servers that do not
  712.             adhere to the Telnet protocol as described in the IETF RFCs.
  713.             Here are some of the most common bugs and the workarounds
  714.             that Kermit provides the user to avoid them.
  715.             [ [67]C-Kermit ] [ [68]Kermit 95 ] [ [69]Kermit Home ]
  716.       ______________________________________________________________________
  717.     
  718.     5.1 BUG: Telnet Server does not respond to telnet options.
  719.             [ [70]Top ] [ [71]Contents ] [ [72]Section Contents ] [
  720.             [73]Next ]
  721.             
  722.               Description:
  723.                       The telnet protocol requires that all initial
  724.                       requests for action (WILL or DO) must be responded
  725.                       to either in the affirmative (DO or WILL) or in the
  726.                       negative (DONT or WONT). A negative response is
  727.                       required for all unrecognized options. A failure to
  728.                       respond to a Telnet option may result in the peer
  729.                       waiting forever.
  730.                       
  731.                       This behavior is known to exist in the following
  732.                       telnet servers:
  733.                       
  734.                     # AOS/VS II Release 2.20.00.39
  735.                     # IBM OS/2 Warp 4.0 (all versions not configured with
  736.                       authentication modules)
  737.                       
  738.               Symptom:
  739.                       Kermit connects to the host, waits two minutes, and
  740.                       then reports a telnet protocol error followed by
  741.                       the list of outstanding negotiations. Kermit has
  742.                       sent a Telnet option such as WILL AUTH and is
  743.                       waiting for the required response which never
  744.                       comes. In C-Kermit you will see "Negotiations...."
  745.                       with many dots. In K95 you will see the "spinner"
  746.                       twirl.
  747.                       
  748.                       Example:
  749.                       
  750.   DNS Lookup...  Trying xxx.xxx.xxx.xxx...  Reverse DNS Lookup... (OK)
  751.   Negotiations... ?Telnet Protocol Timeout
  752.   ?Telnet waiting for response to WILL TERMINAL-TYPE
  753.   ?Telnet waiting for response to WILL NAWS
  754.   ?Telnet waiting for response to WILL AUTHENTICATION
  755.   ?Telnet waiting for response to WILL NEW-ENVIRONMENT
  756.  
  757.   **** AOS/VS II  Release 2.20.00.39 / Press NEW-LINE to begin logging on ****
  758.  
  759.   Too slow - input timed out
  760.  
  761.               Workaround:
  762.                       For each of the telnet options listed as missing a
  763.                       response issue a
  764.                       
  765.   SET TELOPT option REFUSED [ REFUSED ]
  766.  
  767.                       command. For instance:
  768.                       
  769.   SET TELOPT TERMINAL-TYPE REFUSED
  770.   SET TELOPT NAWS REFUSED
  771.   SET TELOPT AUTHENTICATION REFUSED
  772.   SET TELOPT NEW-ENVIRONMENT REFUSED
  773.  
  774.             [ [74]C-Kermit ] [ [75]Kermit 95 ] [ [76]Kermit Home ]
  775.       ______________________________________________________________________
  776.     
  777.     5.2 BUG: Server sends a subnegotiation without negotiating the option
  778.             [ [77]Top ] [ [78]Contents ] [ [79]Section Contents ] [
  779.             [80]Next ] [ [81]Previous ]
  780.             
  781.               Description:
  782.                       The telnet protocol requires that subnegotiations
  783.                       not be sent until the peers have agreed to WILL or
  784.                       DO the specified option. All subnegotiations
  785.                       received in a WONT or DONT state are to be ignored.
  786.                       
  787.               Symptom:
  788.                       There are two possibilities. In the first, the host
  789.                       sends a subnegotiation such as
  790.                       
  791.   IAC SB TERM_TYPE SEND IAC SE
  792.  
  793.                       without Kermit attempting to use the telnet option.
  794.                       
  795.   IAC WILL TERM_TYPE
  796.   IAC DO TERM_TYPE
  797.  
  798.                       In this case the subnegotiation request will be
  799.                       ignored and the subnegotiation response
  800.                       
  801.   IAC SB TERM_TYPE IS type IAC SE
  802.  
  803.                       will not be sent. How this affects the sender of
  804.                       the illegal subnegotation is unknown.
  805.                       
  806.                       In the second scenario, Kermit sends
  807.                       
  808.   IAC WILL TERM_TYPE
  809.  
  810.                       But the host sends the subnegotiation without
  811.                       responding to the request with:
  812.                       
  813.   IAC DO TERM_TYPE
  814.  
  815.                       This scenario degenerates into the previous bug.
  816.                       (See "Telnet Server does not respond to telnet
  817.                       options it does not recognize.")
  818.                       
  819.               Workaround:
  820.                       For the first scenario, there is nothing that can
  821.                       be done. Kermit is already ignoring the
  822.                       subnegotiations and there is nothing that Kermit
  823.                       can do to force the host to adhere to the protocol.
  824.                       If you have a support contract with the maker of
  825.                       the Telnet Server, file a report.
  826.                       
  827.                       For the second scenario, Kermit implements a
  828.                       workaround which is on by default:
  829.                       
  830.  SET TELNET BUG SB-IMPLIES-WILL-DO ON
  831.  
  832.                       This causes Kermit to treat:
  833.                       
  834.   IAC SB TERM_TYPE SEND IAC SE
  835.  
  836.                       as if it were:
  837.                       
  838.   IAC WILL TERM_TYPE
  839.   IAC SB TERM_TYPE SEND IAC SE
  840.             [ [82]C-Kermit ] [ [83]Kermit 95 ] [ [84]Kermit Home ]
  841.       ______________________________________________________________________
  842.     
  843.     5.3 BUG: Server sends DO TERM_TYPE but then never asks for the terminal
  844.     type.
  845.             [ [85]Top ] [ [86]Contents ] [ [87]Section Contents ] [
  846.             [88]Next ] [ [89]Previous ]
  847.             
  848.               Description:
  849.                       Although it is not required by the Telnet
  850.                       Terminal-Type RFC, it makes sense that if a server
  851.                       asks the client to negotiate the terminal type,
  852.                       that it will actually go through with the
  853.                       negotiation.
  854.                       
  855.               Symptom:
  856.                       Kermit reports that Terminal Type negotiation is in
  857.                       use but the terminal type is not configured
  858.                       properly on the host.
  859.                       
  860.               Workaround:
  861.                       There isn't much that can be done other than to
  862.                       instruct Kermit to:
  863.                       
  864.   SET TELOPT TERMINAL-TYPE REFUSE
  865.  
  866.                       so it doesn't appear to the user that the terminal
  867.                       type has indeed been negotiated.
  868.                       
  869.             [ [90]C-Kermit ] [ [91]Kermit 95 ] [ [92]Kermit Home ]
  870.       ______________________________________________________________________
  871.     
  872.     5.4 BUG: Server negotiates BINARY mode in one direction but uses it in
  873.     both.
  874.             [ [93]Top ] [ [94]Contents ] [ [95]Section Contents ] [
  875.             [96]Next ] [ [97]Previous ]
  876.             
  877.               Description:
  878.                       When either the client or the server says it WILL
  879.                       BINARY and the peer accepts, it is an indication
  880.                       that CR is to be sent without a following NUL or LF
  881.                       by the sender of WILL BINARY. A misunderstanding
  882.                       about the meaning of this negotiation can prevent
  883.                       files from being transferred as the packet lengths
  884.                       and checksums will not match.
  885.                       
  886.               Symptom:
  887.                       File transfers fail, reporting checksum or packet
  888.                       length errors.
  889.                       
  890.               Workaround:
  891.                       Use SET TERMINAL DEBUG ON to determine which
  892.                       direction the host is negotiating BINARY mode in.
  893.                       
  894.                       Then use either:
  895.                       
  896.   SET TELNET BUG BINARY-ME-MEANS-U-TOO ON
  897.  
  898.               or:
  899.                       
  900.   SET TELNET BUG BINARY-U-MEANS-ME-TOO ON
  901.  
  902.                       to instruct Kermit to follow the broken behavior.
  903.                       
  904.             [ [98]C-Kermit ] [ [99]Kermit 95 ] [ [100]Kermit Home ]
  905.       ______________________________________________________________________
  906.     
  907.     5.5 PROBLEM: Long login times
  908.             [ [101]Top ] [ [102]Contents ] [ [103]Section Contents ] [
  909.             [104]Next ] [ [105]Previous ]
  910.             
  911.               Description:
  912.                       A connection is made to the Telnet Server but then
  913.                       it takes 30 to 60 seconds for a login prompt, or
  914.                       disconnects without displaying a prompt.
  915.                       
  916.               Symptom:
  917.                       The host is trying to resolve a host name for the
  918.                       IP Address assigned to your computer and is unable
  919.                       to.
  920.                       
  921.               Workaround
  922.                       Check with your network administrator or ISP to
  923.                       make sure that the IP address you are using has a
  924.                       valid DNS entry for reverse lookups (IP address to
  925.                       name).
  926.                       
  927.             [ [106]C-Kermit ] [ [107]Kermit 95 ] [ [108]Kermit Home ]
  928.       ______________________________________________________________________
  929.     
  930.     5.6 PROBLEM: The Telnet Server does not display a "login:" prompt
  931.             [ [109]Top ] [ [110]Contents ] [ [111]Section Contents ] [
  932.             [112]Next ] [ [113]Previous ]
  933.             
  934.               Description:
  935.                       The server you are connecting to supports the
  936.                       Telnet environment option and has been given your
  937.                       username on the workstation during the telnet
  938.                       option negotiations.
  939.                       
  940.               Workaround:
  941.                       If your username on the workstation is not the same
  942.                       as the username on the host, or if you are using a
  943.                       script that requires a username or login prompt,
  944.                       use the command:
  945.                       
  946.   SET TELNET ENVIRONMENT USER {}
  947.  
  948.               or:
  949.                       
  950.   SET LOGIN USERID {}
  951.  
  952.                       to specify your name on the host; or disable this
  953.                       option with:
  954.                       
  955.   SET TELOPT NEW-ENVIRONMENT REFUSED
  956.             [ [114]C-Kermit ] [ [115]Kermit 95 ] [ [116]Kermit Home ]
  957.       ______________________________________________________________________
  958.     
  959.     5.7 BUG: The host echos input but never negotiates WILL ECHO
  960.             [ [117]Top ] [ [118]Contents ] [ [119]Section Contents ] [
  961.             [120]Next ] [ [121]Previous ]
  962.             
  963.               Description:
  964.                       The Telnet protocol requires that all Telnet
  965.                       options be in a state of I DONT and you WONT until
  966.                       otherwise negotiated. That means that unless a host
  967.                       says WILL ECHO it should not echo data; the client
  968.                       should echo it locally.
  969.                       
  970.               Symptom:
  971.                       Failure to follow the protocol definition can
  972.                       result in no echoing or double echoing. This kind
  973.                       of confusion has been seen with two well-known
  974.                       sites:
  975.                       
  976.                     # The USA Library of Congress
  977.                     # Dow Jones News Retrieval
  978.                       
  979.               Workaround:
  980.                       SET TELNET ECHO REMOTE
  981.                       SET TELOPT ECHO REFUSE
  982.                       
  983.             [ [122]C-Kermit ] [ [123]Kermit 95 ] [ [124]Kermit Home ]
  984.       ______________________________________________________________________
  985.     
  986.     5.8 BUG: BSDI BSD/OS 3.1 Telnetd improperly implements WILL BINARY mode
  987.             [ [125]Top ] [ [126]Contents ] [ [127]Section Contents ] [
  988.             [128]Next ] [ [129]Previous ]
  989.             
  990.               Description:
  991.                       The BSDI telnetd when it negotiates WILL BINARY
  992.                       (host to client) binary mode refuses to transmit CR
  993.                       control characters. The man page for telnetd
  994.                       states, "Binary mode has no common interpretation
  995.                       except between similar operating systems (Unix in
  996.                       this case)." The implementors clearly have misread
  997.                       [130]RFC856 (TELNET BINARY TRANSMISSION) which
  998.                       clearly states that the only affect that BINARY
  999.                       mode has on the channel is to disable NVT (network
  1000.                       virtual terminal) handling of CR (CR no longer must
  1001.                       be followed by NUL if it is not followed by LF) and
  1002.                       that the 8th data bit must not be stripped.
  1003.                       
  1004.               Symptom:
  1005.                       By refusing to transmit CR control characters and
  1006.                       instead translating them to LF the BSDI telnetd
  1007.                       causes end of lines to be misinterpreted by the
  1008.                       terminal and for file transfers to become corrupted
  1009.                       if the host is allowed to negotiate WILL BINARY.
  1010.                       
  1011.               Workaround:
  1012.                       SET TELOPT BINARY ACCEPT REFUSE
  1013.                       
  1014.             [ [131]C-Kermit ] [ [132]Kermit 95 ] [ [133]Kermit Home ]
  1015.       ______________________________________________________________________
  1016.     
  1017.     5.9 PROBLEM: The host supports Telnet AUTH but you wish to login manually
  1018.             [ [134]Top ] [ [135]Contents ] [ [136]Section Contents ] [
  1019.             [137]Next ] [ [138]Previous ]
  1020.             
  1021.               Description:
  1022.                       You are using Kermit to connect to a host that
  1023.                       supports Telnet Authentication except you need to
  1024.                       login manually for one of the following reasons:
  1025.                       
  1026.                     # You do not have credentials that match the
  1027.                       supported Telnet AUTH type. For example, the host
  1028.                       supports Kerberos 5 but you do not have a principal
  1029.                       defined in the Kerberos realm even though you have
  1030.                       a valid account on the host.
  1031.                     # You wish to login to an Internet Kermit Service
  1032.                       anonymously.
  1033.                       
  1034.               Workaround:
  1035.                       SET TELOPT AUTH REFUSE
  1036.                       
  1037.                       To login anonymously, set the userid to anonymous.
  1038.                       This will force Kermit to refuse to authenticate.
  1039.                       
  1040.             [ [139]C-Kermit ] [ [140]Kermit 95 ] [ [141]Kermit Home ]
  1041.       ______________________________________________________________________
  1042.     
  1043.     5.10 PROBLEM: Applications on the host are unable to open the X Windows
  1044.     DISPLAY
  1045.             [ [142]Top ] [ [143]Contents ] [ [144]Section Contents ] [
  1046.             [145]Next ] [ [146]Previous ]
  1047.             
  1048.               Description:
  1049.                       Some applications such as the editor 'emacs' are
  1050.                       dual mode. They execute either in terminal mode or
  1051.                       as an X Windows client. If the application
  1052.                       terminates with an error that it is unable to open
  1053.                       the DISPLAY it could be for one of the following
  1054.                       reasons:
  1055.                       
  1056.                     # A DISPLAY environment variable is defined in the
  1057.                       shell's script that is executed at login and it
  1058.                       points to an invalid value;
  1059.                     # There is a DISPLAY environment variable defined on
  1060.                       the local machine which has been forwarded to the
  1061.                       host by Kermit and the specified DISPLAY is
  1062.                       unreachable.
  1063.                     # A SET TELNET ENVIRONMENT DISPLAY command was issued
  1064.                       prior to connecting to the host and the specified
  1065.                       DISPLAY value is invalid.
  1066.                       
  1067.               Workaround:
  1068.                       If you wish to use the application as an X Windows
  1069.                       client you must have a working X Windows Server
  1070.                       running on your local machine and specify a valid
  1071.                       DISPLAY string for your server. This can either be
  1072.                       specified on the host via:
  1073.                       
  1074.   export DISPLAY=host:display[.screen]
  1075.  
  1076.                       or by specifying the display in Kermit with the
  1077.                       command
  1078.                       
  1079.    SET TELNET ENVIRONMENT DISPLAY [host:]display[.screen]
  1080.  
  1081.                       If your telnet server supports any of the following
  1082.                       telnet options:
  1083.                       
  1084.                     # X-Display Location
  1085.                     # Environment Variables
  1086.                     # X-Windows Forwarding
  1087.                       
  1088.                       then Kermit will transmit the DISPLAY value to the
  1089.                       host during the initial telnet negotiations.
  1090.                       
  1091.                       If you wish to use the application in terminal mode
  1092.                       you can prevent Kermit from transmitting the local
  1093.                       DISPLAY value to the host by issuing the following
  1094.                       commands:
  1095.                       
  1096.   SET TELOPT XDISPLOC REFUSE
  1097.   SET TELOPT FORWARD-X REFUSE
  1098.   SET TELNET ENVIRONMENT DISPLAY
  1099.             [ [147]C-Kermit ] [ [148]Kermit 95 ] [ [149]Kermit Home ]
  1100.       ______________________________________________________________________
  1101.     
  1102.     5.11 PROBLEM: The Telnet Server is the Microsoft Windows 2000 Telnet
  1103.     Service
  1104.             [ [150]Top ] [ [151]Contents ] [ [152]Section Contents ] [
  1105.             [153]Next ] [ [154]Previous ]
  1106.             
  1107.               Description:
  1108.                       The Microsoft Windows 2000 (and NT Services for
  1109.                       Unix) Telnet Service is a bit of a challenge to
  1110.                       work with due to limitations that are imposed by
  1111.                       the Windows platform and the choices made by the
  1112.                       developers. The Telnet Service supports three
  1113.                       terminal emulations (ANSI, VT100, and VTNT) and two
  1114.                       types of end user login (Telnet AUTH NTLM and
  1115.                       plaintext domain\username/password.) Depending on
  1116.                       the choices that are made will determine the levels
  1117.                       of functionality that can be obtained for the
  1118.                       service.
  1119.                       
  1120.               Terminal types:
  1121.                       ANSI and VT100 are considered to be the same
  1122.                       terminal type by Microsoft even though they have
  1123.                       some very significant differences. The Microsoft
  1124.                       ANSI is closest to the Kermit 95 "ANSI-BBS" which
  1125.                       should be used in preference to VT100 when
  1126.                       communicating with this service. The VTNT terminal
  1127.                       type is Microsoft specific (and undocumented.)
  1128.                       Kermit 95 implements a reverse engineered
  1129.                       implementation. VTNT uses raw Win32 data structures
  1130.                       to implement transmission of screen snapshots from
  1131.                       the service to the client; and keystroke events
  1132.                       from the client to the service. VTNT is the
  1133.                       preferred terminal type to use with the Microsoft
  1134.                       Telnet service provided that you do not need access
  1135.                       to Kermit 95 keyboard verbs or any form of
  1136.                       scripting. If Keyboard verbs or scripting are
  1137.                       required ANSI or VT100 must be used.
  1138.                       
  1139.                       When using ANSI or VT100 the Backspace key must
  1140.                       send BS and not DEL.
  1141.                       
  1142.                       ANSI and VT100 do not support color whereas VTNT
  1143.                       does.
  1144.                       
  1145.                       VTNT supports Unicode characters. ANSI and VT100
  1146.                       only support the local ANSI code page. You must
  1147.                       configure the Kermit local and remote character
  1148.                       sets to properly convert between ANSI code pages.
  1149.                       
  1150.               End user login:
  1151.                       The Microsoft provides two forms of end user login.
  1152.                       The first is via the use of "login:" and
  1153.                       "password:" prompts. The username is either the
  1154.                       name of a user with a local account; or a
  1155.                       domain\name which specifies a user with an account
  1156.                       in the provided domain. Since the login is
  1157.                       performed over an unencrypted channel the password
  1158.                       is easily stolen by monitoring the local network
  1159.                       traffic.
  1160.                       
  1161.                       The second method is a proprietary (and
  1162.                       undocumented) Telnet authentication method based
  1163.                       upon the NT Lan Manager (NTLM) protocol. This
  1164.                       protocol has also been reverse engineered and
  1165.                       implemented in Kermit 95. NTLM does not produce a
  1166.                       shared secret that can be used for encrypting the
  1167.                       connection. NTLM can only be implemented on Windows
  1168.                       9x, NT, or Windows 2000 so connections from other
  1169.                       operating systems must use plaintext logins.
  1170.                       
  1171.                       If NTLM is used, the user can only log into the
  1172.                       service with the identity they are logged into the
  1173.                       local workstation. If another username is desired
  1174.                       NTLM must be disabled on the client (SET TELOPT
  1175.                       AUTH REFUSE). [K95 1.1.20 only]
  1176.                       
  1177.                       Other quirks:
  1178.                       
  1179.                     # The Microsoft Telnet Service implements Telnet NAWS
  1180.                       (Negotiate About Window Size) but only listens to
  1181.                       it when the connection is initially established.
  1182.                       This has two side effects when used with Kermit.
  1183.                       First, the Telnet Service may completely ignore the
  1184.                       screen size reported by Kermit if it is not sent
  1185.                       immediately after the Telnet Service agrees to use
  1186.                       NAWS. Second, the Telnet Service will not recognize
  1187.                       changes to the screen size after the connection is
  1188.                       established.
  1189.                     # The Microsoft Telnet Service does not create a
  1190.                       proper environment for the end user. The user's
  1191.                       profile, home directory and environment variables
  1192.                       are not loaded onto the system. Applications that
  1193.                       require this information may fail to execute or
  1194.                       otherwise run incorrectly.
  1195.                     # The Microsoft Telnet Service only allows a single
  1196.                       telnet session to be running at any one time.
  1197.                     # The Microsoft Telnet Service provides no mechanism
  1198.                       for performing file transfers.
  1199.                     # The Microsoft Telnet Service performs its job by
  1200.                       taking snapshots of the console's active virtual
  1201.                       window. This means that it is possible for data to
  1202.                       be lost due to scrolling or other screen updates
  1203.                       between snapshots. This can play havoc with scripts
  1204.                       and prevents Kermit from being able to store data
  1205.                       into its scrollback buffers.
  1206.                     # If the NTLM authentication feature is disabled in
  1207.                       the registry, the Telnet Server will not respond to
  1208.                       authentication requests causing the bug entitled
  1209.                       Telnet Server does not respond to telnet options.
  1210.                       
  1211.               Recommendations:
  1212.                       If using Kermit 95 and scripts are not required:
  1213.                       
  1214.   SET TERMINAL TYPE VTNT
  1215.   SET TELNET DELAY-SB OFF
  1216.   SET KEY \264 \8
  1217.  
  1218.                       If scripts are required:
  1219.                       
  1220.   SET TERMINAL TYPE ANSI
  1221.   SET TELNET DELAY-SB OFF
  1222.   SET KEY \264 \8
  1223.  
  1224.                       If the Telnet Server has NTLM authentication
  1225.                       disabled use the command:
  1226.                       
  1227.   SET TELOPT AUTH REFUSE
  1228.  
  1229.               or:
  1230.                       
  1231.   TELNET /AUTH:none host
  1232.  
  1233.                       If you are using C-Kermit:
  1234.                       
  1235.   SET TELNET TERMINAL ANSI
  1236.   SET TELNET DELAY-SB OFF
  1237.             [ [155]C-Kermit ] [ [156]Kermit 95 ] [ [157]Kermit Home ]
  1238.       ______________________________________________________________________
  1239.     
  1240.     5.12 PROBLEM: The Telnet Server is Seattle Lab's SLNet Telnet Server for NT
  1241.             [ [158]Top ] [ [159]Contents ] [ [160]Section Contents ] [
  1242.             [161]Previous ]
  1243.             Version 2.5 of the SLNet Telnet Server violates serveral IETF
  1244.             RFCs which hamper the interoperability of SLNet with
  1245.             conforming Telnet client implementations.
  1246.             
  1247.               Problem 1:
  1248.                       The SLNet Telnet Server negotiates a Telnet AUTH
  1249.                       TYPE (99) which has not been requested from nor
  1250.                       registered with [162]IANA. All telnet option and
  1251.                       sub-option values MUST be approved and issued by
  1252.                       IANA in order to facilitate interoperability among
  1253.                       products distributed by developers from all over
  1254.                       the world.
  1255.                       
  1256.                       When Kermit refuses to perform authentication using
  1257.                       the unknown method, the SLNet Telnet Server does
  1258.                       not respond to the refusal:
  1259.                       
  1260.   TELNET SENT WILL AUTHENTICATION
  1261.   TELNET RCVD DO AUTHENTICATION
  1262.   TELNET RCVD SB AUTHENTICATION SEND UNKNOWN=99 CLIENT_TO_SERVER|MUTUAL=2 IAC S
  1263. E
  1264.   TELNET SENT SB AUTHENTICATION IS NULL NULL IAC SE
  1265.   TELNET SENT WONT AUTHENTICATION
  1266.  
  1267.               Problem 2:
  1268.                       As per [163]RFC 855, Telnet requires a default WONT
  1269.                       or DONT response for any telnet option that is not
  1270.                       supported or recognized. The SLNet Telnet server
  1271.                       does not respond in either an affirmative or
  1272.                       negative manner to
  1273.                       
  1274.  
  1275.   IAC WILL NEW-ENVIRONMENT
  1276.  
  1277.               The Telnet Server also does not respond to
  1278.                       
  1279.   IAC WILL ENCRYPTION
  1280.   IAC DO ENCRYPTION
  1281.   IAC WILL KERMIT
  1282.   IAC DO KERMIT
  1283.   IAC DO FORWARD_X
  1284.   IAC WILL COM-PORT-CONTROL
  1285.  
  1286.               when initiated by the telnet client.
  1287.                       
  1288.               Problem 3:
  1289.                       The SLNet Telnet responds to a request to perform
  1290.                       Window Size negotiations with the wrong negative
  1291.                       response.
  1292.                       
  1293.   TELNET SENT WILL NAWS
  1294.   TELNET RCVD WONT NAWS
  1295.  
  1296.                       The proper response is:
  1297.                       
  1298.   TELNET RCVD DONT NAWS
  1299.  
  1300.               Problem 4:
  1301.                       The SLNet Telnet Server does not keep track of the
  1302.                       state of Telnet Options and transmits requests for
  1303.                       Telnet Option state changes that have already been
  1304.                       agreed to. In particular, the SLNet server
  1305.                       retransmits
  1306.                       
  1307.   TELNET SENT DO BINARY
  1308.   TELNET SENT WILL ECHO
  1309.   TELNET SENT WILL BINARY
  1310.  
  1311.                       after these negotiations were already agreed to. As
  1312.                       per [164]RFC 855, a telnet option state command
  1313.                       (WILL, WONT, DO, DONT) MUST NOT be sent unless it
  1314.                       results in a change of state. [165]RFC 1143 "The Q
  1315.                       Method of Implementing Telnet Option Negotiation"
  1316.                       provides extensive hints on how to properly
  1317.                       construct a telnet state machine to adhere to the
  1318.                       rules of the Telnet protocol.
  1319.                       
  1320.               Workaround:
  1321.                       To enable Kermit to establish a connection to this
  1322.                       very broken server Kermit must be told to:
  1323.                       
  1324.   SET TELOPT AUTHENTICATION REFUSE
  1325.   SET TELOPT KERMIT REFUSE REFUSE
  1326.   SET TELOPT NEW-ENVIRONMENT REFUSE
  1327.   SET TELOPT NAWS REFUSE
  1328.   SET TELOPT FORWARD-X REFUSE
  1329.   SET TELOPT COM-PORT-CONTROL REFUSE
  1330.             [ [166]C-Kermit ] [ [167]Kermit 95 ] [ [168]Kermit Home ]
  1331.               ________________________________________________________
  1332.             
  1333.             
  1334.     C-Kermit 8.0 Telnet / Columbia University / kermit@columbia.edu / 12
  1335.     November 2001
  1336.  
  1337. References
  1338.  
  1339.    1. http://www.columbia.edu/kermit/telnet80.html#intro
  1340.    2. http://www.columbia.edu/kermit/telnet80.html#options
  1341.    3. http://www.columbia.edu/kermit/telnet80.html#managing
  1342.    4. http://www.columbia.edu/kermit/telnet80.html#summary
  1343.    5. http://www.columbia.edu/kermit/telnet80.html#problems
  1344.    6. http://www.columbia.edu/kermit/telnet80.html#top
  1345.    7. http://www.columbia.edu/kermit/telnet80.html#contents
  1346.    8. http://www.columbia.edu/kermit/telnet80.html#options
  1347.    9. ftp://ftp.isi.edu/in-notes/rfc854.txt
  1348.   10. http://www.columbia.edu/kermit/ckermit.htm
  1349.   11. http://www.columbia.edu/kermit/k95next.html
  1350.   12. http://www.columbia.edu/kermit/cuiksd.html
  1351.   13. http://www.columbia.edu/kermit/ckermit.html
  1352.   14. http://www.columbia.edu/kermit/k95.html
  1353.   15. http://www.columbia.edu/kermit/index.html
  1354.   16. http://www.columbia.edu/kermit/telnet80.html#top
  1355.   17. http://www.columbia.edu/kermit/telnet80.html#contents
  1356.   18. http://www.columbia.edu/kermit/telnet80.html#managing
  1357.   19. http://www.columbia.edu/kermit/telnet80.html#intro
  1358.   20. ftp://ftp.isi.edu/in-notes/rfc2941.txt
  1359.   21. ftp://ftp.isi.edu/in-notes/rfc856.txt
  1360.   22. ftp://ftp.isi.edu/in-notes/rfc2217.txt
  1361.   23. ftp://ftp.isi.edu/in-notes/rfc857.txt
  1362.   24. ftp://ftp.isi.edu/in-notes/rfc2946.txt
  1363.   25. ftp://ftp.isi.edu/in-notes/rfc2840.txt
  1364.   26. ftp://ftp.isi.edu/in-notes/rfc727.txt
  1365.   27. ftp://ftp.isi.edu/in-notes/rfc1073.txt
  1366.   28. ftp://ftp.isi.edu/in-notes/rfc1572.txt
  1367.   29. ftp://ftp.isi.edu/in-notes/rfc779.txt
  1368.   30. http://search.ietf.org/internet-drafts/draft-ietf-tn3270e-telnet-tls-05.txt
  1369.   31. ftp://ftp.isi.edu/in-notes/rfc858.txt
  1370.   32. ftp://ftp.isi.edu/in-notes/rfc1091.txt
  1371.   33. ftp://ftp.isi.edu/in-notes/rfc1096.txt
  1372.   34. http://www.columbia.edu/kermit/ckermit.html
  1373.   35. http://www.columbia.edu/kermit/k95.html
  1374.   36. http://www.columbia.edu/kermit/index.html
  1375.   37. http://www.columbia.edu/kermit/telnet80.html#top
  1376.   38. http://www.columbia.edu/kermit/telnet80.html#contents
  1377.   39. http://www.columbia.edu/kermit/telnet80.html#summary
  1378.   40. http://www.columbia.edu/kermit/telnet80.html#options
  1379.   41. http://www.columbia.edu/kermit/ckermit.html
  1380.   42. http://www.columbia.edu/kermit/k95.html
  1381.   43. http://www.columbia.edu/kermit/index.html
  1382.   44. http://www.columbia.edu/kermit/telnet80.html#top
  1383.   45. http://www.columbia.edu/kermit/telnet80.html#contents
  1384.   46. http://www.columbia.edu/kermit/telnet80.html#problems
  1385.   47. http://www.columbia.edu/kermit/telnet80.html#managing
  1386.   48. ftp://ftp.isi.edu/in-notes/rfc1572.txt
  1387.   49. http://www.columbia.edu/kermit/ckermit.html
  1388.   50. http://www.columbia.edu/kermit/k95.html
  1389.   51. http://www.columbia.edu/kermit/index.html
  1390.   52. http://www.columbia.edu/kermit/telnet80.html#top
  1391.   53. http://www.columbia.edu/kermit/telnet80.html#contents
  1392.   54. http://www.columbia.edu/kermit/telnet80.html#summary
  1393.   55. http://www.columbia.edu/kermit/telnet80.html#x1
  1394.   56. http://www.columbia.edu/kermit/telnet80.html#x2
  1395.   57. http://www.columbia.edu/kermit/telnet80.html#x3
  1396.   58. http://www.columbia.edu/kermit/telnet80.html#x4
  1397.   59. http://www.columbia.edu/kermit/telnet80.html#x5
  1398.   60. http://www.columbia.edu/kermit/telnet80.html#x6
  1399.   61. http://www.columbia.edu/kermit/telnet80.html#x7
  1400.   62. http://www.columbia.edu/kermit/telnet80.html#x8
  1401.   63. http://www.columbia.edu/kermit/telnet80.html#x9
  1402.   64. http://www.columbia.edu/kermit/telnet80.html#x10
  1403.   65. http://www.columbia.edu/kermit/telnet80.html#x11
  1404.   66. http://www.columbia.edu/kermit/telnet80.html#x12
  1405.   67. http://www.columbia.edu/kermit/ckermit.html
  1406.   68. http://www.columbia.edu/kermit/k95.html
  1407.   69. http://www.columbia.edu/kermit/index.html
  1408.   70. http://www.columbia.edu/kermit/telnet80.html#top
  1409.   71. http://www.columbia.edu/kermit/telnet80.html#contents
  1410.   72. http://www.columbia.edu/kermit/telnet80.html#x5
  1411.   73. http://www.columbia.edu/kermit/telnet80.html#x5.2
  1412.   74. http://www.columbia.edu/kermit/ckermit.html
  1413.   75. http://www.columbia.edu/kermit/k95.html
  1414.   76. http://www.columbia.edu/kermit/index.html
  1415.   77. http://www.columbia.edu/kermit/telnet80.html#top
  1416.   78. http://www.columbia.edu/kermit/telnet80.html#contents
  1417.   79. http://www.columbia.edu/kermit/telnet80.html#x5
  1418.   80. http://www.columbia.edu/kermit/telnet80.html#x5.3
  1419.   81. http://www.columbia.edu/kermit/telnet80.html#x5.1
  1420.   82. http://www.columbia.edu/kermit/ckermit.html
  1421.   83. http://www.columbia.edu/kermit/k95.html
  1422.   84. http://www.columbia.edu/kermit/index.html
  1423.   85. http://www.columbia.edu/kermit/telnet80.html#top
  1424.   86. http://www.columbia.edu/kermit/telnet80.html#contents
  1425.   87. http://www.columbia.edu/kermit/telnet80.html#x5
  1426.   88. http://www.columbia.edu/kermit/telnet80.html#x5.4
  1427.   89. http://www.columbia.edu/kermit/telnet80.html#x5.2
  1428.   90. http://www.columbia.edu/kermit/ckermit.html
  1429.   91. http://www.columbia.edu/kermit/k95.html
  1430.   92. http://www.columbia.edu/kermit/index.html
  1431.   93. http://www.columbia.edu/kermit/telnet80.html#top
  1432.   94. http://www.columbia.edu/kermit/telnet80.html#contents
  1433.   95. http://www.columbia.edu/kermit/telnet80.html#x5
  1434.   96. http://www.columbia.edu/kermit/telnet80.html#x5.5
  1435.   97. http://www.columbia.edu/kermit/telnet80.html#x5.3
  1436.   98. http://www.columbia.edu/kermit/ckermit.html
  1437.   99. http://www.columbia.edu/kermit/k95.html
  1438.  100. http://www.columbia.edu/kermit/index.html
  1439.  101. http://www.columbia.edu/kermit/telnet80.html#top
  1440.  102. http://www.columbia.edu/kermit/telnet80.html#contents
  1441.  103. http://www.columbia.edu/kermit/telnet80.html#x5
  1442.  104. http://www.columbia.edu/kermit/telnet80.html#x5.6
  1443.  105. http://www.columbia.edu/kermit/telnet80.html#x5.4
  1444.  106. http://www.columbia.edu/kermit/ckermit.html
  1445.  107. http://www.columbia.edu/kermit/k95.html
  1446.  108. http://www.columbia.edu/kermit/index.html
  1447.  109. http://www.columbia.edu/kermit/telnet80.html#top
  1448.  110. http://www.columbia.edu/kermit/telnet80.html#contents
  1449.  111. http://www.columbia.edu/kermit/telnet80.html#x5
  1450.  112. http://www.columbia.edu/kermit/telnet80.html#x5.7
  1451.  113. http://www.columbia.edu/kermit/telnet80.html#x5.5
  1452.  114. http://www.columbia.edu/kermit/ckermit.html
  1453.  115. http://www.columbia.edu/kermit/k95.html
  1454.  116. http://www.columbia.edu/kermit/index.html
  1455.  117. http://www.columbia.edu/kermit/telnet80.html#top
  1456.  118. http://www.columbia.edu/kermit/telnet80.html#contents
  1457.  119. http://www.columbia.edu/kermit/telnet80.html#x5
  1458.  120. http://www.columbia.edu/kermit/telnet80.html#x5.8
  1459.  121. http://www.columbia.edu/kermit/telnet80.html#x5.6
  1460.  122. http://www.columbia.edu/kermit/ckermit.html
  1461.  123. http://www.columbia.edu/kermit/k95.html
  1462.  124. http://www.columbia.edu/kermit/index.html
  1463.  125. http://www.columbia.edu/kermit/telnet80.html#top
  1464.  126. http://www.columbia.edu/kermit/telnet80.html#contents
  1465.  127. http://www.columbia.edu/kermit/telnet80.html#x5
  1466.  128. http://www.columbia.edu/kermit/telnet80.html#x5.9
  1467.  129. http://www.columbia.edu/kermit/telnet80.html#x5.7
  1468.  130. ftp://ftp.isi.edu/in-notes/rfc856.txt
  1469.  131. http://www.columbia.edu/kermit/ckermit.html
  1470.  132. http://www.columbia.edu/kermit/k95.html
  1471.  133. http://www.columbia.edu/kermit/index.html
  1472.  134. http://www.columbia.edu/kermit/telnet80.html#top
  1473.  135. http://www.columbia.edu/kermit/telnet80.html#contents
  1474.  136. http://www.columbia.edu/kermit/telnet80.html#x5
  1475.  137. http://www.columbia.edu/kermit/telnet80.html#x5.10
  1476.  138. http://www.columbia.edu/kermit/telnet80.html#x5.8
  1477.  139. http://www.columbia.edu/kermit/ckermit.html
  1478.  140. http://www.columbia.edu/kermit/k95.html
  1479.  141. http://www.columbia.edu/kermit/index.html
  1480.  142. http://www.columbia.edu/kermit/telnet80.html#top
  1481.  143. http://www.columbia.edu/kermit/telnet80.html#contents
  1482.  144. http://www.columbia.edu/kermit/telnet80.html#x5
  1483.  145. http://www.columbia.edu/kermit/telnet80.html#x5.11
  1484.  146. http://www.columbia.edu/kermit/telnet80.html#x5.9
  1485.  147. http://www.columbia.edu/kermit/ckermit.html
  1486.  148. http://www.columbia.edu/kermit/k95.html
  1487.  149. http://www.columbia.edu/kermit/index.html
  1488.  150. http://www.columbia.edu/kermit/telnet80.html#top
  1489.  151. http://www.columbia.edu/kermit/telnet80.html#contents
  1490.  152. http://www.columbia.edu/kermit/telnet80.html#x5
  1491.  153. http://www.columbia.edu/kermit/telnet80.html#x5.12
  1492.  154. http://www.columbia.edu/kermit/telnet80.html#x5.10
  1493.  155. http://www.columbia.edu/kermit/ckermit.html
  1494.  156. http://www.columbia.edu/kermit/k95.html
  1495.  157. http://www.columbia.edu/kermit/index.html
  1496.  158. http://www.columbia.edu/kermit/telnet80.html#top
  1497.  159. http://www.columbia.edu/kermit/telnet80.html#contents
  1498.  160. http://www.columbia.edu/kermit/telnet80.html#x5
  1499.  161. http://www.columbia.edu/kermit/telnet80.html#x5.10
  1500.  162. http://www.iana.org/
  1501.  163. ftp://ftp.isi.edu/in-notes/rfc855.txt
  1502.  164. ftp://ftp.isi.edu/in-notes/rfc855.txt
  1503.  165. ftp://ftp.isi.edu/in-notes/rfc1143.txt
  1504.  166. http://www.columbia.edu/kermit/ckermit.html
  1505.  167. http://www.columbia.edu/kermit/k95.html
  1506.  168. http://www.columbia.edu/kermit/index.html
  1507.