storagemanager: Much refactoring and renaming of options. Untested, needs storage plugin(s) to be brought into line.

util.datetime: Fix so that the timestamp returned is always in UTC, timezone offsets were going in the wrong direction

util.datetime: Fixes for more liberal timezone parsing - colon and minutes are both (independantly) optional (thanks Zash)

mod_pubsub, util.pubsub: Support for fetching items

util.template: Don't add stanza.last_add. 20% faster.

tests/test_util_stanza.lua: Allow stanza.last_add to be nil.

util.stanza, util.xmppstream, core.xmlhandlers: Allow stanza.last_add to be nil, and set it nil by default. Saves a table allocation per-element. 20% faster stanza building.

util.template: Rewritten to be much faster than the util.stanza stanza building API.

.hgignore: Ignore *.diff.

.hgignore: Ignore Windows compilation artifacts.

net.xmpp{client,server,component}_listener: s/xml-not-well-formed/not-well-formed/ as per latest bis drafts.

util.xmppstream: Preserve the stream content namespace on descendents of elements which are in another namespace.

MUC: Include the user's current presence contents when broadcasting a role change.

MUC: Include the user's current presence contents when broadcasting an affiliation change.

prosodyctl: Give hosts type = 'local'

MUC: Change room name and description properly

MUC: Fixed: Variable referencing the host session wasn't initialized.

prosodyctl, util.prosodyctl: Show error when mod_posix is not enabled and an attempt is made to query Prosody's status (thanks stever)

util.pubsub: Add :get_subscription() to return the current subscription for a JID, if any

util.filters: Support for 'filter hooks' that get called when a session is initialized for filters

Merge backout

Backed out changeset bfc47564aaef (No need for _M with module.environment)

mod_pubsub: Use module.environment to reference the module's environment

mod_pubsub: Expose 'service'

modulemanager: Inside plugins, have global _M as a reference to the module's environment

mod_pubsub: It's aliiiive!

mod_component: Logging tweaks.

mod_component: Use module:get_option() instead of configmanager.

mod_component: Rearranged the code a little.

mod_component: Return true from stanza handler to indicate that we actually did handle the stanza.

mod_console: Don't allow bang bang as the first command in a session, or when the last command is unknown (fixes #218)

configmanager: Change parser API again to pass a config table to insert settings to. Fixes Include(). (Thanks Zash/answerman)

usermanager: Don't load auth modules for components.

MUC: Grant membership when inviteing someone into a members-only room.

configmanager: Update Include and RunScript directives to support paths relative to the (current!) config file

prosody, configmanager, certmanager: Relocate prosody.resolve_relative_path() to configmanager, and update certmanager (the only user of this function)

modulemanager, usermanager: Removed hooks for the 'component-activated' event (components now fire 'host-activated').

mod_proxy65: Use module:get_option() instead of configmanager.

componentmanager: Removed.

prosody: Added a stub implementation of core.componentmanager to the package.loaded table.

prosody: Removed all references to componentmanager from Prosody, except the main componentmanager file.

componentmanager: Removed most of the code. Stub implementations of register_component and deregister_component remain.

componentmanager: Removed get_children(host).

hostmanager: Don't include hosts with '@' or '/' in the name in the get_children(host) result.

mod_disco: Updated to use hostmanager.get_children instead of componentmanager.get_children.

hostmanager: Added function get_children(host) which copies componentmanager.get_children(host).

modulemanager: Return an error when loading a module on a non-existent host, don't create the host. Removes dependecy on componentmanager.

hostmanager, componentmanager: hostmanager now handles component initialization at server start, not componentmanager.

modulemanager: load_modules_for_host(): For components, the inherited modules are the intersection of the inheritable and global modules lists, not the difference.

modulemanager: load_modules_for_host(): Inherit 'tls' and 'dialback' from global modules list for components, and load the component module. Also refactored to use util.set.

hostmanager: Added support for components to hostmanager.activate().

MUC: Only send status code 110 (entering non-anonymous room) to the occupant themselves, not to other occupants.

MUC: Added some more missing :up()s to the stanza building for presence broadcasts (thanks again Zash).

MUC: Parse submitted form with util.dataforms

MUC: Added a missing :up() to the stanza building for presence broadcast (thanks Zash).

MUC: Return true from the stanza handler to suppress error responses.

modulemanager: Fixed: Locally defined pcall wasn't returning return values of the called function.

componentmanager, hostmanager, modulemanager, mod_component: Got rid of the useless hosts[*].connected property.

componentmanager, stanza_router: Get rid of componentmanager.handle_stanza().

prosody: Ensure componentmanager is loaded in the main file.

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

mercurial