new copyright notice
[unix-history] / usr / src / libexec / telnetd / telnetd.8
.\" Copyright (c) 1983 The Regents of the University of California.
.\" All rights reserved.
.\"
.\" Redistribution and use in source and binary forms are permitted
.\" provided that the above copyright notice and this paragraph are
.\" duplicated in all such forms and that any documentation,
.\" advertising materials, and other materials related to such
.\" distribution and use acknowledge that the software was developed
.\" by the University of California, Berkeley. The name of the
.\" University may not be used to endorse or promote products derived
.\" from this software without specific prior written permission.
.\" THIS SOFTWARE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR
.\" IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED
.\" WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
.\"
.\" @(#)telnetd.8 6.5 (Berkeley) %G%
.\"
.TH TELNETD 8 ""
.UC 5
.SH NAME
telnetd \- DARPA TELNET protocol server
.SH SYNOPSIS
.B /etc/telnetd
.SH DESCRIPTION
.I Telnetd
is a server which supports the DARPA standard
.B TELNET
virtual terminal protocol.
.I Telnetd
is invoked by the internet server (see
.IR inetd (8)),
normally for requests to connect to the
.B TELNET
port as indicated by the
.I /etc/services
file (see
.IR services (5)).
.PP
.I Telnetd
operates by allocating a pseudo-terminal device (see
.IR pty (4))
for a client, then creating a login process which has
the slave side of the pseudo-terminal as
.BR stdin ,
.BR stdout ,
and
.BR stderr .
.I Telnetd
manipulates the master side of the pseudo-terminal,
implementing the
.B TELNET
protocol and passing characters
between the remote client and the login process.
.PP
When a
.B TELNET
session is started up,
.I telnetd
sends
.B TELNET
options to the client side indicating
a willingness to do
.I remote echo
of characters, to
.I suppress go
.IR ahead ,
to do
.I remote flow
.IR control ,
and to receive
.I terminal type
.IR information ,
.I terminal speed
.IR information ,
and
.I window size 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 pseudo-terminal allocated to the client is configured
to operate in \*(lqcooked\*(rq mode, and with XTABS and CRMOD
enabled (see
.IR tty (4)).
.PP
.I Telnetd
is willing to
.IR do :
.IR echo ,
.IR binary ,
.I suppress go
.IR ahead ,
and
.I timing
.IR mark .
.I Telnetd
is willing to have the remote client
.IR do :
.IR binary ,
.I terminal
.IR type ,
.I terminal
.IR speed ,
.I window
.IR size ,
.I toggle flow
.IR control ,
and
.I suppress go
.IR ahead .
.SH "SEE ALSO"
telnet(1)
.SH BUGS
Some
.B TELNET
commands are only partially implemented.
.PP
Because of bugs in the original 4.2 BSD
.IR telnet (1),
.I telnetd
performs some dubious protocol exchanges to try to discover if the remote
client is, in fact, a 4.2 BSD
.IR telnet (1).
.PP
.I Binary mode
has no common interpretation except between similar operating systems
(Unix in this case).
.PP
The terminal type name received from the remote client is converted to
lower case.
.PP
.I Telnetd
never sends
.B TELNET
.I go ahead
commands.