RFC 885
Telnet end of record option
TELNET END OF RECORD OPTION π
Okay bestie, let's talk about RFC 885 π It's by J. Postel at ISI, dated December 1983 π¦ It's a standard for the ARPA Internet community, and the title block doesn't list anything it obsoletes or updates β¨
Anyway, the vibe: hosts on the ARPA Internet that need to mark record boundaries inside Telnet protocol data are expected to adopt and implement this standard. So if your app is doing record stuff over Telnet, this is your sign to read on π«Ά
1. Command Name and Code πΈ
END-OF-RECORD 25
So the command is called END-OF-RECORD and it's code 25. Iconic, simple, no notes π
2. Command Meanings π
Here's where it gets good. There are four command combos, and each one is basically a little negotiation move π§
IAC WILL END-OF-RECORD π
IAC WILL END-OF-RECORD
The sender is asking for permission to start sending the Telnet END-OF-RECORD (EOR) code alongside data characters. Or, the sender is confirming that it's about to start sending EORs with its data. Main character energy π
IAC WON'T END-OF-RECORD π
IAC WON'T END-OF-RECORD
This one's the "nope" button π The sender is either demanding that EORs stop, or refusing to start sending them with data characters.
IAC DO END-OF-RECORD π
IAC DO END-OF-RECORD
Now the sender is asking the other side, the one sending the data, to start transmitting EORs with its data. Or the sender is just confirming that the data sender is expected to send EORs. Lowkey the mirror of WILL πͺ
IAC DON'T END-OF-RECORD π₯
IAC DON'T END-OF-RECORD
This is the sender telling the receiver to stop, or not start, sending EORs with data. Firm boundaries, bestie π
3. Default π
The starting point is that nobody's using it yet, so:
WON'T END-OF-RECORDπDON'T END-OF-RECORDπ- END-OF-RECORD is not transmitted. π«Ά
So unless someone says otherwise, EOR just isn't sent. Super chill default β¨
4. Motivation for the Option π¦
Okay, why does this even exist? π Lots of interactive systems already mark the end of a record using a normal data character, like carriage-return, line-feed, or escape. But other systems have their own special way to signal the end of a data unit, like a dedicated key. This option gives everyone one standard way to say "this unit is done," and honestly that's so necessary π§π
5. Description of the Option π
When END-OF-RECORD is in effect between a data sender and the receiver, the sender transmits EORs. Simple as that πΈ
It seems likely that both sides of the Telnet connection will send EORs in both directions if they use them at all. Still, you have to negotiate each direction on its own, so don't assume one way covers the other π
When END-OF-RECORD is not in effect, an IAC EOR command should be treated as a NOP if you receive one. You normally shouldn't send IAC EOR in that mode though π
6. Implementation Considerations β¨
Because the EOR code marks the end of an effective data unit, Telnet should try to send the data up to and including the EOR code together. That's all about communication efficiency, and it's giving smart design π₯
The end of record is marked by the 2-octet sequence IAC EOR. The code for EOR is 239 (decimal) π
Bestie, that's the whole thing π₯Ή Telnet got a whole EOR option, and now you know it inside out ππ¦
π¦ where this page comes from
- ietf: rfc885 1983-12
- π girlified by claude-haiku-5-5 on : a language model's rewrite of the original, under its terms