term% cat index.txt LISTEN(8) System Manager's Manual LISTEN(8)
NAME
listen, listen1, tcp7, tcp9, tcp19, tcp21, tcp22, tcp23, tcp25, tcp53,
tcp110, tcp113, tcp143, tcp445, tcp513, tcp515, tcp564, tcp565, tcp566,
tcp567, tcp993, tcp995, tcp1723, tcp17007, tcp17008, tcp17009,
tcp17010, tcp17013 - listen for calls on a network device
SYNOPSIS
aux/listen [-iq] [-d srvdir] [-t trustsrvdir] [-n namespace] [-p max‐
procs] [net]
aux/listen1 [ -tv ] [-p maxprocs] addr cmd [ args... ]
DESCRIPTION
listen listens on a network for inbound calls to local services. Net
is the network protocol on which to listen, by default /net/tcp. The
services available are executable, non-empty files in srvdir or trust‐
srvdir. If neither srvdir nor trustsrvdir is given, listen looks for
executable files in /bin/service. Services found in srvdir are exe‐
cuted as user none; services found in trustsrvdir are executed as the
user who started listen. When changing user to none, a new namespace
is created, usually by executing /lib/namespace, but -n selects an al‐
ternate namespace. The -p option limits the number of processes that
listen spawns to service the connections. If the maxprocs limit is
reached, listen will log the event and delay servicing until the number
of connection processes drops below the limit again. A maxprocs smaller
or equal zero means no limit (default). Option -q suppresses affirma‐
tive log information. Option -i suppresses the periodic scan of the
service directories for changes.
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 tcp565.
At least the following services are available in /bin/service.
tcp564 serve a piece of the name space using the Plan 9 file system
protocol, with authentication via Tauth (in attach(5)), no en‐
cryption, and multiplex multiple users on a single connection
(used by srv(4), and also by Unix systems to see Plan 9 files).
tcp17007
serve a piece of the name space using the Plan 9 file system
protocol, with authentication at the start, optional SSL encryp‐
tion, and no multiplexing of users (typically used by cpu(1) and
import(4)). Not usable by user none.
tcp17008
like tcp17007, but serves the root of the tree, forgoing the ne‐
gotiation for which subtree to serve.
tcp17009
rx remote execution.
tcp17010
server for cpu(1) command.
tcp17013
server for old cpu(1) command for compatibility with old
clients.
tcp7 echo any bytes received (bit mirror)
tcp9 consume any bytes received (bit bucket)
tcp19 chargen service.
tcp21 FTP daemon
tcp22 ssh(1) `secure shell' encrypted terminal connection or file
transfer.
tcp23 telnet terminal connection.
tcp25 mail delivery.
tcp53 TCP port for DNS.
tcp110 POP3 port.
tcp113 Ident port (always reports none).
tcp143 IMAP4rev1 port.
tcp445 CIFS/SMB file sharing.
tcp513 rlogin terminal connection.
tcp515 LP daemon; see lp(8).
tcp565 report the address of the incoming call.
tcp993 Secure IMAP4rev1 port.
tcp995 Secure POP3 port.
tcp1723
PPTP (point-to-point tunnelling protocol) service.
At least the following services are available in /bin/service.auth, the
usual trustsrvdir.
tcp566 validate a SecureNet box.
tcp567 Plan 9 authentication-ticket service.
Listen1 is a lightweight listener intended for personal use, modeled
from Inferno's listen(1). announces on address, running cmd args...
for each incoming connection; the network directory is passed in the
environment as $net. Option -t causes listen1 to run as the invoking
user; the default is to become none before listening. Option -v causes
verbose logging on standard output. See /rc/bin/tlssrvtunnel for an
example.
FILES
/net/tcp
by convention, TCP device bind point
SOURCE
/sys/src/cmd/aux/listen*.c
/rc/bin/service*
SEE ALSO
authsrv(6), dial(2)
BUGS
Srvdir, trustsrvdir and namespace must all be absolute path names.
LISTEN(8)