(perl) A POE component that provides non-blocking ident services to your sessions
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Failed to load latest commit information.


POE::Component::Server::Ident ===============

1). Background:

POE::Component::Server::Ident is POE (Perl Object Environment) component which
provides a non-blocking Identd for other components and POE sessions.

The component will mainly of use to the authors of client components and sessions
which sometimes have a requirement to prove the authenticity of the username that
has a connection to a server daemon

For example, the IRC protocol.

2). Implementation:

The component implements a listening server that waits for connections from clients
on a configurable port ( the default is unsurprisingly 113, see Quirks for more
detail ). Sessions 'register' with the component and in return are sent 
'identd_request' events when clients make valid ident requests. Sessions are then
free to answer the clients with either 'ident_server_reply' or 'ident_server_error'
events. The component will wait 10 seconds for a reply or error, before it sends
an ERROR: HIDDEN-USER to the client.

The default behaviour of the component is to close client connections once a 
response has been sent. This can be altered so that the component will answer 
multiple queries from the client.

3). Quirks:

The default bind port for the component is 113. This is one of the 'well-known'
ports, which on UN*X like systems requires privledges to bind to. This could be
a problem. How you get around this I leave to the reader. :)

One possible solution if you are running say an IRC bot behind a Network-Addressed
router is to port forward the external 113 port to a higher port on your host and
tell the component to bind to that.


This module is provided "as is".
No Income Tax. No V.A.T.
No money back. No guarantee.