RFC 1091
Telnet terminal-type option
Telnet Terminal-Type Option π
okay bestie, this is RFC 1091 π§ (Request for Comments: 1091). It's titled "Telnet Terminal-Type Option," it's from the Network Working Group, and J. VanBokkelen at FTP Software, Inc. wrote it π. It's a standard for the Internet community π and it's dated February 1989 π . It also obsoletes RFC 930 π , so 930 is officially retired and this one is the new hotness β¨.
Status of This Memo β¨
This RFC specifies a standard for the Internet community π. Hosts on the Internet that swap terminal type info within the Telnet protocol are expected to adopt and implement this standard π«Ά.
This standard supersedes RFC 930 π. A change is made so you can cycle through a list of possible terminal types and pick the most appropriate one π.
Distribution of this memo is unlimited π.
1. Command Name and Code π
TERMINAL-TYPE 24
2. Command Meanings π
IAC WILL TERMINAL-TYPE: the sender is willing to send terminal type info in a subsequent sub-negotiation π¦.IAC WON'T TERMINAL-TYPE: the sender refuses to send terminal type info π ββοΈ.IAC DO TERMINAL-TYPE: the sender is willing to receive terminal type info in a subsequent sub-negotiation π«Ά.IAC DON'T TERMINAL-TYPE: the sender refuses to accept terminal type info π.IAC SB TERMINAL-TYPE SEND IAC SE: the server asks the client to send his (the client's) next terminal type, and to switch emulation modes if more than one terminal type is supported π₯. The code for SEND is 1. (See below.)IAC SB TERMINAL-TYPE IS ... IAC SE: the client is stating the name of his current (or only) terminal type π. The code for IS is 0. (See below.)
3. Default π
WON'T TERMINAL-TYPE: terminal type info will not be exchanged π.DON'T TERMINAL-TYPE: terminal type info will not be exchanged π.
4. Motivation for the Option πΈ
okay so on most machines with bit-mapped displays (think PCs and graphics workstations π»), a client terminal emulation program is used to pretend to be a conventional ASCII terminal π₯οΈ. Most of these programs have multiple emulation modes, and they often have wildly different characteristics π. Meanwhile, modern host system software and applications can handle a whole variety of terminal types too π€Ή. So what's needed is a way for the client to show the server a list of available terminal emulation modes π, so the server can pick the one it prefers (for arbitrary reasons π€·ββοΈ). There's also a need for a mechanism to change emulation modes during a session, maybe based on what the applications programs need β¨.
Existing terminal-type passing mechanisms within Telnet were not designed with multiple emulation modes in mind π. Multiple names are allowed, sure, but they're assumed to be synonyms π―. Emulation mode changes are not defined at all, and the list of modes can only be scanned once π€.
This document defines a simple extension to the existing mechanisms, and it meets both of the criteria above π¦. It makes one assumption about the behaviour of implementations coded to the previous standard, so that you get full backwards-compatibility π«Ά.
5. Description of the Option π¦
Willingness to exchange terminal-type info gets agreed on through regular Telnet option negotiation π€. WILL and DO are only used to get and grant permission for future discussion π. The actual exchange of status info happens inside option subcommands, like IAC SB TERMINAL-TYPE... π¬.
Once the two hosts have exchanged a WILL and a DO, the sender of the DO TERMINAL-TYPE (the server) is free to request type info π. Only the server may send requests (IAC SB TERMINAL-TYPE SEND IAC SE), and only the client may transmit actual type info (within an IAC SB TERMINAL-TYPE IS ... IAC SE command) π. Terminal type info may not be sent spontaneously, only in response to a request π
ββοΈ.
The terminal type info is an NVT ASCII string π€. Within this string, upper and lower case are considered equivalent π . The complete list of valid terminal type names can be found in the latest "Assigned Numbers" RFC [4] π.
The transmission of terminal type info by the Telnet client in response to a query from the Telnet server implies that the client must simultaneously change emulation mode π, unless the terminal type sent is a synonym of the preceding terminal type, or there are other prerequisites for entering the new regime (e.g., having agreed upon the Telnet binary option). The receipt of such info by the Telnet server does not imply any immediate change of processing π’. However, the info may be passed to a process, which may alter the data it sends to suit the particular characteristics of the terminal π§ . For example, some operating systems have a terminal driver that accepts a code indicating the type of terminal being driven π». Using the TERMINAL TYPE and BINARY options, a telnet server program on such a system could arrange to have terminals driven as if they were directly connected, including special functions not available to a standard Network Virtual Terminal β.
Note that this specification is deliberately asymmetric π. It is assumed that server operating systems and applications in general cannot change terminal types at arbitrary points in a session. Thus, the client may only send a new type (and potentially change emulation modes) when the server requests that it do so π.
Author's Address π
okay so this is where we find out who wrote the whole thing! π James VanBokkelen from FTP Software, Inc. is the author, and his contact info is right here π¦
James VanBokkelen
FTP Software, Inc.
26 Princess Street
Wakefield, MA 01880-3004
Phone: (617) 246-0900
Email: jbvb@ftp.com
and that's the whole RFC, bestie π β¨
π¦ where this page comes from
- ietf: rfc1091 1989-02
- π girlified by claude-haiku-5-5 on : a language model's rewrite of the original, under its terms