PROXY  WHOIS  RQUOTE  TEXTS  SOFT  FOREX  BBOARD
 Music  Philosophy  Code  Literature  Russian

= ROOT|Technical|RFC|rfc1123.txt =

page 13 of 58



         CR LF as input from a remote terminal, the effect MUST be the
         same as if the user had pressed the "end-of-line" key on a
         local terminal.  On server hosts that use ASCII, in particular,
         receipt of the Telnet sequence CR LF must cause the same effect
         as a local user pressing the CR key on a local terminal.  Thus,
         CR LF and CR NUL MUST have the same effect on an ASCII server
         host when received as input over a Telnet connection.

         A User Telnet MUST be able to send any of the forms: CR LF, CR
         NUL, and LF.  A User Telnet on an ASCII host SHOULD have a
         user-controllable mode to send either CR LF or CR NUL when the
         user presses the "end-of-line" key, and CR LF SHOULD be the
         default.

         The Telnet end-of-line sequence CR LF MUST be used to send
         Telnet data that is not terminal-to-computer (e.g., for Server
         Telnet sending output, or the Telnet protocol incorporated
         another application protocol).

         DISCUSSION:
              To allow interoperability between arbitrary Telnet clients
              and servers, the Telnet protocol defined a standard
              representation for a line terminator.  Since the ASCII
              character set includes no explicit end-of-line character,
              systems have chosen various representations, e.g., CR, LF,
              and the sequence CR LF.  The Telnet protocol chose the CR
              LF sequence as the standard for network transmission.

              Unfortunately, the Telnet protocol specification in RFC-
              854 [TELNET:1] has turned out to be somewhat ambiguous on
              what character(s) should be sent from client to server for
              the "end-of-line" key.  The result has been a massive and
              continuing interoperability headache, made worse by
              various faulty implementations of both User and Server




 



RFC1123                  REMOTE LOGIN -- TELNET             October 1989


              Telnets.

              Although the Telnet protocol is based on a perfectly
              symmetric model, in a remote login session the role of the
              user at a terminal differs from the role of the server
              host.  For example, RFC-854 defines the meaning of CR, LF,
              and CR LF as output from the server, but does not specify
              what the User Telnet should send when the user presses the
              "end-of-line" key on the terminal; this turns out to be
              the point at issue.

              When a user presses the "end-of-line" key, some User
              Telnet implementations send CR LF, while others send CR
              NUL (based on a different interpretation of the same
              sentence in RFC-854).  These will be equivalent for a
              correctly-implemented ASCII server host, as discussed
              above.  For other servers, a mode in the User Telnet is
              needed.

              The existence of User Telnets that send only CR NUL when
              CR is pressed creates a dilemma for non-ASCII hosts: they
              can either treat CR NUL as equivalent to CR LF in input,
              thus precluding the possibility of entering a "bare" CR,
              or else lose complete interworking.

              Suppose a user on host A uses Telnet to log into a server
              host B, and then execute B's User Telnet program to log
              into server host C.  It is desirable for the Server/User
              Telnet combination on B to be as transparent as possible,
              i.e., to appear as if A were connected directly to C.  In
              particular, correct implementation will make B transparent
              to Telnet end-of-line sequences, except that CR LF may be
              translated to CR NUL or vice versa.

         IMPLEMENTATION:
              To understand Telnet end-of-line issues, one must have at
              least a general model of the relationship of Telnet to the
              local operating system.  The Server Telnet process is
              typically coupled into the terminal driver software of the
              operating system as a pseudo-terminal.  A Telnet end-of-
              line sequence received by the Server Telnet must have the
              same effect as pressing the end-of-line key on a real
              locally-connected terminal.

              Operating systems that support interactive character-at-
              a-time applications (e.g., editors) typically have two
              internal modes for their terminal I/O: a formatted mode,
              in which local conventions for end-of-line and other




 


=13=

1.7|8|9|10|11|12| < PREV = PAGE 13 = NEXT > |14|15|16|17|18|19.58

UP TO ROOT | UP TO DIR | TO FIRST PAGE

Google
 


E-mail Facebook Google Digg del.icio.us BlinkList Fark Furl Ma.gnolia Netscape NewsVine Reddit Slashdot Spurl StumbleUpon Technorati YahooMyWeb LiveJournal Blogmarks TwitThis Live News2.ru BobrDobr.ru Memori.ru MoeMesto.ru

0.0130248 wallclock secs ( 0.00 usr + 0.00 sys = 0.00 CPU)