Provided by: ucspi-tcp_0.88-6_amd64 bug

NAME

       tcpserver - accepts incoming TCP connections.

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
       variables.

       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
              integer. Default: 40.

       -x cdb Follow the rules compiled into cdb by tcprules(1).  These rules may  specify  setting  environment
              variables or rejecting connections 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.  Normally  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.

       -g gid Switch group ID to gid after preparing to receive connections.  gid must be a positive integer.

       -u uid Switch user ID to uid after preparing to receive connections.  uid must be a positive integer.

       -U     Same as -g $GID -u $UID. Typically $GID and $UID are set by envuidgid(8).

       -1     After preparing to receive connections, print the local port number to standard output.

       -b n   Allow a backlog of approximately n TCP SYNs. On some systems, n  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 routing 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 explicitly.

       -D     Never delay sending data; enable TCP_NODELAY.

       Data-gathering options:

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

       -H     Do not look up the remote host name in DNS; remove the  environment  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 environment 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 localname 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 seconds. 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), tcpcat(1), mconnect(1), tcp-environ(5)

       http://cr.yp.to/ucspi-tcp.html

                                                                                                    tcpserver(1)