TELNETD(8) UNIX Programmer's Manual TELNETD(8) NAME telnetd - DARPA TELNET protocol server SYNOPSIS /usr/libexec/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 11/24/99 November 16, 1996 1 TELNETD(8) UNIX Programmer's Manual TELNETD(8) 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 11/24/99 November 16, 1996 2