aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorVsevolod Stakhov <vsevolod@highsecure.ru>2013-11-03 22:30:57 +0000
committerVsevolod Stakhov <vsevolod@highsecure.ru>2013-11-03 22:30:57 +0000
commitd75ece11c02ecd3b05ad3ded2270055dc812a2f7 (patch)
tree267d95e45d9e8726fa5b08939372568667ce7fde
parentfea87d6a753f55d070c6f53405529af0848bd7ba (diff)
downloadrspamd-d75ece11c02ecd3b05ad3ded2270055dc812a2f7.tar.gz
rspamd-d75ece11c02ecd3b05ad3ded2270055dc812a2f7.zip
Fix RCL config parsing.
-rw-r--r--src/cfg_utils.c9
1 files changed, 4 insertions, 5 deletions
diff --git a/src/cfg_utils.c b/src/cfg_utils.c
index 0e698cdcd..35f0f44b7 100644
--- a/src/cfg_utils.c
+++ b/src/cfg_utils.c
@@ -306,7 +306,7 @@ get_module_opt (struct config_file *cfg, const gchar *module_name, const gchar *
sec = ucl_obj_get_key (cfg->rcl_obj, module_name);
if (sec != NULL) {
- res = ucl_obj_get_key (cfg->rcl_obj, opt_name);
+ res = ucl_obj_get_key (sec, opt_name);
}
return res;
@@ -1012,10 +1012,6 @@ read_rspamd_config (struct config_file *cfg, const gchar *filename, const gchar
res = g_markup_parse_context_parse (ctx, data, st.st_size, &err);
munmap (data, st.st_size);
-
- top = rspamd_rcl_config_init ();
-
- err = NULL;
}
else {
parser = ucl_parser_new (UCL_PARSER_KEY_LOWERCASE);
@@ -1026,8 +1022,11 @@ read_rspamd_config (struct config_file *cfg, const gchar *filename, const gchar
}
munmap (data, st.st_size);
cfg->rcl_obj = ucl_parser_get_object (parser);
+ res = TRUE;
}
+ top = rspamd_rcl_config_init ();
+ err = NULL;
if (!res || !rspamd_read_rcl_config (top, cfg, cfg->rcl_obj, &err)) {
msg_err ("rcl parse error: %s", err->message);