Provided by: ucspi-tcp_0.88-7_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)