mod_saslauth: Improved logging a bit.

mod_saslauth: Updated to use the new events API.

mod_private: Updated to use the new events API. Smaller, more robust.

Merge hoelzro->trunk

Alter mod_offline to respect negative priority resources

Merge hoelzro->trunk

Don't send offline messages to resource with negative priorities

MUC: Use util.dataforms to generate forms

MUC: fix timezone support when sending history

configmanager: Allow VirtualHost/Component definitions to be followed by a table of config options

core.loggingmanager: Logging config simplification - allow [level] = filename and *sink to appear in the config table

net.dns: Support for parsing PTR records

net.dns: Add 'force' parameter to resolver:feed() to force decoding a packet even if it doesn't match an outstanding request

mod_adhoc: Answer disco#info for node=xmlns_cmd

MUC: Make the room node be the default room name (thanks Zash).

Merge with trunk.

MUC: Added a 'Description' property (muc#roomconfig_roomdesc)

MUC: Added a 'Name' property (muc#roomconfig_roomname)

MUC: Fixed traceback on presence errors lacking a condition.

net.xmppcomponent_listener: Fixed a possible traceback in component disconnect handling.

net.xmppcomponent_listener: Specify missing log level for a log statement.

net.xmppcomponent_listener, mod_component: Removed useless undocumented option 'component_address'.

util.stanza: Make the current element <message> instead of <body> when body text is passed to st.message().

util.events: Event handler indices are now built lazily (faster server startup for large number of hosts).

util.events: Create new index on handler change instead of modifying existing one (this makes util.events fully reentrant).

util.events: Fixed the exposed API for adding/removing sets of event handlers.

util.events: Removed dispatcher creation functions (these weren't being used).

net.httpserver: Removed old HTTP parser, and updated to use util.httpstream.

util.httpstream: Refactored and simplified code to improve readability.

util.httpstream: Removed unused variables.

util.httpstream: Initial commit of the new HTTP parser.

prosody.cfg.lua.dist: Small wording fix in comment (thanks darkrain)

mod_bosh: Fix traceback when initiating a BOSH session to an unknown host

net.server_select: Add server.step() to run through a single iteration of the event loop

prosody.cfg.lua.dist: Add mod_adhoc and mod_admin_adhoc to the default config

s2smanager: Don't fire s2sin-destroyed for sessions that were never fully established (thanks Thomas)

s2smanager: Fire s2s{in,out}-destroyed when s2s connections are destroyed

mod_admin_adhoc: New module with merged functonality of mod_adhoc_cmd_admin and mod_adhoc_cmd_modules (of prosody-modules fame)

mod_ping: Add ad-hoc command

mod_adhoc: remove 0.7 compat code

mod_adhoc: Fix passing data to util.dataforms

mod_version: Use pposix.uname() if available and os_version_command not set

util.pposix: uname(): Fix to push nil,err in case of error

util.pposix: Add pposix.uname(), bump version

util.jid: Fix parsing of JIDs with no nodepart and an @ in the resourcepart (thanks seth)

tests/test_util_jid.lua: Add more tests for JID splitting

util.stanza: stanza:matched_children() -> stanza:matching_tags()

util.stanza: Add stanza:maptags() to apply a function over child tags (return nil to remove tag from stanza)

s2smanager: Fire s2s{in,out}-established when new s2s connections are ready

util.stanza: Optimisation, remove useless if...then in stanza:children() iterator

util.stanza: Add stanza:matched_children(name, xmlns) [name suggestions welcome]

net.httpserver: Join multiple headers with the same name as per RFC (thanks darkhippo)

mod_bosh: Support for reading the client's real IP through HTTP proxies from X-Forwarded-For

util.pposix, prosodyctl, mod_posix: Add initgroups() function, and bump module version. prosodyctl inits groups with the groups of prosody_user. (thanks dbb)

net.http: Add http.formencode() for www-form-urlencoded from an array of fields (thanks dersd)

componentmanager: Relocate disallow_s2s to its correct position (thanks darkhoptipomatus)

mod_saslauth, mod_auth_cyrus, util.sasl_cyrus: Moved cyrus account provisioning check out of mod_saslauth.

util.sasl_cyrus: Spaces -> tabs.

usermanager: Get rid unused Cyrus SASL related code.

mod_auth_internal_plain: Get rid of all checks for Cyrus SASL.

mod_saslauth: Get rid of the sasl_backend option (use auth modules instead).

mod_saslauth: Get rid of most Cyrus SASL related code (use authentication='cyrus' instead).

componentmanager: Support the 'disallow_s2s' option for components too (thanks darkhopatomopus)

net.server: Don't load configmanager if not running inside Prosody, assume server_select

mod_bosh: Don't adjust rid when creating a session, as this is no longer necessary and causes a log message ('rid too large') to be erroneously printed, fixes #203

sessionmanager, s2smanager: Give resting sessions a pass-through filter, fixes #202

net.server_select, net.server_event: Remove set_mode() call from server.link()... it can cause the last chunk of data to be discarded if shorter than buffersize (thanks to Zash for the debugging)

mod_adhoc: Answer disco#info (This is a MUST in XEP-0050)

mod_adhoc: Code restructuring

util.logger: Remove support for the 'log_sources' option, to remove a dependency on configmanager. I think the equivalent of log_sources can be done with the advanced logging config.

mod_auth_internal_hashed: Fix deleting users

mod_privacy: Fix typo causing <active/> to never be send

mod_console: Add host:* commands to help (thanks Zash)

tests/test_util_jid.lua: Better formatting, comments, and stop giving 5 arguments to a 4-argument function (thanks Asterix :) )

mod_bosh: Fix to properly ignore repeated requests

mod_bosh: Small change to use variable instead of hard-coded xmlns

mod_bosh: Much improve session:close() for BOSH sessions, so it now matches in usage normal session:close()

mod_bosh: Add error callback for xmlhandlers, to handle the case of invalid or unusable XML in the request payload

MUC: Fixed: Unavilable presence was not being broadcasted for banned users in some cases (thanks Zash).

MUC: Return correct error to non-members attempting to enter a members-only room.

util.xmppstream: Removed some useless property assignments.

util.sasl_cyrus: Make multi-step SASL mechanisms work correctly.

util.sasl: Simplified some code a bit.

util.sasl, util.sasl_cyrus: Removed a ton of unused variables.

eventmanager: REMOVE!!!

mod_bosh: Remove dependency on eventmanager

loggingmanager: Remove (redundant!) dependency on eventmanager

sessionmanager: Remove dependency on eventmanager

s2smanager: Remove dependency on eventmanager

componentmanager: Remove dependency on eventmanager

hostmanager: Remove dependency on eventmanager

modulemanager: Remove dependency on eventmanager

s2smanager: brackets, just to be sure :)

s2smanager: Only bounce real stanzas on s2s failure, not dialback and friends (thanks elghinn)

util.datetime: Added implementation for function parse().

storage/mod_ejabberd: Reorganized some code.

util.sasl_cyrus: Cleanup.

util.sasl: Removed method:forbidden() and its side effects.

util.sasl_cyrus: Removed method:forbidden().

mod_auth_*: Fixed copyright headers.

util.xmppstream: Add set_session() method to change the session that a stream is associated with

net.xmppclient_listener: Add associate_session(conn, session) to change the session a connection is associated with

net.server_event: Remove some debug messages

mod_version: Leave out the os element if hide_os_type is set

mod_version: Make the command used to get OS version configurable

usermanager: Fix two nil global accesses

mod_saslauth: Fixed a nil global access.

mod_saslauth: Check for unencrypted PLAIN auth in mod_saslauth instead of the SASL handler (makes it work for Cyrus SASL).

mod_saslauth: Move mandatory encryption enforcement to before sasl_handler:select().

storage/mod_ejabberd (and associated library): Initial commit.

storage/mod_xep0227: Initial commit.

prosody: Enable storage manager.

prosody.cfg.lua.dist: Fixed trailing whitespace.

util.pluginloader: Remove useless datamanager dependency.

util.pluginloader: Fix loading of plugins, plugin libraries and resources in subfolders (e.g., when loading 'a/b', load 'a/mod_b.lua', and not 'mod_a/b.lua').

util.roster: Remove, not going this route now

mod_message: Discard headline messages sent to offline full JIDs (to follow latest spec updates).

mod_console: Override dofile() in the console environment (this lets print() print to the console session for example).

tests: Added tests for util.sasl.scram.Hi().

util.sasl.scram: Made function Hi public.

mod_console: Added support for multiple arguments to print().

storagemanager: Fixed a nil access.

prosody.resolve_relative_path: Updated to take a parent path to resolve against.

storagemanager: Initial commit.

Merge 0.7->trunk

certmanager: Don't disable LuaSec and future cert loading on failure, and add error messages to the no LuaSec/config cases (thanks Jakob)

net.server_select: Remove 'now' parameter from starttls(), and base it on whether the sendbuffer is empty instead

mod_tls: Remove extraneous flag to starttls() for s2sout connecections

net.server_event: Fix to not call onconnect a second time after the SSL handshake for starttls connections (thanks Flo)

usermanager, mod_auth_internal_hashed, mod_legacyauth: New order of parameters for usermanager.test_password - username, host, password

mod_register: Drop useless depencency on datamanager.

MUC: Store the nick (full room JID) which set the subject, and send subject to occupants from that JID.

util.iterators: Add skip() to skip the first n items of an iterator

mod_saslauth: Got rid of undocumented and useless 'sasl_realm' config option (was only used for anonymous auth, and that didn't make sense).

Merge with trunk.

mod_auth_internal_hashed: Fixed SCRAM-SHA-1 mechanism to not traceback on non-existent users.

MUC: No need to call is_admin twice now, global admins are admins on hosts

net.server_event: Remove debug logging from dummy onstatus handler

mod_saslauth: Cleaned up unused requires.

mod_saslauth: A little cleanup for anonymous_login.

configmanager: Remove dependency on eventmanager, and global 'prosody' object

s2smanager: Handle disallow_s2s for incoming streams as well as outgoing

net.server_select: Ensure that onconnect is called for server sockets as well as clients, rather than onincoming. Fixes mod_console traceback, issue #197

Merge Florob->trunk

util.dataforms: Add list-multi support

util.dataforms: Capability to set default for list-single

Merge Zash->trunk

mod_proxy65: Use util.jid.compare() and remove some clutter

Merge Zash->trunk

util.jid: compare() added, with some tests.

util.sasl.scram: Reference actual RFC instead of the draft.

util.sasl, util.sasl_cyrus: s/self.mechanisms()/self:mechanisms()/ in method:select().

Merge with backout

Backed out changeset 598c33a99a31 (already fixed a better way)

certmanager: Fix to handle the case of no SSL configuration at all

certmanager: Added copyright header.

certmanager: Defined default_capath to prevent a global nil access.

certmanager: Use an empty table as the default ssl config when a global 'ssl' config option isn't specified (fixes a top-level traceback on startup).

util.sasl, util.sasl_cyrus: Use method:mechanisms() in method:select(), instead of using the mechanisms list directly (fixes a traceback).

util.sasl, util.sasl_cyrus: Updated method:mechanisms() to cache and re-use list of mechanisms.

util.sasl: Use the proper session-specific table of mechanisms when selecting a mechanism, and not the global table.

SASL: Simplified sasl_handler:mechanisms() to return a set, and not an array.

usermanager: Return a non-nil SASL handler from the null auth provider (fixes a traceback).

MUC: Fixed a traceback introduced in hg:bdc325ce9fbc.

net.dns: Call :cancel() on the current resolver instead of the prototype

util.roster: Initial skeleton commit

loggingmanager: Add reload_logging() method, which gets called on any config reload, to reset util.logger and remove and re-add all sink types to perform a full reload of the logging system without a restart.

util.logger: Add reset() method to clear all sinks

certmanager: Remove debug logging accidentally committed

certmanager: Adjust paths of SSL key/certs to be relative to the config file, fixes #147

prosody: Add prosody.resolve_relative_path() helper to change relative paths to be relative to the config file

mod_httpserver: Serve index.html if a request is made for a directory and it contains one (thanks Brian Cully)

configure: Make it possible to override ostype presets with values specified later on the command-line

configure: Fix ostype=freebsd for ./configure (thanks dersd for reporting and n0nsense for testing the fix!)

mod_saslauth: Rename variable 'aret' to 'ok' as per convention

mod_disco: Reflect requested 'node' attribute in the disco#info reply.

mod_disco: Respond to disco#info to the correct caps hash node ("node#ver").

mod_disco: Cache disco#info reply and caps hash for host, return correct caps hash, and respond to disco#info to the caps hash node.

mod_adhoc: Add capability to pass data to forms

xmpp{client,server}_listener: Convert some calls to tail calls for efficiency

mod_pep: Use util.caps

mod_disco: Support for putting the server's caps hash in stream:features to allow the client to cache disco#info for the server instead of requesting it at each login.

util.caps: Entity capabilities hash generation (moved from mod_pep)

mod_posix: Some (perhaps temporary) changes to re-lock the pidfile after truncating, to avoid breaking prosodyctl

mod_posix: Truncate the pidfile before writing to ensure that we never overwrite with a PID shorter than the previous, and end with an invalid PID in the file.

prosodyctl: Warn and exit if any log files are not writeable, fixes #94

prosodyctl: Force log output always to the console instead of using the config, which avoids creating log files as the wrong user

prosodyctl: Remove warnings when using a non-standard auth provider, prosodyctl now works with any auth provider

mod_auth_internal, usermanager: Rename to mod_auth_internal_plain, and update usermanager to still use it as the default

mod_auth_internal, mod_auth_internal_hashed: Remove checking for nil or empty password and pretending it means the user doesn't exist. Hopefully with more success than Custer.

util-src/Makefile: Stop linking dynamic libraries to Lua, it isn't necessary as symbols are exported from the Lua binary (thanks deryni)

xmppserver_listener: Fix variable names I forgot to change in the last commit

xmpp{client,server}_listener: Put stanzas/in filtering code in the correct place to make it actually work :)

util.filters: Add newline at end of file

MUC: Make number of stored history messages configurable with option max_history_messages (thanks michal and others who requested)

s2smanager: Lower default DNS timeout to 15s (it's now a per-DNS-server timeout, rather than total timeout), use net.dns's new timeout system, and remove our custom timeout handlers

net.dns: Add dns.settimeout() to set the timeout for the default resolver

net.dns: Make timeout configurable (default 15s)

net.dns, net.adns: Update resolver:cancel() API so that a table doesn't need to be created for each cancellation internal to net.dns

net.dns, net.adns: Move coroutine-calling logic into resolver:cancel()

net.dns: Handle our own timeouts, including falling onto other servers in resolv.conf if necessary

mod_roster: Use value returned by pairs() during roster iteration to avoid dozens of wasteful table lookups

mod_bosh: Add jabber:client namespace to stanzas with no namespace

xmppcomponent_listener: Add log messages for when stanzas from components have invalid or missing to/from addresses

xmppcomponent_listener: Import jid_split to fix undefined global reference

mod_component: Read validate_from_addresses option from the config

Merge 0.7->trunk

mod_privacy: Add service discovery feature.

xmppcomponent_listener: Don't validate to/from on non-stanzas, fixes component auth.

xmppcomponent_listener: Validate to/from on components, fixes #104 and #162

Merge 0.7->trunk

mod_privacy: Return the correct item-not-found instead of bad-request when a non-existent list is activated by the client (thanks teo)

Merge 0.7->trunk

net.server_select: Clean up buffer and fire drained callback on successful write before we try and start TLS negotiation (if negotiation fails instantly then we can be left without a handler to use for cleanup) (thanks dersd)

net.server_select: Fix a snippet of code that was living at the wrong indentation level

s2smanager: Don't attempt to connect to a nil host (for whatever reason... invalid DNS record perhaps?) (thanks dersd)

s2smanager: Register outgoing connection with the connection listener only after initializing filters (thanks darkrain, dersd)

util.prosodyctl: Fixed host variables in user_exists.

configure: Add ostype preset for FreeBSD (thanks dersd and tobias (no, the other one))

Merge 0.7->trunk

Merge backout

Backed out changeset 454e1cf18daf (this isn't for debugging, it's to inform the user)

mod_register: Remove the offline store as a list (originally aa3725bbcde5 but missed in a merge)

Merge 0.7->trunk

mod_privacy: Treat stanzas with no 'to' address as going to the user's bare JID (thanks KSid)

util.sasl_cyrus: Return error strings using the new table mapping error codes to strings.

util.sasl_cyrus: Added a table mapping error codes to strings.

mod_register: Delete the offline store as a list, and delete the privacy store.

mod_register: Don't disable account before deleting it (unnecessary, and can cause problems).

mod_compression: Lowered a log level.

util.prosodyctl: Initialize the host's auth provider if necessary (thanks johnny, and all the other people whom this hindered :) )

usermanager: Expose host_handler() as initialize_host()

mod_auth_anonymous, mod_auth_cyrus: Removed unused variables.

mod_auth_anonymous, mod_auth_cyrus: Removed is_admin(), as usermanager already has a default.

mod_pep: Fixed a possible traceback during disco#items queries on a user's bare JID by remote users.

mod_auth_internal_hashed: Update TODO comments to COMPAT

mod_auth_internal_hashed: Remove far too many instances of inline hex conversion using gsub, which was creating useless closures and what-not

mod_auth_internal, mod_auth_internal_hashed: Remove is_admin method from providers

mod_adhoc: Update for new is_admin usage

usermanager: is_admin: Resume the old role of determining precisely whether a user is an admin for a given host (or a global admin) - auth providers checked for JIDs not listed in the config if they support it

util.signal: Moved a variable declaration to the top of a function, for ANSI C compliance.

util.signal: Removed #include <sys/param.h>, as it appears unnecessary.

util.signal: Make kill() available on OS X (thanks darkrain).

MUC: A little modification to improve code analysis.

MUC: Updated room:set_role() to use room:can_set_role().

MUC: Added room:can_set_role().

mod_announce: A little cleanup.

mod_storage: Make DBI a soft dependency, not a hard one.

mod_announce: Removed unused variables.

mod_announce: Changed a global variable to local.

util.signal: Make kill() available on OpenBSD, NetBSD (thanks Florob, filip).

prosody.cfg.lua.dist: Removed commented "defaultauth" from the modules_disabled list.

mod_auth_internal: Log as "auth_internal", not as "usermanager".

mod_auth_cyrus: Log as "auth_cyrus", not as "usermanager".

mod_auth_anonymous: Log as "auth_anonymous", not as "usermanager".

mod_auth_internal_hashed: Log as "auth_internal_hashed", not as "usermanager".

mod_auth_internal_hashed: Don't assume user doesn't exist if no recognizable authentication data is found.

mod_auth_internal_hashed: Removed all checks for Cyrus SASL.

commit d2fb8a5ff43fcf3e94e5e518aba175503590ecda

s2smanager: Fix logging for outgoing sessions to also log pre-filtered data

MUC: Added disco#info features to advertise room's anonymity status (muc_semianonymous or muc_nonanonymous).

MUC: Added disco#info features to advertise room's public status (muc_public or muc_hidden).

MUC: Updated code to use :set_hidden() and :is_hidden().

MUC: Added room:set_hidden(boolean) and room:is_hidden().

MUC: Added disco#info features to advertise room's persistence status (muc_persistent or muc_temporary).

MUC: Replaced direct access of room's internal persistence state with :set_persistent(boolean) and :is_persistent() in various functions.

MUC: Added room:set_persistent(boolean) and room:is_persistent().

MUC: Added disco#info features to advertise room's members-only status (muc_membersonly or muc_open).

MUC: Added a 'Make Room Members-Only?' field to the room config dialog.

MUC: Updated room:get_default_role() to not assign unaffiliated occupants a role in members-only rooms.

MUC: Added room:set_members_only(boolean) and room:is_members_only().

MUC: Added disco#info features to advertise room's moderation status (muc_moderated or muc_unmoderated).

MUC: Added a 'Make Room Moderated?' field to the room config dialog.

MUC: Updated room:get_default_role() to assign unaffiliated occupants a "visitor" role in moderated rooms.

MUC: Added room:set_moderated(boolean) and room:is_moderated().

MUC: Persist data in room:set_password() when called programmatically.

MUC: Added a password field to the room config dialog.

MUC: Include a <password/> element in invites from password protected rooms.

MUC: Added disco#info features to advertise room's password protection (muc_passwordprotected or muc_unsecured, depending on whether a password is set).

MUC: Added password checking on room join.

MUC: Added room:get_password() and room:set_password().

mod_auth_internal_hashed: Fixed a traceback in account creation.

Merge 0.7->trunk

Tagging 0.7.0 (again)

Merge 0.7->trunk

sessionmanager: Fixed a traceback on invalid usernames (typo in previous commit). 0.7.0

mod_saslauth: Return proper error on invalid usernames.

net.server_event: attemp to fix more spelling fail.

sessionmanager: Moved nodeprep to sessionmanager.make_authenticated.

mod_presence: Fixed a traceback on outgoing subscriptions from offline users.

Merge 0.7->trunk

prosodyctl, util.pluginloader: Remove support for storing plugins in the data store, and the addplugin command

mod_uptime: Add ad-hoc command

mod_adhoc: Scan through list of items on load, in case items have been added before we were loaded

mod_adhoc/adhoc.lib: Add copyright header

mod_adhoc/adhoc.lib: Handle errors according to XEP

mod_announce: Add ad-hoc command for sending announcements \o/

Merge 0.7->trunk

mod_compression: Move logging of compression/decompression errors to before the closing of the stream, to make logs a bit easier to follow

Tagging 0.7.0

s2smanager: Move 'sending' debug log message so that it sees the pre-filtered stanzas

mod_compression: Remove the unneccessary stream:reset() overloading, which was causing double decompression and c2s/s2s failures

mod_legacyauth: Fixed the ordering of parameters passed to usermanager.test_password.

mod_privacy: Workaround for a traceback.

mod_adhoc: Imported from prosody-modules, thanks Florob!

mod_auth_internal{,_hashed}: Update is_admin to only report the admin status of the current host (ignores global admin rights), fixes global access traceback

usermanager: Handle checking for global admins on behalf of providers

mod_legacyauth: Use the new usermanager.test_password instead of usermanager.validate_credentials.

mod_auth_internal_hashed: Removed some useless code.

mod_presence: Fixed a traceback.

Merge with Tobias.

mod_auth_internal_hashed: Empty hashpass after conversion to stored_key/server_key and store new authentication database.

mod_auth_internal_hashed: Remove debugging output.

mod_auth_internal_hashed: Convert hashpass to server_key/stored_key on SCRAM-SHA-1 login.

mod_auth_internal_hashed: Convert hashpass to server_key/stored_key on PLAIN login.

Merge with tip.

mod_auth_internal_hashed: Coverting salted password to stored_key and server_key.

mod_auth_internal_hashed: Store stored_key and server_key when setting a password.

util.sasl.scram: Authenticate clients by calculated StoredKey instead of ClientProof.

mod_auth_internal_hashed: Store StoredKey and ServerKey instead of salted hashed password.

Fix missing parameter in mod_auth_internal_hashed.

Merge trunk/MattJ->trunk

mod_presence: Enable firing of pre-events for all outbound stanzas, and switching completely to core_post_stanza.

Merge 0.7->trunk

tools/xep227toprosody.lua: Set executable bit

mod_compression: Removed some useless logging code.

mod_announce: Fixed an edge case where non-admins attempting to announce would get two error replies.

Merge trunk/MattJ->trunk

mod_auth_cyrus: Auth provider with support for Cyrus SASL.

mod_auth_anonymous: Fixed a syntax error.

mod_auth_anonymous: Auth provider with support for SASL ANONYMOUS.

mod_auth_internal_hashed: Added SCRAM-SHA-1 support for SASL.

mod_saslauth: Updated to use usermanager.get_sasl_handler.

mod_auth_internal, mod_auth_internal_hashed: Fixed a global access.

mod_auth_internal, mod_auth_internal_hashed: Updated to provide get_sasl_handler.

usermanager: Changed get_supported_methods to get_sasl_handler.

Merge 0.7->trunk

util.sasl_cyrus: Log the textual representation of unknown Cyrus SASL errors, not just the error code.

util.sasl.scram: Fixed a log level.

mod_presence: Send unavailable presence in response to probes to the sender's full JID, not bare JID.

Merge with trunk.

mod_presence: Enable firing of pre-events for probes.

mod_presence: Don't stop pre-event for outgoing probes.

mod_presence: Small refactoring.

Rename mod_defaultauth -> mod_auth_internal, mod_hashpassauth -> mod_auth_internal_hashed, and the providers to internal and internal_hashed respectively. Also no longer auto-load defaultauth, but instead auto-load the plugin selected for each host at startup based on the provider name.

Merge trunk/MattJ with trunk

util.sasl_cyrus: Log the textual representation of unknown Cyrus SASL errors, not just the error code.

mod_presence: Send unavailable presence in response to probes to the sender's full JID, not bare JID.

SASL: Minor cleanup.

util.sasl.scram: Fixed a log level.

mod_presence: Removed unnecessary parameter 'core_route_stanza' from various functions.

mod_saslauth: Fix log level

usermanager: Rename the fallback provider from 'dummyauth' to 'null'

usermanager: Add hunk that got missed in a merge

util.sasl_cyrus: Log the textual representation of unknown Cyrus SASL errors, not just the error code.

mod_presence: Send unavailable presence in response to probes to the sender's full JID, not bare JID.

SASL: Minor cleanup.

util.sasl.scram: Fixed a log level.

mod_presence: Removed unnecessary parameter 'core_route_stanza' from various functions.

Add jid support for motd

Add motd plugin, giving text to a user on each login.

Add the ability to have names in group files, by putting them with an = sign after the jid:

Correct out of order logic in mod_hashpassauth

Add mechanism for upgrading to hashed passwords from default. Remove some extra debug.

Have defaultauth load by default

Check in mod_hashpassauth -- works!

Working defaultauth

Added mod_auth_default

Update usermanager to not crash, etc.

First bit of work

Merge backout

Backed out changeset 8bd3857a75ee

Merge 0.7->trunk

s2smanager: Remove potentially misleading log message (thanks albert)

Merge 0.7->trunk

net.server_event: Also return the socket from wrapclient, to maintain compatibility with server_select (thanks uhoreg)

mod_compression: Use filters! \o/

xmppserver_listener: Add filters for incoming bytes and stanzas

s2smanager: Add filters for outgoing bytes and stanzas

sessionmanager: Rename filters_initialize->initialize_filters

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.

mod_presence: Added option 'ignore_presence_priority'.

Merge with backout

Backed out changeset c75c22c316d6 (the XMPP spec now gives a better way to do this)

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.plain: Removing plain_hashed authentication provider. Just do hashing and comparison yourself in a plain_test authentication provider.

Merge 0.7->trunk

mod_bosh: Re-layout session object creation to make lines shorter

mod_bosh: Add option consider_bosh_secure to treat BOSH sessions as encrypted even if they don't use HTTP (useful for when secure requests are proxied to Prosody over HTTP)

mod_privacy: Fix several possible tracebacks when either the contact is a host JID, or the contact isn't in your roster and you have roster group/subscription rules in place

mod_privacy: Remove validation that checks a roster group you block actually exists - it would be time-consuming on large rosters, and isn't important (or correct?) anyway.

Merge 0.7->trunk

mod_saslauth: Split out cyrus SASL config options into locals, and add support for cyrus_application_name (default: 'prosody')

Merge 0.7->trunk

usermanager, mod_saslauth: Make account provisioning for Cyrus SASL optional (default: not required)

util.sasl_cyrus: Support for specifying the application name (to pass to Cyrus SASL's init())

mod_saslauth: Add return value and error message to the Cyrus SASL handle_status callback

mod_saslauth: Allow the Cyrus SASL realm to be configurable

Merge 0.7->trunk

net.dns: Remove redundant locals declaration

net.dns: Fix dns.lookup from commit e54774bd73a7

net.dns: Remove redundant locals declaration

net.dns: Fix dns.lookup from commit e54774bd73a7

Merge 0.7->trunk

mod_groups: Remove potentially verbose per-contact logging (thanks Flo)

usermanager: Changed auth provider functions to methods.

Merge 0.7->trunk

Merge 0.6->0.7

configure: Fix to allow option values containing '=' (thanks Jakub)

net/dns: Fix socket.select timeout.

Merge 0.7->trunk

Merge 0.6->0.7

net/httpserver_listener: Ignore empty strings on incoming data.

Merge 0.7->trunk

(0) -3000 -1000 -480 +480 tip

mercurial