LISTEN(8) LISTEN(8) NAME listen, listen1, tcp7, tcp9, tcp19, tcp21, tcp22, tcp23, tcp25, tcp53, tcp110, tcp113, tcp143, 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] [net] aux/listen1 [ -tv ] addr cmd [ args... ] DESCRIPTION listen listens on a network for inbound calls to local ser- vices. Net is the network protocol on which to listen, by default /net/tcp. The services available are executable, non-empty files in srvdir or trustsrvdir. If neither srvdir nor trustsrvdir is given, listen looks for executable files in /bin/service. Services found in srvdir are executed 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 alternate namespace. Option -q suppresses affirmative log information. Option -i suppresses the peri- odic scan of the service directories for changes. Service names are made by concatenating the name of the net- work with the name of the service or port. For example, an inbound call on the TCP network for port 565 executes ser- vice tcp565. These programs are execed with arguments con- sisting of service (e.g., `tcp25'), protocol (e.g., `tcp'), and the directory of this network connection, with the net- work connection's data file bound to /dev/cons and opened read/write as file descriptors 0, 1 and 2. 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 encryption, 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 encryption, and no multiplex- ing of users (typically used by cpu(1) and import(4)). Not usable by user none. LISTEN(8) LISTEN(8) tcp17008 like tcp17007, but serves the root of the tree, forgoing the negotiation 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 connec- tion 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. 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). Listen1 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 LISTEN(8) LISTEN(8) Srvdir, trustsrvdir and namespace must all be absolute path names.