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>: ipv4ipv6pipe
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), http://ctrlproxy.vernstok.nl/: http://ctrlproxy.vernstok.nl/
AUTHOR
Jelmer Vernooij: mailto: