glenda.party
term% ls -F
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)