Files @ 0729d364ca25
Branch filter:

Location: libtransport.git/docs/guide/libcommuni.textile

Vladimír Matěna
Fix double free in DummyConnectionServer

Do not create shared ptr from this as this lead to double free in
UserRegistryTest::login test. Shared ptr was needed to set event
owner in acceptConnection, actually it is never needed as events
are never filtered by owner. Thus it was removed and there is no
need to create shared ptr from this.
h2. 1. Description

LibCommuni backend is IRC backend which uses "Communi IRC library":https://github.com/communi/communi/wiki. It's specialized IRC backend and it should replace libpurple IRC support.

h2. 2. Configuration

You have to choose this backend in Spectrum 2 configuration file to use it:

<pre>
[service]
backend=/usr/bin/spectrum2_libcommuni_backend
</pre>

LibCommuni backend can then work in two modes.

h3. 2.1. One transport per one IRC network

This is preferred way if you know that you or your users will need to connect just one IRC network. It's also good mode of you maintain IRC server and want to provide XMPP access to it.

In this mode users can:
* connect the IRC network without joining the IRC channel.
* identify to NickServ (or any other service like that) using username and password from transport registration.
* have IRC contacts in their rosters. (Not done yet, but it's planned)
* see channel list in the service discovery. (Not done yet, but it's planned)

To use this mode, you have to configure irc_server variable like this:

<pre>
[service]
irc_server=irc.freenode.org
</pre>

h3. 2.2 One transport for more IRC networks

In this mode users can connect more IRC networks, but they can't connect the network without being in the room. To connect the network, user has to join the room in following format: #room%irc.freenode.org@irc.domain.tld. The nickname used in the first join request is used as a nickname for the IRC connection.

h2. 3. All configuration variables

|_. Key |_. Type |_. Default |_. Description |
| irc_server | string | | IRC server hostname for "One transport per one IRC network" mode. |
| irc_identify | string | NickServ identify $name $password | The fiirst word is nickname of service used for identifying. After the nickname there's a message sent to that service. $name is replaced by the username defined by user in the registration. $password is replaced by password. |