4.3BSD-UWisc/man/cat8/telnetd.8c
TELNETD(8C) UNIX Programmer's Manual TELNETD(8C)
NAME
telnetd - DARPA TELNET protocol server
SYNOPSIS
/etc/telnetd
DESCRIPTION
_T_e_l_n_e_t_d is a server which supports the DARPA standard TELNET
virtual terminal protocol. _T_e_l_n_e_t_d is invoked by the inter-
net server (see _i_n_e_t_d(8)), normally for requests to connect
to the TELNET port as indicated by the /_e_t_c/_s_e_r_v_i_c_e_s file
(see _s_e_r_v_i_c_e_s(5)).
_T_e_l_n_e_t_d operates by allocating a pseudo-terminal device (see
_p_t_y(4)) for a client, then creating a login process which
has the slave side of the pseudo-terminal as stdin, stdout,
and stderr. _T_e_l_n_e_t_d manipulates the master side of the
pseudo-terminal, implementing the TELNET protocol and pass-
ing characters between the remote client and the login pro-
cess.
When a TELNET session is started up, _t_e_l_n_e_t_d sends TELNET
options to the client side indicating a willingness to do
_r_e_m_o_t_e _e_c_h_o of characters, to _s_u_p_p_r_e_s_s _g_o _a_h_e_a_d, and to
receive _t_e_r_m_i_n_a_l _t_y_p_e _i_n_f_o_r_m_a_t_i_o_n from the remote client.
If the remote client is willing, the remote terminal type is
propagated in the environment of the created login process.
The pseudo-terminal allocated to the client is configured to
operate in "cooked" mode, and with XTABS and CRMOD enabled
(see _t_t_y(4)).
_T_e_l_n_e_t_d is willing to _d_o: _e_c_h_o, _b_i_n_a_r_y, _s_u_p_p_r_e_s_s _g_o _a_h_e_a_d,
and _t_i_m_i_n_g _m_a_r_k. _T_e_l_n_e_t_d is willing to have the remote
client _d_o: _b_i_n_a_r_y, _t_e_r_m_i_n_a_l _t_y_p_e, and _s_u_p_p_r_e_s_s _g_o _a_h_e_a_d.
SEE ALSO
telnet(1C)
BUGS
Some TELNET commands are only partially implemented.
The TELNET protocol allows for the exchange of the number of
lines and columns on the user's terminal, but _t_e_l_n_e_t_d
doesn't make use of them.
Because of bugs in the original 4.2 BSD _t_e_l_n_e_t(1C), _t_e_l_n_e_t_d
performs some dubious protocol exchanges to try to discover
if the remote client is, in fact, a 4.2 BSD _t_e_l_n_e_t(1C).
_B_i_n_a_r_y _m_o_d_e has no common interpretation except between
similar operating systems (Unix in this case).
Printed 12/27/86 May 28, 1986 1
TELNETD(8C) UNIX Programmer's Manual TELNETD(8C)
The terminal type name received from the remote client is
converted to lower case.
The _p_a_c_k_e_t interface to the pseudo-terminal (see _p_t_y(4))
should be used for more intelligent flushing of input and
output queues.
_T_e_l_n_e_t_d never sends TELNET _g_o _a_h_e_a_d commands.
Printed 12/27/86 May 28, 1986 2