1
<ctrlproxy:module name="socket"
2
xmlns:ctrlproxy="http://ctrlproxy.vernstok.nl/common">
4
<description>Support for IPv4, IPv6 and pipes</description>
6
<author>Jelmer Vernooij</author>
7
<homepage>http://jelmer.vernstok.nl/ctrlproxy/</homepage>
8
<requires>SSL(optional)</requires>
12
<para>This module provides support for connecting to remote
13
servers using IPv4, IPv6 and unix pipes, as well
14
as listening for client connections using these connection
17
<para>As this module is currently the only module providing
18
connection support, it is essential for basic use of
21
<para>Connecting or listening using SSL over IPv4 or IPv6
22
is supported when a SSL library was found at configure time.</para>
24
<para>When acting as a SSL server (e.g. waiting for connections from
25
clients and communicating with them using SSL), ctrlproxy
26
needs to have a certificate file and a private key file.
27
This can be generated using the <filename>mksslcert.sh</filename>
28
script distributed with ctrlproxy.</para>
32
<element name="sslkeyfile">
33
<description>Name of file to load private SSL key from. Only required when acting as a server</description>
36
<element name="sslcertfile">
37
<description>Name of file to load certificate from. Only required when acting as a server</description>
42
<title>Configuration</title>
44
<para>After this module is loaded, the following three new elements are supported in <listen> and <servers>:</para>
52
<para>ipv4 and ipv6 support the following attributes:</para>
54
<varlistentry><term>ssl</term>
55
<listitem><para>Enable SSL</para></listitem>
58
<varlistentry><term>host</term>
59
<listitem><para>Host name or IP address to connect to.
60
</para></listitem></varlistentry>
62
<varlistentry><term>port</term>
63
<listitem><para>Port to connect to or listen on.</para></listitem>
67
<para>When connecting, the pipe element can contain one member
68
element <path> and several <arg> elements. These
69
should contain a program with arguments to execute.</para>
71
<para>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.</para>
79
<plugin autoload="1" file="socket">
80
<sslcertfile>ctrlproxy.pem</sslcertfile>
81
<sslkeyfile>ctrlproxy.pem</sslkeyfile>
88
<path>/usr/sbin/bitlbee</path>
90
<ipv4 host="localhost"/>
93
<ipv4 ssl="1" port="6667"/>
97
<ipv6 host="irc.ipv6.distributed.net"/>
98
<ipv4 host="irc.distributed.net" port="994" ssl="1"/>
102
<ipv6 port="6669" ssl="1"/>