mtcps - a small and fast inetd replacement

This program has been designet to be small, fast and secure. It uses the 
dietlibc and libowfat. Don't ask me about ports to the glibc - no way, as it 
is nearly impossible to write small programms with the glibc.

usage: 

mtcps [-dhqQv] [-b backlog] [-g gid] [-u uid] ip port programm

where
  -d drop program name prefix in logmessages.
  -h print help and exit.
  -q quite, no output even not on errors.
  -Q quite, output errors only (default).
  -v verbose, output status messages.
  -b set the backlog to given number. This option has no effect on systems
     supporting syncookies.
  -u switch to given user id after port binding.
  -g switch to given goup id after port binding.

  <ip>    
  Is the local ip address to bind to. If 0 or 0.0.0.0 is given, mtcps will bind
  to all local addesses. Note: You must give an ip address, not a hostname! 
  mtcps doesn't make dns lookups.

  <port>
  Is the port to bind to. If the port is less than 1024 you must start mtcps as
  root and you shoud use the -u and -g parameters to increase security. Note:
  You must give a port number, no a service! mtcps dosn't take care of any
  /etc/services (or other sources e.g. nis).

  <programm>
  The programm to be called on a successfull connection. All traffic from the
  client host is feed to descriptor 0 (stdin) of the programm and all output of 
  programm to descriptor 1 (stdout) are feed throu the client.

mtcps logs all messages to descriptor 2 (stderr) and the the programm started by 
mtcps shoud do too.

Have Fun!
12/04/2002 Thomas Knop <tknop@maxrelax.de>
