TELNETD(8) BSD System Manager's Manual TELNETD(8) NNAAMMEE telnetd - DARPA TELNET protocol server SSYYNNOOPPSSIISS //eettcc//tteellnneettdd [--ddeebbuugg [_p_o_r_t]] [--ll]] [[--DD ooppttiioonnss]] [[--DD rreeppoorrtt]] [[--DD eexxeerrcciissee]] [[--DD nneettddaattaa]] [[--DD ppttyyddaattaa]] DDEESSCCRRIIPPTTIIOONN _T_e_l_n_e_t_d is a server which supports the DARPA standard TTEELL-- NNEETT virtual terminal protocol. _T_e_l_n_e_t_d is invoked by the internet server (see _i_n_e_t_d(8)), normally for requests to connect to the TTEELLNNEETT 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)). If the --ddeebbuugg may be used, to start up tteellnneettdd manually, instead of through _i_n_e_t_d(8). If started up this way, _p_o_r_t may be specified to run _t_e_l_n_e_t_d on an alternate TCP port number. The --DD option may be used for debugging purposes. This allows _t_e_l_n_e_t to print out debugging information to the connection, allowing the user to see what telnetd is doing. There are several modifiers: ooppttiioonnss prints infor- mation about the negotiation of TTEELLNNEETT options, rreeppoorrtt prints the ooppttiioonnss information, plus some additional information about what processing is going on, nneettddaattaa displays the data stream received by _t_e_l_n_e_t_d, ppttyyddaattaa dis- plays data written to the pty, and eexxeerrcciissee has not been implemented yet. _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 ssttddiinn, ssttddoouutt, and ssttddeerrrr. _T_e_l_n_e_t_d manipulates the master side of the pseudo-terminal, implementing the TTEELLNNEETT protocol and passing characters between the remote client and the login process. When a TTEELLNNEETT session is started up, _t_e_l_n_e_t_d sends TTEELLNNEETT 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, to do _r_e_m_o_t_e _f_l_o_w _c_o_n_t_r_o_l, 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, _t_e_r_m_i_n_a_l _s_p_e_e_d _i_n_f_o_r_m_a_t_i_o_n, and _w_i_n_d_o_w _s_i_z_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: _l_i_n_e_m_o_d_e, _b_i_n_a_r_y, _t_e_r_m_i_n_a_l _t_y_p_e, _t_e_r_m_i_n_a_l 4.2 Berkeley Distribution June 4, 1993 1 TELNETD(8) BSD System Manager's Manual TELNETD(8) _s_p_e_e_d, _w_i_n_d_o_w _s_i_z_e, _t_o_g_g_l_e _f_l_o_w _c_o_n_t_r_o_l, _e_n_v_i_r_o_n_m_e_n_t, _X _d_i_s_p_l_a_y _l_o_c_a_t_i_o_n, and _s_u_p_p_r_e_s_s _g_o _a_h_e_a_d. SSEEEE AALLSSOO telnet(1) BBUUGGSS Some TTEELLNNEETT commands are only partially implemented. Because of bugs in the original 4.2 BSD _t_e_l_n_e_t(1), _t_e_l_n_e_t_d performs some dubious protocol exchanges to try to dis- cover if the remote client is, in fact, a 4.2 BSD _t_e_l_- _n_e_t(1). _B_i_n_a_r_y _m_o_d_e has no common interpretation except between similar operating systems (Unix in this case). The terminal type name received from the remote client is converted to lower case. _T_e_l_n_e_t_d never sends TTEELLNNEETT _g_o _a_h_e_a_d commands. 4.2 Berkeley Distribution June 4, 1993 2