Log

core/modulemanager.lua @ 4642:c1602c07d14d

description author age
modulemanager: Support for shared modules - function module.add_host(host_module) in a global module Matthew Wild Sat, 21 Apr 2012 20:09:03 +0100
modulemanager: Make module_has_method and module_call_method use rawget() Matthew Wild Sat, 21 Apr 2012 20:04:07 +0100
modulemanager: Use modulemap rather than hosts[host] (fix for when host == "*") Matthew Wild Sat, 21 Apr 2012 20:02:45 +0100
modulemanager: Use api_instance rather than pluginenv.module (same thing) Matthew Wild Sat, 21 Apr 2012 20:01:40 +0100
modulemanager: Allow loading a module onto "*" (part-fixes #228) Matthew Wild Sat, 21 Apr 2012 20:00:30 +0100
modulemanager: Some refactoring. Deprecate module.host = "*", modules should call module:set_global() (which has been around since forever) Matthew Wild Wed, 14 Mar 2012 21:37:00 +0000
modulemanager: Use appropriate events object for global modules when firing item-removed on unload Matthew Wild Wed, 14 Mar 2012 17:03:48 +0000
modulemanager: include mod_c2s and mod_s2s into autoloaded modules. Florian Zeitz Fri, 24 Feb 2012 15:14:07 +0000
modulemanager: load(): Return and use the correct module object Matthew Wild Sun, 22 Jan 2012 19:27:06 +0000
modulemanager: Cleanup some unused variables, imports, whitespace and add a comment. Matthew Wild Sun, 22 Jan 2012 18:49:49 +0000
modulemanager, moduleapi: Replace hooks multitable with an event_handlers map stored in individual modules. Also adds module:hook_object_event() to hook events on any util.events compatible object. Matthew Wild Sun, 22 Jan 2012 18:49:11 +0000
modulemanager: Drop unnecessary prosody_events local Matthew Wild Sun, 22 Jan 2012 18:47:33 +0000
modulemanager: Some reorganisation. Only external change is (should be) that module-unloaded and module-loaded are no longer fired when reloading a module, the new event module-reloaded is fired instead. Matthew Wild Sun, 22 Jan 2012 18:46:17 +0000
modulemanager: Move in-module API functions to core.moduleapi (half the file size, yay) Matthew Wild Sun, 22 Jan 2012 18:41:55 +0000
modulemanager: Remove 'config' from module environments (no modules use it that I'm aware of) Matthew Wild Tue, 13 Dec 2011 13:34:21 +0000
modulemanager: Fix undefined global access in handling of module.save error handling. Waqas Hussain Wed, 21 Sep 2011 03:25:34 +0500
modulemanager: Fixed undefined global access in broadcast of item-remove events on module unload. Waqas Hussain Sat, 17 Sep 2011 20:28:46 +0500
modulemanager: Add module:handle_items() to allow a module to more easily handle a list of items on a host Matthew Wild Mon, 29 Aug 2011 13:09:29 -0400
modulemanager: Add module:hook_global(name, handler, priority) to hook global (server-wide) events Matthew Wild Sun, 14 Aug 2011 13:56:13 -0400
core.modulemanager, mod_disco: Add support for XEP-0128: Service Discovery Extensions Kim Alvefur Mon, 08 Aug 2011 18:23:53 +0200
modulemanager: Added module.path to the plugin API to let plugins determine their load path. Waqas Hussain Sun, 20 Feb 2011 20:06:38 +0500
modulemanager: Fix disabling a module on a single host Paul Aurich Tue, 01 Feb 2011 17:56:16 -0800
modulemanager: Removed an unused variable. Waqas Hussain Wed, 05 Jan 2011 06:16:27 +0500
modulemanager: Auto-load mod_offline. Waqas Hussain Mon, 27 Dec 2010 06:10:34 +0500
modulemanager, mod_console: Rename mod_console -> mod_admin_telnet - add compatibility code to modulemanager for existing configs Matthew Wild Fri, 17 Dec 2010 12:44:24 +0000
modulemanager: Allow components to inherit mod_iq. This allows modules loaded on components to hook IQ stanza sub-events ("iq-set/bare/xmlns:tag", etc). Waqas Hussain Thu, 02 Dec 2010 16:32:42 +0500
Backed out changeset bfc47564aaef (No need for _M with module.environment) Matthew Wild Sat, 13 Nov 2010 04:12:40 +0000
modulemanager: Inside plugins, have global _M as a reference to the module's environment Matthew Wild Sat, 13 Nov 2010 04:09:14 +0000
modulemanager, usermanager: Removed hooks for the 'component-activated' event (components now fire 'host-activated'). Waqas Hussain Wed, 10 Nov 2010 22:27:09 +0500
modulemanager: Return an error when loading a module on a non-existent host, don't create the host. Removes dependecy on componentmanager. Waqas Hussain Wed, 10 Nov 2010 20:14:33 +0500
modulemanager: load_modules_for_host(): For components, the inherited modules are the intersection of the inheritable and global modules lists, not the difference. Waqas Hussain Wed, 10 Nov 2010 19:54:38 +0500
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. Waqas Hussain Wed, 10 Nov 2010 18:06:51 +0500
modulemanager: Fixed: Locally defined pcall wasn't returning return values of the called function. Waqas Hussain Wed, 10 Nov 2010 05:30:46 +0500
componentmanager, hostmanager, modulemanager, mod_component: Got rid of the useless hosts[*].connected property. Waqas Hussain Wed, 10 Nov 2010 03:39:38 +0500
modulemanager, stanza_router: Moved modulemanager.handle_stanza to stanza_router, as a local function handle_unhandled_stanza. modulemanager is no longer a dependency of stanza_router. Waqas Hussain Sat, 16 Oct 2010 08:34:32 +0500
modulemanager: Removed another legacy events API (add_event_hook), and related code. Waqas Hussain Sat, 16 Oct 2010 08:15:11 +0500
modulemanager: Removed legacy events API, and related code. Waqas Hussain Sat, 16 Oct 2010 07:31:50 +0500
modulemanager: Removed add_iq_handler() from the plugin API. Waqas Hussain Sat, 16 Oct 2010 06:25:55 +0500
modulemanager: Remove dependency on eventmanager Matthew Wild Tue, 03 Aug 2010 10:52:53 +0100
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. Matthew Wild Fri, 04 Jun 2010 14:33:36 +0100
Have defaultauth load by default Jeff Mitchell Thu, 27 May 2010 09:20:08 -0400
modulemanager: Log proper tracebacks on errors during module load/unload. Waqas Hussain Mon, 19 Apr 2010 18:29:10 +0500
Merge 0.6->0.7 Matthew Wild Tue, 30 Mar 2010 19:45:56 +0100
stanza_router, s2smanager, modulemanager: Fix for handling of the default namespace on stanzas, causing sometimes jabber:client to be sent over s2s, and accepted Matthew Wild Tue, 30 Mar 2010 19:40:16 +0100
Merge 0.6->0.7 Matthew Wild Mon, 22 Mar 2010 17:24:55 +0000
Update copyright headers for 2010 Matthew Wild Mon, 22 Mar 2010 17:06:15 +0000
modulemanager: Fire item-removed events on module unload. Waqas Hussain Thu, 10 Dec 2009 03:02:04 +0500
modulemanager: Fix traceback on unloading global modules (thanks KSid) Matthew Wild Thu, 18 Feb 2010 16:22:50 +0000
modulemanager: Load plugin libraries in the same environment as the plugins. Waqas Hussain Thu, 11 Feb 2010 05:36:03 +0500
modulemanager: Make the plugin environment available directly (module.environment within plugins). Waqas Hussain Thu, 11 Feb 2010 05:34:53 +0500
modulemanager: Remove obsolete actions code Matthew Wild Thu, 21 Jan 2010 12:57:12 +0000
modulemanager: Fire item-removed events on module unload. Waqas Hussain Thu, 10 Dec 2009 03:02:04 +0500
modulemanager: Fixed a global access. Waqas Hussain Thu, 10 Dec 2009 03:00:16 +0500
modulemanager, net.dns: Remove trailing whitespace Matthew Wild Wed, 02 Dec 2009 20:32:44 +0000
modulemanager: Fire events module-loaded and module-unloaded, both receive a table with 'module' and 'host' fields, thanks bjc Matthew Wild Tue, 01 Dec 2009 19:57:33 +0000
modulemanager: New module API methods for getting config options with type conversion, get_option_string, get_option_number, get_option_boolean, get_option_array, get_option_set Matthew Wild Mon, 23 Nov 2009 16:07:33 +0000
modulemanager: api:get_option(): Handle correctly option values of boolean false, don't assume value unset Matthew Wild Sun, 08 Nov 2009 15:09:11 +0000
modulemanager: Module loading rewritten to gracefully deal with errors in module initialization. Waqas Hussain Sun, 18 Oct 2009 05:17:07 +0500
modulemanager: Use componentmanager to create new components. Waqas Hussain Sun, 18 Oct 2009 03:15:33 +0500
modulemanager: Fixed: Stanza modules were being auto-loaded for components (regression in hg:1e674dae31ae). Waqas Hussain Sun, 18 Oct 2009 01:19:03 +0500
modulemanager: Fixed traceback on loading modules on unknown hosts. Waqas Hussain Sat, 17 Oct 2009 23:50:09 +0500
modulemanager: Slightly rearranged code for more robust unloading of modules. Waqas Hussain Sat, 17 Oct 2009 23:48:30 +0500
modulemanager: Re-organise module loading to still work when no global modules_enabled is defined in the config (thanks hoelzro for accidentally discovering this one) Matthew Wild Fri, 16 Oct 2009 22:12:46 +0100
modulemanager: Changed api:get_host_items to include items from the global host in its result. Waqas Hussain Tue, 13 Oct 2009 14:58:45 +0500
modulemanager: Bump log level of unhandled non-default-namespace elements, and log their full XML Matthew Wild Tue, 06 Oct 2009 23:14:01 +0100
Merge with 0.5 Matthew Wild Mon, 05 Oct 2009 14:42:56 +0100
modulemanager: Add host.modules to contain a table of modules for a host Matthew Wild Mon, 05 Oct 2009 10:42:36 +0100
Merge with 0.5 Matthew Wild Wed, 30 Sep 2009 11:06:02 +0100
modulemanager: Load modules for components, too Matthew Wild Wed, 30 Sep 2009 11:05:26 +0100
Merge with 0.5 matthew Sat, 05 Sep 2009 23:01:06 +0100
modulemanager: Fixed: Internally generated stanzas could be missing namespaces, which causes tracebacks in logging (e.g., auto-generated offline presence) Waqas Hussain Sun, 06 Sep 2009 01:31:18 +0500
modulemanager: Removed unused variables and reference to core.discomanager Waqas Hussain Tue, 18 Aug 2009 12:55:37 +0500
modulemanager: Removed unnecessary code in the unload function Waqas Hussain Tue, 18 Aug 2009 12:54:16 +0500
modulemanager: Removed legacy disco#items hook Waqas Hussain Tue, 18 Aug 2009 12:52:44 +0500
modulemanager: add_feature and add_identity APIs updated to use only the add_item API Waqas Hussain Tue, 18 Aug 2009 12:51:14 +0500
modulemanager: Added module API function to get all items for a given host based on a key Waqas Hussain Tue, 18 Aug 2009 12:35:42 +0500
modulemanager: Module API functions add_item and add_feature updated to use the add_item API Waqas Hussain Tue, 18 Aug 2009 12:34:59 +0500
modulemanager: Changed the add_identity module API to accept an optional name parameter (the 'name' attribute for the <identity/> element) Waqas Hussain Tue, 18 Aug 2009 12:32:38 +0500
Added: functions add_item and remove_item to add and remove items to the module API Waqas Hussain Tue, 18 Aug 2009 12:30:06 +0500
modulemanager: Added get_option(name, default_value) to plugin API Waqas Hussain Sat, 25 Jul 2009 18:37:05 +0500
Remove version number from copyright headers Matthew Wild Fri, 10 Jul 2009 03:11:45 +0100
modulemanager: Small code improvement, move autoloaded modules list to the top of the file Matthew Wild Thu, 09 Jul 2009 14:37:04 +0100
configmanager, modulemanager: Allow components to have modules specified in the config (but don't load the global set of modules for them) Matthew Wild Thu, 09 Jul 2009 14:34:49 +0100
modulemanager: Don't close stream on stream:error with unsupported-stanza-type (fixes #102) Waqas Hussain Mon, 29 Jun 2009 15:26:04 +0500
Automated merge with http://waqas.ath.cx:8000/ Matthew Wild Tue, 23 Jun 2009 15:58:56 +0100
modulemanager: Enabled access to the module API from plugin libraries Waqas Hussain Tue, 23 Jun 2009 02:15:04 +0500
modulemanager: Added simple module:require implementation Waqas Hussain Sun, 21 Jun 2009 19:15:59 +0500
modulemanager: Expose api table to allow others to extend the module API Matthew Wild Tue, 23 Jun 2009 01:48:01 +0100
modulemanager: Fix copy/paste error, should be name instead of module_name Matthew Wild Mon, 22 Jun 2009 21:54:34 +0100
modulemanager: Call 'load' method when loading a module Matthew Wild Mon, 22 Jun 2009 02:58:05 +0100
modulemanager: Removed unused function get_module_filename(name) Waqas Hussain Sun, 14 Jun 2009 21:06:43 +0500
modulemanager: Changed to use util.pluginloader Waqas Hussain Sun, 14 Jun 2009 21:03:59 +0500
modulemanager: Change the ideitity attribute typ to type Waqas Hussain Sat, 13 Jun 2009 00:07:16 +0500
modulemanager: Added function add_identity(category, type) to the modules API Waqas Hussain Fri, 12 Jun 2009 14:32:32 +0500
modulemanager: Use module_name in log entry to fix 'error initialising module "nil"' error Matthew Wild Mon, 08 Jun 2009 13:25:10 +0100
Automated merge with http://waqas.ath.cx:8000/ Matthew Wild Sun, 07 Jun 2009 14:19:36 +0100
modulemanager: Allow setting a priority while adding an event handler via the module:hook API Waqas Hussain Sun, 07 Jun 2009 18:04:56 +0500
modulemanager: Don't require xmlns to be non-nil Matthew Wild Sat, 06 Jun 2009 17:17:16 +0100
modulemanager: module:log() -> self:log() fix Matthew Wild Sat, 06 Jun 2009 17:15:26 +0100
modulemanager: Allow setting priority of stanza handlers Matthew Wild Sat, 06 Jun 2009 17:08:47 +0100
modulemanager: Add module:hook([xmlns, ] name, handler) which uses new stanza events Matthew Wild Sat, 06 Jun 2009 16:41:09 +0100
modulemanager: Load mod_message, mod_iq and mod_presence implicitly Waqas Hussain Thu, 04 Jun 2009 21:25:05 +0500
modulemanager: Keep track of event handlers added by module:hook, and remove them on module unload Waqas Hussain Sun, 31 May 2009 13:31:20 +0500
modulemanager: Stopped using core.eventmanager in module:fire_event Waqas Hussain Sun, 31 May 2009 01:17:19 +0500
modulemanager: module:fire_event now fires on the global and host-specific events objects as well Waqas Hussain Sun, 31 May 2009 01:11:48 +0500
modulemanager: Made some code more concise Waqas Hussain Sun, 31 May 2009 00:54:33 +0500
modulemanager: module:hook now allows global modules to hook events on the prosody.events object Waqas Hussain Sun, 31 May 2009 00:51:13 +0500
modulemanager: Added hook(event, handler) to the plugin API Waqas Hussain Sat, 30 May 2009 17:35:32 +0500
modulemanager: Add module:fire_event() to module API Matthew Wild Tue, 19 May 2009 11:50:22 +0100
modulemanager: require util.stanza Waqas Hussain Sat, 16 May 2009 05:28:04 +0500
modulemanager: Don't close the stream on unhandled stream:features Waqas Hussain Sat, 16 May 2009 05:07:51 +0500
stanza_router: Removed global function core_handle_stanza Waqas Hussain Sat, 16 May 2009 01:41:45 +0500
modulemanager: No need for print() Matthew Wild Mon, 04 May 2009 19:08:55 +0100
modulemanager: Don't load modules when modules_enable is false Matthew Wild Sat, 02 May 2009 22:01:22 +0100
modulemanager: Update logger when a module becomes global Matthew Wild Thu, 30 Apr 2009 01:36:46 +0100
Fixed: modulemanager: IQs with extended elements in the default namespace could cause backtraces (related to issue #74) Waqas Hussain Mon, 30 Mar 2009 02:56:34 +0500
0.3->0.4 Matthew Wild Fri, 20 Mar 2009 20:16:25 +0000
Let global modules add disco features for all hosts Waqas Hussain Wed, 04 Mar 2009 22:23:41 +0500
Allow global modules to hook stanza handlers Waqas Hussain Wed, 04 Mar 2009 22:15:46 +0500
modulemanager initializes hosts[host] if it isn't already initialized when loading a module. Waqas Hussain Wed, 11 Feb 2009 17:57:48 +0500
Fix for never checking if the first module for a host is already loaded (affects global modules) Matthew Wild Wed, 04 Feb 2009 18:53:23 +0000
Update copyright notices for 2009 Matthew Wild Fri, 30 Jan 2009 17:59:26 +0000
0.2->0.3 Matthew Wild Fri, 30 Jan 2009 17:40:25 +0000
GPL->MIT! Matthew Wild Fri, 30 Jan 2009 17:22:56 +0000
modulemanager: Really fix call_module_method to work properly Matthew Wild Thu, 29 Jan 2009 02:01:09 +0000
modulemanager: Add get_host_type() API method, and fix up call_module_method to work properly Matthew Wild Thu, 29 Jan 2009 01:58:11 +0000
modulemanager: Add module:set_global() as a cleaner way for a module to declare itself 'global' Matthew Wild Sat, 24 Jan 2009 20:29:25 +0000
core.modulemanager: Some refactoring to make upcoming changes a little easier Matthew Wild Sat, 24 Jan 2009 01:15:40 +0000
modulemanager: Comment out logging of modules hooking stanzas, too noisy Matthew Wild Fri, 16 Jan 2009 05:38:03 +0000
modulemanager: Check for syntax errors before reloading a module Waqas Hussain Tue, 13 Jan 2009 23:16:39 +0500
modulemanager: Added reload support, with callbacks for saving and restoring state Waqas Hussain Tue, 13 Jan 2009 22:37:07 +0500
Automated merge with http://waqas.ath.cx:8000/ Matthew Wild Tue, 13 Jan 2009 15:29:00 +0000
modulemanager: Fixed error on unloading modules with no handlers Waqas Hussain Tue, 13 Jan 2009 20:19:52 +0500
Add core.actions for managing server 'actions'; and make modulemanager register actions 'load' and 'unload' Matthew Wild Mon, 12 Jan 2009 04:05:10 +0000
modulemanager: Change pairs() to ipairs() to allow ordered module loading Matthew Wild Mon, 12 Jan 2009 03:27:18 +0000
modulemanager: Per-host event hooks for plugins - solves issue 41 Waqas Hussain Fri, 09 Jan 2009 23:01:21 +0500
Automated merge with http://waqas.ath.cx:8000/ Matthew Wild Wed, 07 Jan 2009 15:14:24 +0000
modulemanager: module.unload now gets called when modules are being unloaded Waqas Hussain Wed, 07 Jan 2009 20:03:59 +0500
Remove warning of already-loaded modules at startup Matthew Wild Sun, 04 Jan 2009 02:55:59 +0000
Modulemanager: Basic modules can now be unloaded correctly Waqas Hussain Sat, 03 Jan 2009 18:45:51 +0500
Fix for not loading global modules when host-specific modules are specified in config Matthew Wild Wed, 24 Dec 2008 18:48:09 +0000
0.1 -> 0.2 Matthew Wild Wed, 10 Dec 2008 15:44:03 +0000
Don't try processing stanzas not of type get or set in module manager Waqas Hussain Mon, 08 Dec 2008 21:06:41 +0500
Merge from waqas Matthew Wild Sat, 06 Dec 2008 23:23:08 +0000
Removed unused variables Waqas Hussain Sun, 07 Dec 2008 03:14:30 +0500
Combined and merged similar code Waqas Hussain Sun, 07 Dec 2008 03:10:47 +0500
Removed pre-multitable code from module manager Waqas Hussain Sun, 07 Dec 2008 02:56:17 +0500
Temporary hack for global modules Matthew Wild Sat, 06 Dec 2008 23:15:48 +0000
Merge from waqas Matthew Wild Sat, 06 Dec 2008 20:25:51 +0000
Changed module manager to use multitable (initial commit) Waqas Hussain Sun, 07 Dec 2008 01:06:10 +0500
Fix add_event_hook in module API Matthew Wild Sat, 06 Dec 2008 19:51:10 +0000
Move module loading to modulemanager Matthew Wild Sat, 06 Dec 2008 04:03:33 +0000
Add hostmanager, and eventmanager Matthew Wild Sat, 06 Dec 2008 03:41:49 +0000
Added function add_feature to modules API (for adding disco features) Waqas Hussain Thu, 04 Dec 2008 20:07:22 +0500
Insert copyright/license headers Matthew Wild Wed, 03 Dec 2008 14:39:07 +0000
Update Makefile to now pass config paths to prosody. Update prosody, modulemanager and connectionlisteners to obey these paths. Matthew Wild Sat, 29 Nov 2008 03:27:50 +0000
is_loaded() and incomplete unload() for modules Matthew Wild Thu, 27 Nov 2008 16:52:30 +0000
Bumper commit for the new modulemanager API \o/ Updates all the modules, though some more changes may be in store. Matthew Wild Thu, 27 Nov 2008 03:12:12 +0000
Merge from waqas Matthew Wild Sun, 23 Nov 2008 05:49:08 +0000
Check to prevent error on IQs from completely unhandled origins Waqas Hussain Sun, 23 Nov 2008 10:39:13 +0500
Backed out the backout. Now we're back out. Matthew Wild Sun, 23 Nov 2008 05:47:55 +0000
Backed out changeset 79bd7a3e906c Matthew Wild Sun, 23 Nov 2008 05:43:17 +0000
Typo prevented modulemanager.load() from returning the error if load failed. Matthew Wild Sun, 23 Nov 2008 05:14:37 +0000
Check to prevent error for IQs from completely unhandled origins Waqas Hussain Sat, 22 Nov 2008 23:14:31 +0500
If iq child element has no xmlns, use parent's Matthew Wild Sat, 15 Nov 2008 23:10:41 +0000
We now fail if modules fail to load at startup. Waqas Hussain Sun, 09 Nov 2008 04:26:25 +0500
Reworked the way lxmppd.cfg is used Waqas Hussain Thu, 06 Nov 2008 16:52:39 +0500
Fix for previous commit (again) Matthew Wild Sun, 02 Nov 2008 01:30:36 +0000
Fix for previous commit Matthew Wild Sun, 02 Nov 2008 01:28:27 +0000
Fix for add_iq_handler to allow multiple origin types too Matthew Wild Sun, 02 Nov 2008 01:26:37 +0000
Fix s2s once and for all Matthew Wild Sat, 01 Nov 2008 21:07:14 +0000
mod_version is here Matthew Wild Thu, 30 Oct 2008 21:26:53 +0000
Added support for XEP-0049: Private XML Storage (mod_private) Waqas Hussain Sun, 26 Oct 2008 21:22:59 +0500
Added: vCard plugin: mod_vcard Waqas Hussain Thu, 09 Oct 2008 02:59:57 +0500
TLS: Handshake works, no data after that tls Matthew Wild Sun, 05 Oct 2008 17:33:38 +0100
mod_InBandRegistration -> mod_register Matthew Wild Sun, 05 Oct 2008 01:39:49 +0100
User registration, etc (jabber:iq:register) Waqas Hussain Sun, 05 Oct 2008 04:55:45 +0500
Fix stanza handlers to use xmlns also for matching Matthew Wild Sat, 04 Oct 2008 02:40:47 +0100
Small fixes Matthew Wild Sat, 04 Oct 2008 02:09:46 +0100
Add support for arbitrary events and event hooks Matthew Wild Fri, 03 Oct 2008 22:17:20 +0100
SASL! Matthew Wild Thu, 02 Oct 2008 01:08:58 +0100
Huge commit to: Matthew Wild Tue, 30 Sep 2008 19:52:00 +0100