TELNETD(8C) BSD TELNETD(8C)
NAME
telnetd - DARPA TELNET protocol server
SYNOPSIS
/etc/telnetd
DESCRIPTION
telnetd is a server which supports the DARPA standard TELNET virtual
terminal protocol. telnetd is invoked by the internet server (see
inetd(8)), normally for requests to connect to the TELNET port as
indicated by the /etc/services file (see services(5)).
telnetd operates by allocating a pseudoterminal device (see pty(4)) for a
client, then creating a login process which has the slave side of the
pseudoterminal as stdin, stdout, and stderr. telnetd manipulates the
master side of the pseudoterminal, implementing the TELNET protocol and
passing characters between the remote client and the login process.
When a TELNET session is started up, telnetd sends TELNET options to the
client side indicating a willingness to do remote echo of characters, to
suppress go ahead, and to receive terminal type information 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
pseudoterminal allocated to the client is configured to operate in
"cooked" mode, and with XTABS and CRMOD enabled (see tty(4)).
telnetd is willing to do: echo, binary, suppress go ahead, and timing
mark. telnetd is willing to have the remote client do: binary, terminal
type, and suppress go ahead.
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 telnetd doesn't make use of them.
Because of bugs in the original 4.2BSD telnet, telnetd performs some
dubious protocol exchanges to try to discover if the remote client is, in
fact, a 4.2BSD telnet.
Binary mode has no common interpretation except between similar operating
systems (the UNIX system in this case).
The terminal type name received from the remote client is converted to
lowercase.
The packet interface to the pseudoterminal (see pty(4)) should be used
for more intelligent flushing of input and output queues.
telnetd never sends TELNET go ahead commands.
SEE ALSO
telnet(1C)