summaryrefslogtreecommitdiffstats
path: root/src/libserver
diff options
context:
space:
mode:
authorVsevolod Stakhov <vsevolod@highsecure.ru>2019-03-08 11:46:33 +0000
committerVsevolod Stakhov <vsevolod@highsecure.ru>2019-03-08 11:46:33 +0000
commit73cf5c9693e93d5a48e0b1b3321539243bc10f10 (patch)
tree96aeea02bb16a5342685140ed4504af4e1117cd4 /src/libserver
parentf7f1a793fa85f917ded8771d51bc50c49a895eb0 (diff)
downloadrspamd-73cf5c9693e93d5a48e0b1b3321539243bc10f10.tar.gz
rspamd-73cf5c9693e93d5a48e0b1b3321539243bc10f10.zip
[Minor] Allow to set include trace on config load
Diffstat (limited to 'src/libserver')
-rw-r--r--src/libserver/cfg_rcl.c14
-rw-r--r--src/libserver/cfg_rcl.h2
2 files changed, 13 insertions, 3 deletions
diff --git a/src/libserver/cfg_rcl.c b/src/libserver/cfg_rcl.c
index 7520b66d8..59b1fc932 100644
--- a/src/libserver/cfg_rcl.c
+++ b/src/libserver/cfg_rcl.c
@@ -3541,8 +3541,12 @@ rspamd_config_calculate_cksum (struct rspamd_config *cfg)
}
gboolean
-rspamd_config_parse_ucl (struct rspamd_config *cfg, const gchar *filename,
- GHashTable *vars, GError **err)
+rspamd_config_parse_ucl (struct rspamd_config *cfg,
+ const gchar *filename,
+ GHashTable *vars,
+ ucl_include_trace_func_t inc_trace,
+ void *trace_data,
+ GError **err)
{
struct stat st;
gint fd;
@@ -3615,6 +3619,10 @@ rspamd_config_parse_ucl (struct rspamd_config *cfg, const gchar *filename,
rspamd_ucl_add_conf_macros (parser, cfg);
ucl_parser_set_filevars (parser, filename, true);
+ if (inc_trace) {
+ ucl_parser_set_include_tracer (parser, inc_trace, trace_data);
+ }
+
if (decrypt_keypair) {
struct ucl_parser_special_handler *decrypt_handler;
@@ -3655,7 +3663,7 @@ rspamd_config_read (struct rspamd_config *cfg, const gchar *filename,
struct rspamd_rcl_section *top, *logger_section;
const ucl_object_t *logger_obj;
- if (!rspamd_config_parse_ucl (cfg, filename, vars, &err)) {
+ if (!rspamd_config_parse_ucl (cfg, filename, vars, NULL, NULL, &err)) {
msg_err_config_forced ("failed to load config: %e", err);
g_error_free (err);
diff --git a/src/libserver/cfg_rcl.h b/src/libserver/cfg_rcl.h
index 830a1bfe3..e2477481e 100644
--- a/src/libserver/cfg_rcl.h
+++ b/src/libserver/cfg_rcl.h
@@ -479,6 +479,8 @@ void rspamd_config_calculate_cksum (struct rspamd_config *cfg);
gboolean rspamd_config_parse_ucl (struct rspamd_config *cfg,
const gchar *filename,
GHashTable *vars,
+ ucl_include_trace_func_t inc_trace,
+ void *trace_data,
GError **err);
gboolean rspamd_config_read (struct rspamd_config *cfg,
const gchar *filename,