RFC 1143 (rfc1143) - Page 2 of 10
The Q Method of Implementing TELNET Option Negotiation
Alternative Format: Original Text Document
RFC 1143 Q Method February 1990
writing a new TELNET implementation.
NOTE: Reading This Document
A TELNET implementation is not compliant with this RFC if it fails
to satisfy all rules marked MUST. It is compliant if it satisfies
all rules marked MUST. If it is compliant, it is unconditionally
compliant if it also satisfies all rules marked SHOULD and
conditionally compliant otherwise. Rules marked MAY are optional.
Options are in almost all cases negotiated separately for each
side of the connection. The option on one side is separate from
the option on the other side. In this document, "the" option
referred to by a DONT/WONT or DO/WILL is really two options,
combined only for semantic convenience. Each sentence could be
split into two, one with the words before the slash and one with
the words after the slash.
An implementor should be able to determine whether or not an
implementation complies with this RFC without reading any text
marked DISCUSSION. An implementor should be able to implement
option negotiation machinery compliant with both this RFC and RFC
854 using just the information in Section 7.
2. RFC 854 Option Negotiation Requirements
As specified by RFC 854: A TELNET implementation MUST obey a refusal
to enable an option; i.e., if it receives a DONT/WONT in response to
a WILL/DO, it MUST NOT enable the option.
DISCUSSION:
Where RFC 854 implies that the other side may reject a request to
enable an option, it means that you must accept such a rejection.
It MUST therefore remember that it is negotiating a WILL/DO, and this
negotiation state MUST be separate from the enabled state and from
the disabled state. During the negotiation state, any effects of
having the option enabled MUST NOT be used.
If it receives WONT/DONT and the option is enabled, it MUST respond
DONT/WONT repectively and disable the option. It MUST NOT initiate a
DO/WILL negotiation for an already enabled option or a DONT/WONT
negotiation for a disabled option. It MUST NOT respond to receipt of
such a negotiation. It MUST respond to receipt of a negotiation that
does propose to change the status quo.
Bernstein