Manual Reference Pages - DJABBERD::SASL (3)
DJabberd::SASL - Base plugin for SASL Negotiation
This base plugin just provides the skeleton necessary for building SASL layers
within DJabberd. It provides one hook (GetSASLManager) to initiate the SASL
negotiation and return a SASL Manager object; and it hooks the SASL stanzas
to the default DJabberd::Stanza::SASL class.
See DJabberd::SASL::AuthenSASL for a concrete plugin based on
HOW DOES THE DEFAULT SASL INFRASTRUCTURE WORK
When a DJabberd::SASL subclass is declared inside of a <B>VHostB>, it enables
SASL negotiation for the connection.
What does that mean is that SASL will be advertised in the stream features.
Then, when the client sends a SASL stanza (see RFC 3920), they are handled
using DJabberd::Stanza::SASL class, which makes a few assumption:
From there, the SASL negotiation is in the hands of the configured SASL Manager.
The plugin supports the GetSASLManager hook that returns a
The interface to this manager and to the sasl connection
object (see later) is a superset of Authen::SASL interface.
One configuration option is common to all plugins: This is Optional which
advertises to the client if SASL is optional or not. By default SASL is (and
should be) required.
EXTENDING SASL IN DJABBERD
Its fairly easy to extend the SASL phase with anything you like provided the
simple DJabberd::SASL::ManagerBase and DJabberd::SASL::Connection which
are based on Authen::SASL are repected.
Alternatively since this is just a plugin, you can also throw it away
altogether and write something from scratch. Youll have to provide a new set
of handlers for the SASL stanzas though (in replacement of
(c) 2009 Yann Kerherve
This module is part of the DJabberd distribution and is covered by the
distributions overall licence.
|perl v5.20.3 ||DJABBERD::SASL (3) ||2011-06-13 |
Visit the GSP FreeBSD Man Page Interface.
Output converted with manServer 1.07.