rfc-933

Output marking Telnet option

S. Silverman
date1985-01 streamLegacy statusPROPOSED STANDARD pages4 canonicalhttps://www.rfc-editor.org/rfc/rfc933 doi10.17487/RFC0933
This proposed option would allow a Server-Telnet to send a banner to a User-Telnet so that this banner would be displayed on the workstation screen independently of the application software running in the Server-Telnet.

Extracted elements (18)

design-rationale §4

A CNTL flag was introduced (rather than fixing banner position to the top) because different systems may require the security banner at the bottom or sides of the screen, and the design anticipates this variation without mandating a single layout.

design-rationale §4

The option was motivated by the DoD Trusted Computer System Evaluation Criteria (Section 3.1.1.3.2.3), which requires security level labels on all human-readable output for certain military systems. Embedding banners per screen in application data was the prior approach, but was inefficient.

security

design-rationale §4

Transmitting the banner once via subnegotiation and having User-Telnet maintain it automatically is more efficient than Server-Telnet embedding the banner in every screen of data. It also frees Server-Telnet from needing to know the output device's page size.

interoperability-note §5

After output marking is established, User-Telnet must remap all cursor-addressing operations from the application so that they target only the usable (non-banner) portion of the screen; failure to do so would cause application output to overwrite the security banner.

normative-requirement §5 MUST

After acknowledging output marking (ACK), User-Telnet must translate all cursor-control commands so that application data is mapped to the application portion of the screen, leaving the banner region reserved.

normative-requirement §5 MUST

CRLF within the banner data is interpreted as end-of-line for multiline banners; no trailing CRLF is required after the final line of banner data.

normative-requirement §5 MAY

If a WILL/DO OUTMRK exchange is not followed by the OUTMRK subnegotiation, User-Telnet may terminate the option by sending DON'T OUTMRK.

normative-requirement §3 SHOULD

The default state for both sides is WON'T OUTMRK and DON'T OUTMRK, meaning output marking information will not be exchanged unless explicitly negotiated.

normative-requirement §5 SHOULD

To terminate output marking, Server-Telnet transmits 'WON'T OUTMRK'. User-Telnet should then notify Server-Telnet of the new effective page size.

protocol-element §2

Four standard Telnet negotiation commands are defined: IAC WILL OUTMRK (sender willing to send marking), IAC WON'T OUTMRK (sender refuses to send), IAC DO OUTMRK (sender willing to receive marking), and IAC DON'T OUTMRK (sender refuses to accept marking).

protocol-element §2

The ACK response 'IAC SB OUTMRK ACK IAC SE' (ACK = ASCII 6) is sent by User-Telnet to accept the banner data and commit to performing output marking as specified.

protocol-element §5

The CNTL octet encodes banner placement: D (Default, User-Telnet decides), T (Top of screen), B (Bottom of screen), L (Left side, precise meaning TBD), R (Right side, precise meaning TBD). T and B (or R and L) are used together when multiple banners are desired.

protocol-element §2

The NAK response 'IAC SB OUTMRK NAK IAC SE' (NAK = ASCII 21) is sent by User-Telnet when the supplied banner data is unacceptable, requiring Server-Telnet to restart the sequence with different data or terminate the connection.

protocol-element §1

The OUTMRK Telnet option is assigned option code 27. It allows a Server-Telnet to transmit a display banner to User-Telnet via subnegotiation, which User-Telnet renders on-screen independently of application data.

yang

security-consideration §4

The primary purpose of this option is to support mandatory security labeling of terminal sessions as required by the DoD TCSEC. By displaying a persistent banner that is managed by User-Telnet rather than application data, the label cannot be suppressed or spoofed by the server application.

security

state-machine §5

Option negotiation proceeds: either side sends WILL OUTMRK or DO OUTMRK; the receiving party responds with DO or WILL respectively. Server-Telnet then sends the SB subnegotiation with CNTL and data. User-Telnet replies ACK to accept or NAK to reject. On ACK, marking is active; on NAK, Server-Telnet must retry or disconnect. Marking is terminated by Server-Telnet sending WON'T OUTMRK.

wire-format §5

Multiple banners may be included in a single subnegotiation using the form 'IAC SB OUTMRK CNTL data GS CNTL data IAC SE', where GS is the ASCII Group Separator character (decimal 29).

wire-format §2

The subnegotiation command 'IAC SB OUTMRK CNTL data IAC SE' carries the banner. CNTL is a single octet control flag indicating banner placement; data is ASCII banner text. CRLF separates lines within a multiline banner.