listen, listen1, tcp7, tcp9, tcp19, tcp21, tcp23, tcp25, tcp53,
tcp110, tcp113, tcp143, tcp445, tcp513, tcp515, tcp564, tcp565,
tcp566, tcp567, tcp993, tcp995, tcp1723, tcp17007, tcp17008, tcp17009,
tcp17010, tcp17013, tcp17019, tcp17020 – listen for calls on a
aux/listen [–iq] [–d srvdir] [–t trustsrvdir] [–n namespace] [–p maxprocs]
[–a addr] [proto] |
aux/listen1 [ –tv ] [–p maxprocs] [–n namespace] addr cmd [ args...
Listen listens on a network for inbound calls to local services.
Proto is the network protocol on which to listen, by default tcp.
Incoming calls to any address * are accepted unless addr is specified
with the –a option. 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. 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 affirmative log information. Option
–i suppresses the periodic scan of the service directories for
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.
At least the following services are available in /bin/service.auth,
the usual trustsrvdir.
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.
/net/tcp by convention, TCP device bind point|
Srvdir, trustsrvdir and namespace must all be absolute path names.|