Security Advisories (1)
CVE-2010-3438 (2019-11-12)

libpoe-component-irc-perl before v6.32 does not remove carriage returns and line feeds. This can be used to execute arbitrary IRC commands by passing an argument such as \"some text\\rQUIT\" to the 'privmsg' handler, which would cause the client to disconnect from the server.

NAME

POE::Component::IRC::Plugin::CycleEmpty - A PoCo-IRC plugin which cycles (parts and rejoins) channels if they become empty and opless, in order to gain ops.

SYNOPSIS

use POE::Component::IRC::Plugin::CycleEmpty;

$irc->plugin_add( 'CycleEmpty', POE::Component::IRC::Plugin::CycleEmpty->new();

DESCRIPTION

POE::Component::IRC::Plugin::CycleEmpty is a POE::Component::IRC plugin. When someone quits, gets kicked, or parts a channel, the plugin will cycle the channel if the IRC component is alone on that channel and is not a channel operator. If there was a topic or a key set on the channel, they will be restored upon rejoining. This can be useful on small channels if the IRC network does not have ChanServ or IRCNet's +R channel mode.

This plugin requires the IRC component to be POE::Component::IRC::State or a subclass thereof.

METHODS

new

Returns a plugin object suitable for feeding to POE::Component::IRC's plugin_add() method.

cycling

One argument:

A channel name

Returns 1 if the plugin is currently cycling that channel, 0 otherwise. Useful if need to ignore the fact that the Component just parted the channel in question.

AUTHOR

Hinrik Örn Sigurðsson, hinrik.sig@gmail.com