Software /
code /
prosody
Diff
core/modulemanager.lua @ 637:30b8ad9f7b70
Fix for not loading global modules when host-specific modules are specified in config
author | Matthew Wild <mwild1@gmail.com> |
---|---|
date | Wed, 24 Dec 2008 18:48:09 +0000 |
parent | 615:4ae3e81513f3 |
child | 670:d5cf10b7fc44 |
line wrap: on
line diff
--- a/core/modulemanager.lua Mon Dec 22 22:19:42 2008 +0000 +++ b/core/modulemanager.lua Wed Dec 24 18:48:09 2008 +0000 @@ -53,6 +53,24 @@ -- Load modules when a host is activated function load_modules_for_host(host) + -- Load modules from global section + local modules_enabled = config.get("*", "core", "modules_enabled"); + local modules_disabled = config.get(host, "core", "modules_disabled"); + local disabled_set = {}; + if modules_enabled then + if modules_disabled then + for _, module in pairs(modules_disabled) do + disabled_set[module] = true; + end + end + for _, module in pairs(modules_enabled) do + if not disabled_set[module] then + load(host, module); + end + end + end + + -- Load modules from just this host local modules_enabled = config.get(host, "core", "modules_enabled"); if modules_enabled then for _, module in pairs(modules_enabled) do