summaryrefslogtreecommitdiff
path: root/doc/rfc/rfc1073.txt
diff options
context:
space:
mode:
authorThomas Voss <mail@thomasvoss.com> 2024-11-27 20:54:24 +0100
committerThomas Voss <mail@thomasvoss.com> 2024-11-27 20:54:24 +0100
commit4bfd864f10b68b71482b35c818559068ef8d5797 (patch)
treee3989f47a7994642eb325063d46e8f08ffa681dc /doc/rfc/rfc1073.txt
parentea76e11061bda059ae9f9ad130a9895cc85607db (diff)
doc: Add RFC documents
Diffstat (limited to 'doc/rfc/rfc1073.txt')
-rw-r--r--doc/rfc/rfc1073.txt227
1 files changed, 227 insertions, 0 deletions
diff --git a/doc/rfc/rfc1073.txt b/doc/rfc/rfc1073.txt
new file mode 100644
index 0000000..a85ec90
--- /dev/null
+++ b/doc/rfc/rfc1073.txt
@@ -0,0 +1,227 @@
+
+
+
+
+
+
+Network Working Group D. Waitzman
+Request For Comments: 1073 BBN STC
+ October 1988
+
+ Telnet Window Size Option
+
+Status of this Memo
+
+ This RFC describes a proposed Telnet option to allow a client to
+ convey window size to a Telnet server. Distribution of this memo is
+ unlimited.
+
+1. Command Name and Option Code
+
+ Name = NAWS (Negotiate About Window Size)
+
+ Code = 31
+
+2. Command Meanings
+
+ IAC WILL NAWS
+
+ Sent by the Telnet client to suggest that NAWS be used.
+
+ IAC WON'T NAWS
+
+ Sent by the Telnet client to refuse to use NAWS.
+
+ IAC DO NAWS
+
+ Sent by the Telnet server to suggest that NAWS be used.
+
+ IAC DON'T NAWS
+
+ Sent by the Telnet server to refuse to use NAWS.
+
+ IAC SB NAWS <16-bit value> <16-bit value> IAC SE
+
+ Sent by the Telnet client to inform the Telnet server of the
+ window width and height.
+
+ The window size information is conveyed via this option from the
+ Telnet client to the Telnet server. The information is advisory.
+ The server may accept the option, but not use the information that is
+ sent.
+
+ The client and server negotiate sending the window size information
+ using the standard Telnet WILL/DO/DON'T/WON'T mechanism. If the
+
+
+
+Waitzman [Page 1]
+
+RFC 1073 Telnet Window Size Option October 1988
+
+
+ client and server agree, the client may then send a subnegotiation to
+ convey the window size. If the client's window size is later changed
+ (for instance, the window size is altered by the user), the client
+ may again send the subnegotiation. Because certain operating
+ systems, on which a server may be executing, may not allow the window
+ size information to be updated, the server may send a DON'T NAWS to
+ the client to forbid further subnegotiation after it was initially
+ accepted. A negotiation loop will not form following these rules.
+
+ The subnegotiation consists of two values, the width and the height
+ of the window in characters. The values are each sent as two bytes,
+ in the Internet standard byte and bit order. This allows a maximum
+ window width or height of 65535 characters. A value equal to zero is
+ acceptable for the width (or height), and means that no character
+ width (or height) is being sent. In this case, the width (or height)
+ that will be assumed by the Telnet server is operating system
+ specific (it will probably be based upon the terminal type
+ information that may have been sent using the TERMINAL TYPE Telnet
+ option).
+
+ The syntax for the subnegotiation is:
+
+ IAC SB NAWS WIDTH[1] WIDTH[0] HEIGHT[1] HEIGHT[0] IAC SE
+
+ As required by the Telnet protocol, any occurrence of 255 in the
+ subnegotiation must be doubled to distinguish it from the IAC
+ character (which has a value of 255).
+
+3. Default Specification
+
+ WON'T NAWS
+
+ DON'T NAWS
+
+ This option does not assume any default window size information.
+ Often the terminal type, passed with the TERMINAL TYPE Telnet option,
+ may imply a window size, but that is not necessary for this option.
+
+4. Motivation
+
+ With the increasing popularity of windowing systems, a Telnet client
+ is often run inside a variable-sized window, and the Telnet server
+ needs to know the window size for proper cursor control. The window
+ may also have its size changed during the Telnet session and the
+ updated window size needs to be conveyed to the server. This memo
+ specifies an option to send the window height and width in characters
+ from a client to a server.
+
+
+
+
+Waitzman [Page 2]
+
+RFC 1073 Telnet Window Size Option October 1988
+
+
+ The Telnet options Negotiate Output Line Width (NAOL) and Negotiate
+ Output Page Size (NAOP) do not have the correct semantics for this
+ purpose, and they are not in common use [see RFC-1011 "Official
+ Internet Protocols", and the "Defense Protocol Handbook"]. The NAOL
+ and NAOP options are bidirectional (i.e., the server might control
+ the client's line width or page size), and are limited to 253
+ characters in each axis.
+
+ This option is a better model of the normal window negotiation
+ process. The client has total control over the size of its window
+ and simply tells the server what the current window size is.
+ Furthermore, the 253 character height and width limitation is too low
+ so the new option has a limit of 65535 characters. Finally, this
+ option sends the window height and width concurrently because they
+ are typically changed simultaneously and many operating systems and
+ windowing applications prefer to think in terms of simultaneous
+ changes in height and width.
+
+5. Description and Implementation Notes
+
+ A typical user of this option might be a Telnet client running under
+ X. After a user resizes the client's window, this must be
+ communicated to the Telnet client. In 4.3 BSD Unix, the signal
+ SIGWINCH (window changed) might be caught by the Telnet process and a
+ new NAWS subnegotiation sent to the server. Upon receipt of a NAWS
+ subnegotiation, the server might do the appropriate ioctl to handle
+ the new information, and then could send a SIGWINCH to its child,
+ probably a shell.
+
+6. Examples
+
+ In the following examples all numbers in the data stream are in
+ decimal.
+
+ 1. Server suggest and client agrees to use NAWS.
+
+ (server sends) IAC DO NAWS
+ (client sends) IAC WILL NAWS
+ (client sends) IAC SB NAWS 0 80 0 24 IAC SE
+
+ [A window 80 characters wide, 24 characters high]
+ [some time occurs and the user changes the window size]
+
+ (client sends) IAC SB NAWS 0 80 0 64 IAC SE
+
+ [A window 80 characters wide, 64 characters high]
+
+
+
+
+
+Waitzman [Page 3]
+
+RFC 1073 Telnet Window Size Option October 1988
+
+
+ In all numeric form:
+
+ (server sends) 255 253 31
+ (client sends) 255 251 31
+ (client sends) 255 250 31 0 80 0 24 255 240
+
+ (client sends) 255 250 31 0 80 0 64 255 240
+
+ 2. Client suggests and server agrees to used NAWS.
+
+ (client sends) IAC WILL NAWS
+ (server sends) IAC DO NAWS
+ (client sends) IAC SB NAWS 1 44 0 24 IAC SE
+
+ [A window 300 characters wide, 24 characters high]
+
+ 3. Client suggest and server refuses to use NAWS.
+
+ (client sends) IAC WILL NAWS
+ (server sends) IAC DON'T NAWS
+
+ 4. Server suggests and client refuses to use NAWS.
+
+ (server sends) IAC DO NAWS
+ (client sends) IAC WON'T NAWS
+
+7. Acknowledgments
+
+ A more elaborate, X window system specific, version of this option
+ has been implemented at Carnegie-Mellon University by Glenn Marcy and
+ the author. It is widely used in the Carnegie-Mellon University
+ Computer Science Department. Mr. Marcy helped write an early draft
+ of this memo documenting the more elaborate option.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Waitzman [Page 4]
+ \ No newline at end of file