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::Test::Harness - a fully event-driven IRC server daemon module.

SYNOPSIS

use POE;
use POE::Component::IRC::Test::Harness;

my $pocosi = POE::Component::IRC::Test::Harness->spawn( Alias => 'ircd' );

POE::Session->create (
    inline_states => { _start => \&test_start,
                       _stop  => \&test_stop,
    },
    heap => { Obj  => $pocosi },
);

$poe_kernel->run();

sub test_start {
    my ($kernel, $heap) = @_[KERNEL, HEAP];

    $kernel->post ( 'ircd' => 'register' );
    $kernel->post ( 'ircd' => 'add_i_line' => { IPMask => '*', Port => 6667 } );
    $kernel->post ( 'ircd' => 'add_operator' => { UserName => 'Flibble', Password => 'letmein' } );
    $kernel->post ( 'ircd' => 'add_listener' => { Port => 6667 } );
    $kernel->post ( 'ircd' => 'set_motd' => [ 'This is an experimental server', 'Testing POE::Component::Server::IRC', 'Enjoy!' ] );
}

sub test_stop {
    print "Server stopped\n";
}

DESCRIPTION

POE::Component::IRC::Test::Harness is a POE component which implements an RFC compliant Internet Relay Chat server ( IRCd ). It will eventually end up as the foundation for the new improved[tm] POE::Component::IRC test suite.

METHODS

spawn

One mandatory argument, Alias, the kernel alias you want to call the component.

INPUT

See the SYNOPSIS for a flavour, consult the source code for a better idea.

OUTPUT

Not at this point in development.

BUGS

Probably a few.

Please use http://rt.cpan.org/ for reporting bugs with this component.

AUTHOR

Chris Williams, <chris@bingosnet.co.uk>

SEE ALSO

RFC 2810 http://www.faqs.org/rfcs/rfc2810.html RFC 2811 http://www.faqs.org/rfcs/rfc2811.html RFC 2812 http://www.faqs.org/rfcs/rfc2812.html RFC 2813 http://www.faqs.org/rfcs/rfc2813.html