socket

SOCKET(7ctrlproxy)                                          SOCKET(7ctrlproxy)



NAME
       socket - Support for IPv4, IPv6 and pipes

DESCRIPTION
       This module provides support for connecting to remote servers using
       IPv4, IPv6 and unix pipes, as well as listening for client connections
       using these connection types.

       As this module is currently the only module providing connection
       support, it is essential for basic use of ctrlproxy.

       Connecting or listening using SSL over IPv4 or IPv6 is supported when a
       SSL library was found at configure time.

       When acting as a SSL server (e.g. waiting for connections from clients
       and communicating with them using SSL), ctrlproxy needs to have a
       certificate file and a private key file. This can be generated using
       the mksslcert.sh script distributed with ctrlproxy.

CONFIGURATION
       The following XML elements are supported:

       sslkeyfile
              Name of file to load private SSL key from. Only required when
              acting as a server

       sslcertfile
              Name of file to load certificate from. Only required when acting
              as a server

CONFIGURATION
       After this module is loaded, the following three new elements are
       supported in <listen> and <servers>:

              ipv4

              ipv6

              pipe

       ipv4 and ipv6 support the following attributes:

       ssl    Enable SSL

       host   Host name or IP address to connect to.

       port   Port to connect to or listen on.

       When connecting, the pipe element can contain one member element <path>
       and several <arg> elements. These should contain a program with
       arguments to execute.

       In listen mode, a file attribute (attribute, not element!) should be
       specified, containing the file name of the unix socket to create. If no
       file name is specified, one will be generated.

EXAMPLE

                 <ctrlproxy>
                      <plugins>
                           <plugin autoload="1" file="socket">
                                <sslcertfile>ctrlproxy.pem</sslcertfile>
                                <sslkeyfile>ctrlproxy.pem</sslkeyfile>
                           </plugin>
                      </plugins>
                      <networks>
                           <network name="BEE">
                                <servers>
                                     <pipe>
                                          <path>/usr/sbin/bitlbee</path>
                                     </pipe>
                                     <ipv4 host="localhost"/>
                                </servers>
                                <listen>
                                     <ipv4 ssl="1" port="6667"/>
                           </network>
                           <network name="DSR">
                                <servers>
                                     <ipv6 host="irc.ipv6.distributed.net"/>
                                     <ipv4 host="irc.distributed.net" port="994" ssl="1"/>
                                </servers>
                                <listen>
                                     <ipv4 port="6668"/>
                                     <ipv6 port="6669" ssl="1"/>
                                </listen>
                           </network>
                      </networks>
                 </ctrlproxy>



VERSION
       This man page is valid for version 0.1 of the plugin.

SEE ALSO
       ctrlproxyrc(5), ctrlproxy(1), [1]http://ctrlproxy.vernstok.nl/

AUTHOR
       [2]Jelmer Vernooij

REFERENCES
       1. http://ctrlproxy.vernstok.nl/
          http://ctrlproxy.vernstok.nl/

       2. Jelmer Vernooij
          mailto:



                                  08/27/2006                SOCKET(7ctrlproxy)