Provided by: ipsvd_1.0.0-2_amd64 bug

NAME

       sslio - SSL input/output for service programs

SYNOPSIS

       sslio [-cv] [-u user] [-U user] [-/ root] [-C cert] [-K key] [-A ca] prog

DESCRIPTION

       sslio  provides  SSL  encrypted  network  connections  for  service  programs  started  by  tcpsvd(8)  or
       tcpserver(1), and tcpclient(1).

       Normally sslio is started by tcpsvd(8) or tcpclient(1), in turn starts the service program prog, and runs
       as child process of the service program.  After performing the SSL handshake, sslio reads  SSL  encrypted
       data  from  the  network,  and  writes decrypted data to the service program prog; it reads data from the
       service program prog, and writes SSL encrypted data to the network.  sslio should run under  a  different
       user ID than the service program, and with a changed root directory.  When started by root, the -u option
       must be given, and the -U and -/ options should be given.

       The sslio program uses the SSLv3 implementation of the matrixssl library.

OPTIONS

       prog   prog  consists  of  one or more arguments, specifying the service program normally run directly by
              tcpsvd(8), or tcpserver(1).

       -u [:]user[:group]
              drop permissions.  Set uid and gid to the user's uid and gid,  as  found  in  /etc/passwd,  before
              reading  data  from,  or writing data to the network.  If user is followed by a colon and a group,
              set the gid to group's gid, as found in /etc/group, instead of user's gid.  If group consists of a
              colon-separated list of group names, set the group ids of all listed groups.  If user is  prefixed
              with  a  colon, the user and all group arguments are interpreted as uid and gids respectively, and
              not looked up in the password or group file.  All supplementary groups are removed.   This  option
              must be set when sslio is started by root, and cannot be set otherwise.

       -U [:]user[:group]
              drop  permissions.   Set  uid  and  gid to the user's uid and gid, as found in /etc/passwd, before
              running prog.  If user is followed by a colon and a group, set the gid to group's gid, as found in
              /etc/group, instead of user's gid.  If group consists of a colon-separated list  of  group  names,
              set  the group ids of all listed groups.  If user is prefixed with a colon, the user and all group
              arguments are interpreted as uid and gids respectively, and not looked up in the password or group
              file.  All supplementary groups are removed.  This option should be set when sslio is  started  by
              root, and cannot be set otherwise.

       -/ root
              chroot.   Change  the  root  directory  to  root  before reading data from, or writing data to the
              network.  This option should be set when sslio is started by root, and cannot be set otherwise.

       -C cert
              cert file (server mode).  Read the certificate from the file cert (default is ``./cert.pem'').  If
              the -/ option is given, first the root directory is changed, then the cert file is read.

       -K key private key (server mode).  Read the private key from the file key (default is cert).  If  the  -/
              option is given, first the root directory is changed, then the private key is read.

       -A ca  ca file (client mode).  Read the trusted root certificate from the file ca.  Multiple files can be
              specified, using a semicolon as delimiter.  If the -/ option is given, first the root directory is
              changed, then the ca file is read.

       -c     client  mode.   This  option must be given when running sslio under tcpclient(1).  In client mode,
              filedescriptors 6 and 7 are used instead of standard input and standard ouput  to  read  from  and
              write to the network and the service program.  If the -A option is given, sslio refuses to connect
              to  a  servers  which's  certificates  cannot be verified by the root certificates, it accepts any
              server certificate otherwise.

       -v     verbose.  Print verbose messages to standard error.

       -vv    more verbose.  Print more verbose messages to standard error.

       -vvv   even more verbose.  Print even more verbose messages to standard error.

ENVIRONMENT

       SSLIO_BUFIN
              The environment variable SSLIO_BUFIN overrides the default input buffer size for sslio (8192).

       SSLIO_BUFOU
              The environment variable SSLIO_BUFOU overrides the default output buffer size for  sslio  (12288).
              If  the  output buffer is too small to hold encrypted or decrypted data, sslio automatically blows
              up the buffer to SSLIO_BUFOU more bytes.

       SSLIO_BAD_CERTIFICATE
              (client mode)  If the environment variable SSLIO_BAD_CERTIFICATE is set, sslio -c  accepts  server
              ceritificates it would normally reject with
               fatal: ssl decode error: bad certificate

       SSLIO_HANDSHAKE_TIMOUT
              The  environment  variable  SSLIO_HANDSHAKE_TIMEOUT  overrides the default number of seconds sslio
              will try to complete the ssl handshake (300).  If the handshake isn't completed after this  number
              of seconds, sslio exits.

SEE ALSO

       sslsvd(8), tcpsvd(8), udpsvd(8), ipsvd(7), ipsvd-instruct(5), ipsvd-cdb(8)

       http://smarden.org/ipsvd/

AUTHOR

       Gerrit Pape <pape@smarden.org>

                                                                                                        sslio(8)