summaryrefslogtreecommitdiffstats
path: root/lualib/lua_util.lua
diff options
context:
space:
mode:
Diffstat (limited to 'lualib/lua_util.lua')
-rw-r--r--lualib/lua_util.lua19
1 files changed, 19 insertions, 0 deletions
diff --git a/lualib/lua_util.lua b/lualib/lua_util.lua
index a160bd85e..b8011e11f 100644
--- a/lualib/lua_util.lua
+++ b/lualib/lua_util.lua
@@ -199,4 +199,23 @@ end
exports.spairs = spairs
+local function disable_module(modname, how)
+ for i,mn in ipairs(rspamd_plugins_state.enabled) do
+ if modname == mn then
+ table.remove(rspamd_plugins_state.enabled, i)
+ break
+ end
+ end
+
+ if how == 'redis' then
+ table.insert(rspamd_plugins_state.disabled_redis, modname)
+ elseif how == 'config' then
+ table.insert(rspamd_plugins_state.disabled_unconfigured, modname)
+ else
+ table.insert(rspamd_plugins_state.disabled_failed, modname)
+ end
+end
+
+exports.disable_module = disable_module
+
return exports