home *** CD-ROM | disk | FTP | other *** search
/ Handbook of Infosec Terms 2.0 / Handbook_of_Infosec_Terms_Version_2.0_ISSO.iso / text / rfcs / rfc1073.txt < prev    next >
Text File  |  1996-05-07  |  8KB  |  150 lines

  1.  
  2.  
  3.  
  4.  
  5.  
  6.  
  7. Network Working Group                                        D. Waitzman Request For Comments: 1073                                       BBN STC                                                             October 1988 
  8.  
  9.                        Telnet Window Size Option 
  10.  
  11. Status of this Memo 
  12.  
  13.    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. 
  14.  
  15. 1. Command Name and Option Code 
  16.  
  17.       Name = NAWS (Negotiate About Window Size) 
  18.  
  19.       Code = 31 
  20.  
  21. 2. Command Meanings 
  22.  
  23.       IAC WILL NAWS 
  24.  
  25.          Sent by the Telnet client to suggest that NAWS be used. 
  26.  
  27.       IAC WON'T NAWS 
  28.  
  29.          Sent by the Telnet client to refuse to use NAWS. 
  30.  
  31.       IAC DO NAWS 
  32.  
  33.          Sent by the Telnet server to suggest that NAWS be used. 
  34.  
  35.       IAC DON'T NAWS 
  36.  
  37.          Sent by the Telnet server to refuse to use NAWS. 
  38.  
  39.       IAC SB NAWS <16-bit value> <16-bit value> IAC SE 
  40.  
  41.          Sent by the Telnet client to inform the Telnet server of the          window width and height. 
  42.  
  43.    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. 
  44.  
  45.    The client and server negotiate sending the window size information    using the standard Telnet WILL/DO/DON'T/WON'T mechanism.  If the 
  46.  
  47.  
  48.  
  49. Waitzman                                                        [Page 1] 
  50.  RFC 1073               Telnet Window Size Option            October 1988 
  51.  
  52.     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. 
  53.  
  54.    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). 
  55.  
  56.    The syntax for the subnegotiation is: 
  57.  
  58.       IAC SB NAWS WIDTH[1] WIDTH[0] HEIGHT[1] HEIGHT[0] IAC SE 
  59.  
  60.    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). 
  61.  
  62. 3. Default Specification 
  63.  
  64.       WON'T NAWS 
  65.  
  66.       DON'T NAWS 
  67.  
  68.    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. 
  69.  
  70. 4. Motivation 
  71.  
  72.    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. 
  73.  
  74.  
  75.  
  76.  Waitzman                                                        [Page 2] 
  77.  RFC 1073               Telnet Window Size Option            October 1988 
  78.  
  79.     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. 
  80.  
  81.    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. 
  82.  
  83. 5. Description and Implementation Notes 
  84.  
  85.    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. 
  86.  
  87. 6. Examples 
  88.  
  89.    In the following examples all numbers in the data stream are in    decimal. 
  90.  
  91.       1. Server suggest and client agrees to use NAWS. 
  92.  
  93.          (server sends)  IAC DO NAWS          (client sends)  IAC WILL NAWS          (client sends)  IAC SB NAWS 0 80 0 24 IAC SE 
  94.  
  95.             [A window 80 characters wide, 24 characters high]             [some time occurs and the user changes the window size] 
  96.  
  97.          (client sends)  IAC SB NAWS 0 80 0 64 IAC SE 
  98.  
  99.             [A window 80 characters wide, 64 characters high] 
  100.  
  101.  
  102.  
  103.  
  104.  
  105. Waitzman                                                        [Page 3] 
  106.  RFC 1073               Telnet Window Size Option            October 1988 
  107.  
  108.        In all numeric form: 
  109.  
  110.          (server sends)  255 253 31          (client sends)  255 251 31          (client sends)  255 250 31 0 80 0 24 255 240 
  111.  
  112.          (client sends)  255 250 31 0 80 0 64 255 240 
  113.  
  114.        2.  Client suggests and server agrees to used NAWS. 
  115.  
  116.          (client sends)  IAC WILL NAWS          (server sends)  IAC DO NAWS          (client sends)  IAC SB NAWS 1 44 0 24 IAC SE 
  117.  
  118.             [A window 300 characters wide, 24 characters high] 
  119.  
  120.        3.  Client suggest and server refuses to use NAWS. 
  121.  
  122.          (client sends)  IAC WILL NAWS          (server sends)  IAC DON'T NAWS 
  123.  
  124.        4.  Server suggests and client refuses to use NAWS. 
  125.  
  126.          (server sends)  IAC DO NAWS          (client sends)  IAC WON'T NAWS 
  127.  
  128. 7. Acknowledgments 
  129.  
  130.    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. 
  131.  
  132.  
  133.  
  134.  
  135.  
  136.  
  137.  
  138.  
  139.  
  140.  
  141.  
  142.  
  143.  
  144.  
  145.  
  146.  
  147.  
  148.  Waitzman                                                        [Page 4] 
  149.  
  150.