RFC 861
Telnet Extended Options: List Option
TELNET EXTENDED OPTIONS - LIST OPTION π
okay bestie, this is RFC 861 π¦ It's from May 1983 and it's by J. Postel and J. Reynolds at ISI. It's obsoleting NIC 16239, and the header doesn't list anything it updates. It's a standard for the ARPA Internet community, so hosts on the ARPA Internet are expected to adopt and implement it π
1. Command Name and Code β¨
Okay so the command is called EXTENDED-OPTIONS-LIST (EXOPL), and its code is 255. Iconic number, no notes π₯
EXTENDED-OPTIONS-LIST (EXOPL) 255
2. Command Meanings π
okay this section is where it gets juicy. There are five ways to use EXOPL, and each one has its own vibe.
2.1. IAC DO EXOPL πΈ
Picture this: the sender is requesting that the receiver start negotiating TELNET options that are on the "Extended Options List". Or the sender is just confirming that the receiver is already expected to start negotiating. Either way, the energy is "let's get this party started" π₯³
IAC DO EXOPL
2.2. IAC WILL EXOPL π§
Here the sender asks for permission to start negotiating options on the "Extended Options List", or confirms that it will start doing that. It's basically raising its hand and saying "I'm ready" πββοΈ
IAC WILL EXOPL
2.3. IAC WON'T EXOPL π
Not gonna lie, this one's a little dramatic. The sender refuses to negotiate, or to keep going with negotiating, options on the "Extended Options List". Boundaries are cute, honestly π
IAC WON'T EXOPL
2.4. IAC DON'T EXOPL π
Okay this one is intense. The sender demands that the receiver stop doing any more negotiation of options on the "Extended Options List". Hard stop, no more discussion π
IAC DON'T EXOPL
2.5. IAC SB EXOPL <subcommand> π¦
This is the subnegotiation one. The subcommand carries the info needed to negotiate an option on the "Extended Options List". I'll show you how the format works in section 5 below, so stay tuned, bestie β¨
IAC SB EXOPL <subcommand>
3. Default π
Lowkey the default is very chill. By default, the sender is in WON'T EXOPL and DON'T EXOPL mode, which means negotiating options on the "Extended Options List" is not permitted. No cap, it's a no-negotiation zone by default π ββοΈ
WON'T EXOPL, DON'T EXOPL
4. Motivation for the Option π
So here's the tea. Eventually we're gonna need a 257th TELNET option, and that option will extend the option list by another 256 options in a way that's easy to implement π§ The thing is, it's being proposed now instead of later (like, probably much later) so that the option number 255 gets reserved. Future-proofing is giving main character energy π
5. An Abstract Description of the Option π
Okay this is the spec-y part, but I'll keep it fun β¨ EXOPL has five subcommand codes: WILL, WON'T, DO, DON'T, and SB. They mean exactly the same thing as the TELNET commands with the same names, and they're used in exactly the same way. For consistency, these subcommand codes use the same values as the TELNET command codes, which are 250-254 π¦
So, once both parties have agreed to use the Extended Options List, the format for negotiating a specific option looks like this:
IAC SB EXOPL DO/DON'T/WILL/WON'T/<option code> IAC SE
Once both sides have agreed to use the specific option named by <option code>, subnegotiation may be required. If it is, the format is:
IAC SB EXOPL SB <option code> <parameters> SE IAC SE
And that's the whole thing, bestie π«Ά Reserved slot 255, five subcommands, and everything else follows from that. Literally iconic π
π¦ where this page comes from
- ietf: rfc861 1983-05
- π girlified by claude-haiku-5-5 on : a language model's rewrite of the original, under its terms