Fri, 20 Nov 2009 04:39:54 +0000
s2smanager: Queue db:verify unless we already sent a db:result (if we had then it can could a dialback deadlock). Also remove some redundant code which could cause a db:result to be sent while still negotiating features (e.g. TLS) and break things. Collectively these fix a 'random' s2s failure (usually with ejabberd for some reason) - resulting in an 'unbound prefix' XML error, or 'ssl handshake failure'. Was this commit message long enough? I think so.
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