From 4bfd864f10b68b71482b35c818559068ef8d5797 Mon Sep 17 00:00:00 2001 From: Thomas Voss Date: Wed, 27 Nov 2024 20:54:24 +0100 Subject: doc: Add RFC documents --- doc/rfc/rfc735.txt | 295 +++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 295 insertions(+) create mode 100644 doc/rfc/rfc735.txt (limited to 'doc/rfc/rfc735.txt') diff --git a/doc/rfc/rfc735.txt b/doc/rfc/rfc735.txt new file mode 100644 index 0000000..cea091c --- /dev/null +++ b/doc/rfc/rfc735.txt @@ -0,0 +1,295 @@ + +RFC 735 DHC RHG 3 Nov 77 42083 +Telnet Byte Macro Option + + + +Network Working Group David H. Crocker +RFC: #735 Rand-ISD +NIC: #42083 (Dcrocker at Rand-Unix) + Richard H. Gumpertz + Carnegie-Mellon University + (Gumpertz at CMU-10A) + +Obsoletes: RFC #729 (NIC #40306) 3 November 1977 + + Revised TELNET Byte Macro Option + +1. Command name and code: + + BM 19 + +2. Command Meanings: + + IAC WILL BM + + The sender of this command REQUESTS or AGREES to use the BM + option, and will send single data characters which are to be + interpreted as if replacement data strings had been sent. + + IAC WON'T BM + + The sender of this option REFUSES to send single data characters + which are to be interpreted as if replacement data strings had + been sent. Any existing BM definitions are discarded + (i.e., reset to their original data interpretations). + + IAC DO BM + + The sender REQUESTS or AGREES to have the other side (sender of + WILL BM) send single data characters which are to be interpreted + as if replacement data strings had been sent. + + IAC DON'T BM + + The sender REFUSES to allow the other side to send single data + characters which are to be interpreted as if replacement data + strings had been sent. Any existing BM definitions + are to be discarded. + + + + + + + + + + + 1 + +RFC 735 DHC RHG 3 Nov 77 42083 +Telnet Byte Macro Option + + + + IAC SB BM + IAC SE + + where: + + is the data byte actually to be sent across the + network; it may NOT be Telnet IAC (decimal 255, but may be any + other 8-bit character. + + is one 8-bit byte binary number, indicating how many + characters follow, up to the ending IAC + SE, but not including it. Note that doubled IACs in the + definition should only be counted as one character per pair. + + is a string of zero or more Telnet ASCII + characters and/or commands, which the is to + represent; any character may occur within a . Note, however, that an IAC in the string must be + doubled, to be interpreted later as an IAC; to be interpreted + later as data byte 255, it must be quadrupled in the original + specification. + + The indicated will be sent instead of the indicated + . The receiver of the (the sender + of the DO BM) is to behave EXACTLY as if the + string of bytes had instead been received from the network. This + interpretation is to occur before any other Telnet + interpretations, unless the occurs as part of a + Telnet command; in this case no special interpretation is to be + made. In particular, an entire Telnet subnegotiation (i.e. from + IAC SB through IAC SE) is to be considered a Telnet command in + which NO replacement should be done. + + The effect of a particular may be negated by reseting + it to "expand" into itself. + + IAC SB BM X <0> IAC SE may be used to cause X to be + ignored in the data stream. + + is decimal 1. + + IAC SB BM IAC SE + + The receiver of the for accepts the + requested definition and will perform the indicated replacement + whenever a is received and is not part of any IAC + Telnet command sequence. + + + + + + 2 + +RFC 735 DHC RHG 3 Nov 77 42083 +Telnet Byte Macro Option + + + + is decimal 2. + + IAC SB BM IAC SE + + The receiver of the for refuses to perform + the indicated translation from to because the particular is not an acceptable + choice, the length of the exceeds available + storage, the length of the actual did not + match the length predicted in the , or for some unspecified + reason. + + is decimal 3. + + may be + + which is decimal 1; + + (for receiver's storage) which is decimal + 2; + + (of actual string compared with promised + length in ) which is decimal 3; or + + (intended for use only until this document + can be updated to include reasons not + anticipated by the authors) which is + decimal zero (0). + + IAC SB BM IAC SE + + The is to be treated as real data, rather than as + representative of the + + Note that this subcommand cannot be used during Telnet + subcommands, since subcommands are defined to end with the next + occurrence of "IAC SE". Including this BM subcommand within any + Telnet subcommand would therefore prematurely terminate the + containing subcommand. + + is decimal 4. + + IAC SB BM IAC SE + + The RECEIVER of the defined (i.e., the sender of IAC + DO BM) requests the sender of to cancel its + definition. is the same as for the subcommand. + + + + + + 3 + +RFC 735 DHC RHG 3 Nov 77 42083 +Telnet Byte Macro Option + + + + The sender should (but is not required to) respond by + resetting (i.e., sending an IAC SB BM <1> IAC SE). + + If the receiver absolutely insists on cancelling a given macro, + the best it can do is to turn off the entire option, with IAC DONT + BM, wait for an acknowledging IAC WONT BM and then restart the + option, with IAC DO BM. This will reset all other macroes as well + but it will allow the receiver to REFUSE with code BAD CHOICE + if/when the foreign site attempts to redefine the macro in + question. + +3. Default: + + WON'T BM -- DON'T BM + + No reinterpretation of data bytes is done. + +4. Motivation for the option: + + Subcommands for Telnet options currently require a minimum of five + characters to be sent over the network (i.e., IAC SB