File

doc/lxmppd_core_stanz_dispatch.txt @ 1585:edc066730d11

Switch to using a more generic credentials_callback/handler for SASL auth. Not all authentication mechanisms have the same requirements; it makes sense to provide them only with the information they require (and for them to depend on that) so that as many auth mechanisms as possible can be supported with a variety of credentials-storing schemes. This commit patches that together
author nick@lupine.me.uk
date Fri, 24 Jul 2009 01:34:25 +0100
parent 75:338e75cba18d
line wrap: on
line source

lxmppd -> core -> stanza_dispatch
	requires	"util.stanza"
	requires	"core.usermanager"
	
function init_stanza_dispatcher(session)
	Initialises the stanza dispatcher which handles different stanza according
	to their type and XML namespace, dispatching to required handlers.
	
	iq_handlers["jabber:iq:auth"]
		A list of handlers for "jabber:iq:auth" stanzas -- authentication
		(request) stanzas.
		
		function (stanza)
			If one of username, password and resource are missing then it ????.
			If not, then it validates the credentials and replies with the
			appropriate stanza.
			
	iq_handlers["jabber:iq:roster"]
		A list of handlers for "jabber:iq:roster" stanzas -- roster management
		
		function (stanza)
			Parses the type of stanza for roster management and does what is
			requested (roster retrieval, etc.)
	
	function (stanza)
		Validates the stanza and calls the required handler