SYNOPSIS

       tcpserver [ opts ] host port prog


DESCRIPTION

       opts  is a series of getopt-style options.  host is one argument.  port
       is one argument.  prog consists of one or more arguments.

       tcpserver waits for connections from TCP clients. For each  connection,
       it runs prog, with descriptor 0 reading from the network and descriptor
       1 writing to the network. It also sets  up  several  environment  vari-
       ables.

       The  server's  address  is  given by host and port.  port may be a name
       from /etc/services or a number; if it is 0,  tcpserver  will  choose  a
       free  TCP  port.   host  may be 0, allowing connections to any local IP
       address; or a dotted-decimal IP address, allowing connections  only  to
       that  address;  or  a  host  name, allowing connections to the first IP
       address for that host. Host names are fed through  qualification  using
       dns_ip4_qualify.

       tcpserver exits when it receives SIGTERM.


OPTIONS

       General options:

       -q     Quiet. Do not print error messages.

       -Q     (Default.) Print error messages.

       -v     Verbose. Print error messages and status messages.

       Connection options:

       -c n   Do not handle more than n simultaneous connections. If there are
              n simultaneous copies of prog running, defer acceptance of a new
              connection  until one copy finishes.  n must be a positive inte-
              ger. Default: 40.

       -x cdb Follow the rules compiled into cdb by tcprules(1).  These  rules
              may  specify  setting environment variables or rejecting connec-
              tions from bad sources. You can rerun tcprules(1) to change  the
              rules while tcpserver is running.

       -X     With  -x cdb, allow connections even if cdb does not exist. Nor-
              mally tcpserver will drop the connection if cdb does not  exist.

       -B banner
              Write banner to the network immediately after each connection is
              made.  tcpserver writes banner before looking up $TCPREMOTEHOST,
              before looking up $TCPREMOTEINFO, and before checking cdb.  This
              feature can be used to reduce latency  in  protocols  where  the
              client waits for a greeting from the server.
              is silently limited to 5. On systems supporting SYN cookies, the
              backlog is irrelevant.

       -o     Leave  IP  options alone. If the client is sending packets along
              an IP source route, send packets back along the same route.

       -O     (Default.) Kill IP options. A client can still use source  rout-
              ing  to  connect and to send data, but packets will be sent back
              along the default route.

       -d     Delay sending data for a  fraction  of  a  second  whenever  the
              remote host is responding slowly. This is currently the default,
              but it may not be in the future; if you want it, set it  explic-
              itly.

       -D     Never delay sending data; enable TCP_NODELAY.

       Data-gathering options:

       -h     (Default.)  Look up the remote host name in DNS to set the envi-
              ronment variable $TCPREMOTEHOST.

       -H     Do not look up the remote host name in DNS; remove the  environ-
              ment  variable $TCPREMOTEHOST. To avoid loops, you must use this
              option for servers on TCP port 53.

       -p     Paranoid. After looking up the remote host name in DNS, look  up
              the IP addresses in DNS for that host name, and remove the envi-
              ronment variable $TCPREMOTEHOST if none of the  addresses  match
              the client's IP address.

       -P     (Default.) Not paranoid.

       -l localname
              Do not look up the local host name in DNS; use localname for the
              environment variable $TCPLOCALHOST. A common choice  for  local-
              name  is 0. To avoid loops, you must use this option for servers
              on TCP port 53.

       -r     (Default.) Attempt to  obtain  $TCPREMOTEINFO  from  the  remote
              host.

       -R     Do not attempt to obtain $TCPREMOTEINFO from the remote host. To
              avoid loops, you must use this option for servers on  TCP  ports
              53 and 113.

       -t n   Give  up  on  the $TCPREMOTEINFO connection attempt after n sec-
              onds. Default: 26.


SEE ALSO

       tcprules(1),  tcprulescheck(1),  argv0(1),   fixcrio(1),   recordio(1),
       rblsmtpd(1),  tcpclient(1),  who@(1),  date@(1),  finger@(1), http@(1),

Man(1) output converted with man2html