Connect using the xmpp jabber protocol
This is a Protocol implementation for the specifics in the \s-1XMPP\s0 protocol during connection initialization.
\s-1PCJ::XMPP\s0 provides all the mechanisms to negotiate \s-1TLS\s0, \s-1SASL\s0, resource binding, and session negotiation that \s-1PCJ\s0 needs to successfully establish an \s-1XMPP\s0 connection. In essence, it implements \s-1XMPP\s0 Core and a smidgeon of \s-1XMPP\s0 \s-1IM\s0.
Please see PCJ::Protocol for what methods this class supports.
Listed are the exported events that make their way into the \s-1PCJ\s0 session:
This handles the initial \s-1SASL\s0 authentication portion of the \s-1XMPP\s0 connection.
This is our entry point. This is what \s-1PCJ\s0 uses to deliver events to us.
If \s-1TLS\s0 is required by the server, this is where that negotiation process happens.
This handles the subsequent \s-1SASL\s0 authentication steps.
This handles the resource binding
This handles session binding.
Currently, only \s-1DIGEST-MD5\s0 and \s-1PLAIN\s0 \s-1SASL\s0 mechanisms are supported. Server implementations are free to include more strigent mechanisms, but these are the bare minimum required. (And \s-1PLAIN\s0 isn't /really/ allowed by the spec, but it is included because it was a requested feature)
The underlying backend has changed this release to now use a new Node implementation based on XML::LibXML::Element. Please see POE::Filter::XML::Node documentation for the relevant \s-1API\s0 changes.
Copyright (c) 2003-2009 Nicholas Perez. Distributed under the \s-1GPL\s0.