Re: TELNET question

Theodore Ts'o <tytso@mit.edu> Fri, 18 November 1994 19:03 UTC

Received: from ietf.nri.reston.va.us by IETF.CNRI.Reston.VA.US id aa07751; 18 Nov 94 14:03 EST
Received: from CNRI.Reston.VA.US by IETF.CNRI.Reston.VA.US id aa07747; 18 Nov 94 14:03 EST
Received: from timbuk.cray.com by CNRI.Reston.VA.US id aa13129; 18 Nov 94 14:03 EST
Received: from sdiv.cray.com (daemon@ironwood.cray.com [128.162.21.36]) by timbuk.cray.com (8.6.9/8.6.9M) with SMTP id MAA17858; Fri, 18 Nov 1994 12:46:26 -0600
Received: by sdiv.cray.com (5.0/CRI-5.15.b.orgabbr Sdiv) id AA08368; Fri, 18 Nov 1994 12:46:20 -0600
Received: from timbuk.cray.com by sdiv.cray.com (5.0/CRI-5.15.b.orgabbr Sdiv) id AA06946; Fri, 18 Nov 1994 12:41:36 -0600
Received: from MIT.EDU (SOUTH-STATION-ANNEX.MIT.EDU [18.72.1.2]) by timbuk.cray.com (8.6.9/8.6.9M) with SMTP id MAA16587 for <telnet-ietf@cray.com>; Fri, 18 Nov 1994 12:41:24 -0600
Received: from DCL.MIT.EDU by MIT.EDU with SMTP id AA08180; Fri, 18 Nov 94 13:39:58 EST
Received: by dcl.MIT.EDU (5.0/4.7) id AA13932; Fri, 18 Nov 1994 13:39:58 +0500
Date: Fri, 18 Nov 1994 13:39:58 +0500
Sender: ietf-archive-request@IETF.CNRI.Reston.VA.US
From: Theodore Ts'o <tytso@mit.edu>
Message-Id: <9411181839.AA13932@dcl.MIT.EDU>
To: lee@huachuca-jitcosi.army.mil
Cc: billw@cisco.com, iptp@huachuca-jitcosi.army.mil, telnet-ietf@cray.com
In-Reply-To: Lee Chastain's message of Thu, 17 Nov 94 09:38:47 MST, <9411171638.AA04606@huachuca-jitcosi.army.mil>
Subject: Re: TELNET question
Address: 1 Amherst St., Cambridge, MA 02139
Phone: (617) 253-8091
Content-Length: 2437

   Date: Thu, 17 Nov 94 09:38:47 MST
   From: lee@huachuca-jitcosi.army.mil (Lee Chastain)

   In the current (newline) test I assume no negotiation was done so
   that it wouldn't interfere with the testing of the default
   conditions. Given that the server/tester was wrong to send just the
   LF, wasn't the user implementation also wrong to process it as a
   newline rather than just a 'plain' LF ?

As far as the telnet protocol is concerned, yes, an implementation that
processes an LF as a "move carriage to the left hand margin and scroll
the network virtual terminal up one line" is in violation of the telnet
specification.  

Certainly if the implementation is doing even when connecting to port
23, and acting as a telnet client, then it's doing something wrong.

   The question boils down to this:  Is a TELNET user only a proper implementation
   of TELNET when the server port is 23?         ^^^^

You mean "client" where you wrote "user", right?

That's really the crux of the matter.  The RFC's document the telnet
*protocol*.  The question is when is the client obligated to follow the
telnet protocol, and when is it not so obligated?

   The consequences are as follows:

   1.  No - TELNET is TELNET regardless of the server port :
       Then any implementation which defaults to LF as a newline (such as
       unix-based hosts) is not conformant to the TELNET standard.
       (Possible interoperability problems).

   2.  Yes - TELNET is only TELNET when the server port is 23:
       Not only did the tester send the wrong character(s), but its testing
       methodology is seriously flawed; the use of the non-standard port
       means that it is not truly testing TELNET, whether it had sent the
       correct newline code or not.

Give that the IANA has specified that the port for telnet service is 23,
I would tend towards option 2.  The fair way to test things is on the
original port.

I think it is a "local matter" what the telnet client does going to
other ports.  Ideally, there should be a switch that indicates where or
not the client should be initiating the options negotiations.  How that
switch is offered ought to be presented to the user is a UI issue, and
not one that should be addressed in a protocol specification.  (And,
indeed, there is such a switch on the Berkeley reference implementation;
you simply prefix the port number that you specify with a '-'
character.)

						- Ted