listen man page on Inferno

Man page or keyword search:  
man Server   579 pages
apropos Keyword Search (all sections)
Output format
Inferno logo
[printable version]

LISTEN(1)							     LISTEN(1)

NAME
       listen, styxlisten, dial - network connections

SYNOPSIS
       listen  [  -Ats ] [ -a alg ]... [ -k keyfile ] [ -i {initscript} ] addr
       command [ arg...	 ]
       styxlisten [ -Ats ] [ -a alg ]... [ -k keyfile ] addr command [	arg...
       ]
       dial [ -A ] [ -a alg ] [ -k keyfile ] addr command [ arg...  ]

DESCRIPTION
       Listen  waits  for an incoming network connection on addr, (as accepted
       by announce in dial(2)) and then invokes sh(1) to  run  the  associated
       command.	  If  the -A option is specified, no authentication or encryp‐
       tion will take place on the connection; otherwise listen	 will  attempt
       to  authenticate the party at the other end of the connection, allowing
       any given alg to be used to  encrypt  and/or  digest  the  connection's
       data.  If  neither -A or any -a option is given, then listen will allow
       any algorithm allowed by the local ssl(3) device.  If keyfile is speci‐
       fied,  then  that  will	be used as the server's certificate; otherwise
       /usr/user/keyring/default will be used.

       If an initscript is provided, it is executed  by	 each  listener	 after
       announcing  its	network connection, with the shell variable net set to
       the name of the corresponding network directory (see  dial(2)),	before
       listening  for incoming calls.  This can be used to change, or find out
       the characteristics of an announced port (for instance to find out  the
       actual port number that has been announced).

       By  default,  listen  backgrounds  itself (after checking that the port
       announcement proceeded ok); giving it the -s option causes  it  to  run
       synchronously.

       Listen  currently  makes	 available the whole of its current name space
       visible to the command, which might be undesirable, and perhaps	should
       be  optional,  with  a new name space constructed for an incoming call.
       The -t option declares the command to be `trusted' giving it access  to
       elements	 of the current name space such as /mnt/keys on an authentica‐
       tion server.  By default it has not got that access.

       Styxlisten is similar to listen, except that it	multiplexes  a	single
       styx (see intro(5)) server between multiple clients.  Styxlisten starts
       its cmd only once; it assumes it will serve styx messages through  file
       descriptor  0  when  started. For each client that attaches to address,
       the command will see a new attach(5) message indicating the new connec‐
       tion.   Unless  the  -A	option	has been given, the uname field in the
       attach message will be the name of the authenticated  user.   When  the
       command exits, the process listening on address is stopped.

       Dial  is	 the  complement  of listen.  It tries to make a connection to
       addr.  If the -A option is given, no authentication or encryption  will
       take  place;  otherwise	Inferno	 authentication and encryption will be
       performed as usual, using alg if given, or a default  algorithm	other‐
       wise.   Keyfile	is  used  for  the  certificate	 if  given,  otherwise
       /usr/user/keyring/addr,	 if   it    exists,    and    failing	 that,
       /usr/user/keyring/default.  Alg is used for the encryption/digest algo‐
       rithm on the connection.	 When the connection is made, command  is  run
       in the context of that connection, as described below.

       For  both dial and listen, when the command is run, $user is set to the
       name of the authenticated user at the other end of the  connection  (if
       authentication  is  being  used), and $net is set to the /net directory
       corresponding to the connection.	 The standard input and output of  the
       command	is  redirected	to  the	 network connection (standard error is
       unaffected).

EXAMPLES
       Run a custom login daemon and an echo server that logs incoming connec‐
       tions:

	      listen 'tcp!*!echo' {
		   echo connection from `{cat $net/remote} >[1=2]
		   echo user is $user >[1=2]
		   cat &
	      }

       Dial up the above echo server:

	      dial tcp!somehost!echo {
		   echo made connection >[1=2]; echo hello; cat >[1=2]
	      }

       Make the current name-space available to all:

	      styxlisten 'tcp!*!styx' export /

SOURCE
       /appl/cmd/dial.b
       /appl/cmd/listen.b

BUGS
       The  way	 that  styxlisten is implemented means that the aname from the
       remote mount(2) request cannot be passed through to the attach  message
       seen by the command that has been started by styxlisten.

SEE ALSO
       dial(2), ssl(3), auth(6), svc(8)

								     LISTEN(1)
[top]

List of man pages available for Inferno

Copyright (c) for man pages and the logo by the respective OS vendor.

For those who want to learn more, the polarhome community provides shell access and support.

[legal] [privacy] [GNU] [policy] [cookies] [netiquette] [sponsors] [FAQ]
Tweet
Polarhome, production since 1999.
Member of Polarhome portal.
Based on Fawad Halim's script.
....................................................................
Vote for polarhome
Free Shell Accounts :: the biggest list on the net