home *** CD-ROM | disk | FTP | other *** search
/ Unix System Administration Handbook 1997 October / usah_oct97.iso / rfc / 700s / rfc728.txt < prev    next >
Text File  |  1992-10-14  |  2KB  |  42 lines

  1. Network Working Group                                                  John Day
  2. Request for Comments: 728                                              Apr 1977
  3. NIC #40036
  4.  
  5.  
  6.  
  7.                A Minor Pitfall in the Telnet Protocol
  8.  
  9. Designers of Telnet options should be aware of the following possible
  10. case in the Telnet protocol which may generate unexpected behavior on
  11. either end of the connection. Although at present none of the existing
  12. options are susceptible to this problem, it could arise in the future.
  13.  
  14. The Telnet sync sequence causes all data to be deleted from the data
  15. stream until a data mark is encountered. Telnet control functions are
  16. not affected by the sync sequence (see page 9 of the protocol
  17. specification). A Telnet option subnegotiation could be defined such
  18. that it had an affect on the data following it in the data stream. For
  19. example, a subnegotiation might be used to indicate the terminal was to
  20. display the following data in a particular font or should receive other
  21. special treatment by the terminal. A Telnet sync sequence sent after
  22. such a subnegotiation and its data and before the subnegotiation had
  23. been processed could resuit in the subnegotiation having its affect on
  24. data other than that intended.
  25.  
  26. Two possible solutions come to mind at once. First, the data to be
  27. affected could be included as a parameter of the subnegotiation. in
  28. other words, the data is inserted in the data stream before the IAC SE
  29. that terminates the subnegotiation. The disadvantages of this solution
  30. are both theoretical and practical. Theoretically, it is improper and
  31. not really in the spirit of the Telnet protocol design to send data as
  32. subnegotiation parameters. Practically, in a situation where this case
  33. would arise it would be equally unexpected behavior (and perhaps
  34. confusing if a human was affected) if all data except that affected by
  35. the subnegotiation was flushed.
  36.  
  37. The second solution would be for designers of options which have such
  38. subnegotiations define a subnegotiation or other mechanism that would
  39. follow immediately after the Data Mark and nullify the affects of any
  40. offending subnegotiation. The exact semantics of such a subnegotiation
  41. would probably be very specific to the option.
  42.