.TH LISTEN 8
.SH NAME
listen, listen1, tcp7, tcp9, tcp19, tcp21, tcp22, tcp23, tcp25, tcp53, tcp110, tcp113, tcp143, tcp513, tcp515, tcp564, tcp565, tcp566, tcp567, tcp993, tcp1723, tcp17007, tcp17009, tcp17010, tcp17013 \- listen for calls on a network device
.SH SYNOPSIS
.B aux/listen
.RB [ -q ]
.RB [ -d
.IR srvdir ]
.RB [ -t
.IR trustsrvdir ]
.RB [ -n
.IR namespace ]
.RI [ net ]
.PP
.B aux/listen1
[
.B -tv
]
.I addr
.I cmd
[
.I args...
]
.SH DESCRIPTION
.I listen
listens on a network for inbound calls to local services.
.I Net
is the network protocol on which to listen, by default
.BR /net/tcp .
The services available are executable, non-empty files in
.I srvdir
or
.IR trustsrvdir .
If neither
.I srvdir
nor
.I trustsrvdir
is given,
.I listen
looks for executable files in
.BR /bin/service .
Services found in
.I srvdir
are executed as user
.BR none ;
services found in
.I trustsrvdir
as executed as the user who started
.IR listen .
Option
.B -q
suppresses affirmative log information;
option
.B -n
sets an alternate
.I namespace
file (default
.BR /lib/namespace ).
.PP
Service names are made by concatenating the name of
the network with the name of the service or port.
For example,
an inbound call on the TCP network for port 565 executes service
.BR tcp565 .
.PP
The following services are available in
.BR /bin/service .
.TF \ tcp00000
.TP
.B tcp19
.B chargen
service.
.TP
.B tcp17007
serve a piece of the name space using the Plan 9 file system protocol,
with authentication (typically used by
.IR cpu (1)).
.TP
.B tcp564
like 17007, without authentication (used by Unix
systems to see Plan 9 files).
.TP
.B il17008
like 17007, but serves the root of the tree, forgoing the negotiation for which subtree to serve.
.TP
.B tcp17009
remote execution.
.TP
.B "tcp17010"
server for
.IR cpu (1)
command.
.TP
.B "tcp17013"
server for old
.IR cpu (1)
command for compatibility with old clients.
.TP
.B tcp565
report the address of the incoming call.
.TP
.B tcp21
FTP daemon
.TP
.B tcp22
.B ssh
`secure shell' encrypted terminal connection or file transfer.
.TP
.B tcp23
.B telnet
terminal connection.
.TP
.B tcp25
mail delivery.
.TP
.B tcp513
.B rlogin
terminal connection.
.TP
.B tcp515
LP daemon; see
.IR lp (8).
.TP
.B tcp7
echo any bytes received (bit mirror)
.TP
.B tcp9
consume any bytes received (bit bucket)
.TP
.B tcp53
TCP port for DNS.
.TP
.B tcp110
POP3 port.
.TP
.B tcp143
IMAP4rev1 port.
.TP
.B tcp113
.B Ident
port (always reports
.BR none ).
.TP
.B tcp567
Plan 9 ticket service.
.TP
.B tcp1723
PPTP (point-to-point tunnelling protocol) service.
.PD
.PP
The following services are available in
.BR /bin/service.auth .
.TF \ tcp00000
.TP
.B tcp566
check a SecureNet box.
.TP
.B il566
authentication requests.
.TP
.B tcp993
Secure IMAP4rev1 port.
.PD
.PP
.I Listen1
is a lightweight listener intended for personal use,
modeled from Inferno's
.\" write out this way so automatic programs
.\" don't try to make it into a real man page reference.
\fIlisten\fR(1).
announces on
.IR address ,
running
.I cmd
.I args...
for each incoming connection;
the network directory is passed in the environment
as
.BR $net .
Option
.B -t
causes
.I listen1
to run as the invoking user; the default
is to become
.B none
before listening.
Option
.B -v
causes verbose logging on standard output.
See
.B /rc/bin/tlssrvtunnel
for an example.
.SH FILES
.TF /env/sysname
.TP
.B /net/tcp
by convention, TCP device bind point
.SH SOURCE
The sources to
.I listen
and
.I listen1
are
.B /sys/src/cmd/aux/listen.c
and
.BR /sys/src/cmd/aux/listen1.c .
The other commands are
.IR rc (1)
scripts in
.BR /rc/bin/service .
.SH "SEE ALSO"
.IR authsrv (6),
.IR dial (2)
|