diff options
author | Kim Alvefur <zash@zash.se> | 2018-10-25 17:11:10 +0200 |
---|---|---|
committer | Kim Alvefur <zash@zash.se> | 2018-10-25 17:11:10 +0200 |
commit | 94f7f0b95ed1fd420613b9bd47a71e722f773459 (patch) | |
tree | 4aa853e48697a1169b6190e0b582bf9b1da80c01 | |
parent | 7dece5bcba14f2a7625ce0b22e4bb157365f7777 (diff) | |
download | prosody-94f7f0b95ed1fd420613b9bd47a71e722f773459.tar.gz prosody-94f7f0b95ed1fd420613b9bd47a71e722f773459.zip |
moduleapi: Prevent loading disabled module as dependency of enabled one
Explicitly disabled module should stay disabled.
-rw-r--r-- | core/moduleapi.lua | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/core/moduleapi.lua b/core/moduleapi.lua index c19594c1..10f9f04d 100644 --- a/core/moduleapi.lua +++ b/core/moduleapi.lua @@ -129,6 +129,9 @@ end function api:depends(name) local modulemanager = require"core.modulemanager"; + if self:get_option_inherited_set("modules_disabled", {}):contains(name) then + error("Dependency on disabled module mod_"..name); + end if not self.dependencies then self.dependencies = {}; self:hook("module-reloaded", function (event) @@ -145,9 +148,6 @@ function api:depends(name) end end); end - if self:get_option_inherited_set("modules_disabled", {}):contains(name) then - self:log("warn", "Loading prerequisite mod_%s despite it being disabled", name); - end local mod = modulemanager.get_module(self.host, name) or modulemanager.get_module("*", name); if mod and mod.module.host == "*" and self.host ~= "*" and modulemanager.module_has_method(mod, "add_host") then |