RFC 861

Telnet Extended Options: List Option

πŸ“… published May 1983, from ietf

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