xmppclient_listener: Add filters for incoming bytes and stanzas

sessionmanager: Initialize new sessions for filtering, and add filters for outgoing bytes and stanzas

util.filters: Ensure initialize() never initializes an object twice - and return the filter function to the caller

xmppserver_listener: Port to util.xmppstream \o/

util.filters: Break processing if a filterer returns nil

util.filters: Don't traceback with no filters of a type added

net.multiplex_listener: Test to make sure listener.onconnect isn't nil.

net.multiplex_listener: Call listener.onconnect(conn) when swapping listeners.

xmppclient_listener: Port to onconnect handler

util.filters: Don't traceback when trying to remove a filter from an uninitialized object

util.filters: Expose the initialization function

util.filters: New utility library for managing filters on an object

mod_pep: Corrected and optimized handling of non-available presence stanzas.

mod_iq: Removed a check for user existance when firing iq/bare/* sub-events.

mod_pep: Use is_contact_subscribed (which uses the new rostermanager fix to avoid unnecessary roster loads)

rostermanager: Optimisation to avoid unnecessarily loading rosters for offline contacts on probes, etc.

Merge compression fix

mod_compression: Update for new session.data() syntax, fixes invalid XML errors after compression negotiation (thanks hg bisect)

Merge 0.7->trunk

mod_groups: Check for existence of roster[false] before clearing version (thanks Flo)

Merge 0.7->trunk

util.sasl.scram: Fix remaining - in profile name

util.sasl.*: Adjusting authentication provider names. All '-' replaced with '_'

Merge trunk/Tobias->trunk

util.sasl.*: Adjusting authentication provider names. All '-' replaced with '_'

Merge 0.7->trunk

util.sasl.scram: Fixing logic error in argument checking.

util.sasl.scram: Fixing logic error in argument checking.

Merge 0.7->trunk

Merge 0.7/waqas->0.7/MattJ

mod_private: Detect datamanager read errors, and respond with 'internal-server-error'.

usermanager: Take datamanager errors into account when determining account existance.

mod_presence: Don't send 'unsubscribed' in response to probes when roster loading fails.

rostermanager: Return an error string when subscription test fails due to an error.

rostermanager: Mark rosters which fail to load as broken, and never save them.

mod_presence: Removed a useless check when handling incoming presence probes and subscriptions.

util.datamanager: Return an error string when failing to save.

util.sasl.scram: Adjusting authentication backend name to conform with the style already used by the plain module.

util.sasl.scram: Fixing issue #177.

util.sasl.plain: Typo.

util.sasl.scram: Providing an API function to generate a salted password for the SCRAM-SHA-1 mechanism.

util.sasl.scram: Split up long line.

util.sasl.scram: Parsing client-final-message in a more strict way. (thanks Marc Santamaria)

util.sasl.scram: Fix in nonce check of client-final-message.

util.sasl.scram: Parsing client-first-message in a more strict way. (thanks Marc Santamaria)

util.sasl.scram: Check nonce in client final message. Check channel binding flag in client first message. Adding some TODOs on more strict parsing. (thanks Marc Santamaria)

util.sasl.scram: Fixed global access.

util.sasl.scram: Adding documentation on SCRAM authentication backend.

util.sasl: Abstracting out the hash function used since SCRAM is independent of it. Adding scram-{mech} authentication backend support.

util.sasl.plain: Removing plain_hashed authentication provider. Just do hashing and comparison yourself in a plain_test authentication provider.

util.sasl: 2009 -> 2010 in copyright header.

util.sasl.plain: Adding plain_hashed authentication backend support.

util.sasl: Moving SASL authentication backends documentation to the mechanism files.

rostermanager: Correctly clear the bare_sessions table on roster load errors during bind.

rostermanager: Don't fire roster-load event if there was an error loading the roster

sessionmanager: Change error for reaching resource limit from 'conflict' to 'resource-constraint' during session bind.

sessionmanager: If roster loading fails during resource bind, kick the user with an internal-server-error.

rostermanager: When loading the roster, also return a datamanager error if available.

util.datamanager: When failing to load a file, and the file exists, return nil, error.

mod_privacy: Improved logging.

(0) -3000 -1000 -300 -100 -60 +60 +100 +300 tip

mercurial