summaryrefslogtreecommitdiffstats
path: root/src/libserver/cfg_utils.c
diff options
context:
space:
mode:
authorVsevolod Stakhov <vsevolod@highsecure.ru>2018-12-03 14:19:39 +0000
committerVsevolod Stakhov <vsevolod@highsecure.ru>2018-12-03 14:19:39 +0000
commit2bcf32721918984cb21ec2ed2d6d38fe08e060b7 (patch)
treec567c2d64c7762265f494a65b8ff8553db3d57eb /src/libserver/cfg_utils.c
parent5f7111cfe60622a9ea7d6d9503fcd04c900f21fe (diff)
downloadrspamd-2bcf32721918984cb21ec2ed2d6d38fe08e060b7.tar.gz
rspamd-2bcf32721918984cb21ec2ed2d6d38fe08e060b7.zip
[Feature] Implement more strict configuration tests
Diffstat (limited to 'src/libserver/cfg_utils.c')
-rw-r--r--src/libserver/cfg_utils.c19
1 files changed, 15 insertions, 4 deletions
diff --git a/src/libserver/cfg_utils.c b/src/libserver/cfg_utils.c
index 550e4b730..ec2e48786 100644
--- a/src/libserver/cfg_utils.c
+++ b/src/libserver/cfg_utils.c
@@ -1470,6 +1470,7 @@ rspamd_init_filters (struct rspamd_config *cfg, bool reconfig)
module_t *mod, **pmod;
guint i = 0;
struct module_ctx *mod_ctx, *cur_ctx;
+ gboolean ret = TRUE;
/* Init all compiled modules */
@@ -1504,11 +1505,19 @@ rspamd_init_filters (struct rspamd_config *cfg, bool reconfig)
mod_ctx->enabled = rspamd_config_is_module_enabled (cfg, mod->name);
if (reconfig) {
- (void)mod->module_reconfig_func (cfg);
- msg_info_config ("reconfig of %s", mod->name);
+ if (!mod->module_reconfig_func (cfg)) {
+ msg_err_config ("reconfig of %s failed!", mod->name);
+ }
+ else {
+ msg_info_config ("reconfig of %s", mod->name);
+ }
+
}
else {
- (void)mod->module_config_func (cfg);
+ if (!mod->module_config_func (cfg)) {
+ msg_info_config ("config of %s failed!", mod->name);
+ ret = FALSE;
+ }
}
}
@@ -1519,7 +1528,9 @@ rspamd_init_filters (struct rspamd_config *cfg, bool reconfig)
cur = g_list_next (cur);
}
- return rspamd_init_lua_filters (cfg, 0);
+ ret = rspamd_init_lua_filters (cfg, 0) && ret;
+
+ return ret;
}
static void