aboutsummaryrefslogtreecommitdiffstats
path: root/src/cfg_utils.c
diff options
context:
space:
mode:
authorVsevolod Stakhov <vsevolod@rambler-co.ru>2010-12-15 22:10:42 +0300
committerVsevolod Stakhov <vsevolod@rambler-co.ru>2010-12-15 22:10:42 +0300
commit0bb8eff9b54d2bba798012137bd3785c3277c401 (patch)
tree4cb1e38d7ecc28ae1326706dab0629ad924178b2 /src/cfg_utils.c
parentea03e94d0a79c2f0f35e05bd6c9d44bf995a3e5b (diff)
downloadrspamd-0bb8eff9b54d2bba798012137bd3785c3277c401.tar.gz
rspamd-0bb8eff9b54d2bba798012137bd3785c3277c401.zip
* Implement ability to add conditional rules to rspamd.xml
Diffstat (limited to 'src/cfg_utils.c')
-rw-r--r--src/cfg_utils.c6
1 files changed, 6 insertions, 0 deletions
diff --git a/src/cfg_utils.c b/src/cfg_utils.c
index b98746fe9..334283d22 100644
--- a/src/cfg_utils.c
+++ b/src/cfg_utils.c
@@ -930,10 +930,16 @@ read_xml_config (struct config_file *cfg, const gchar *filename)
/* Prepare xml parser */
ud.cfg = cfg;
ud.state = XML_READ_START;
+ ud.if_stack = g_queue_new ();
ctx = g_markup_parse_context_new (&xml_parser, G_MARKUP_TREAT_CDATA_AS_TEXT | G_MARKUP_PREFIX_ERROR_POSITION, &ud, NULL);
res = g_markup_parse_context_parse (ctx, data, st.st_size, &err);
+ if (g_queue_get_length (ud.if_stack) != 0) {
+ msg_err ("unexpected nesting for if arguments");
+ res = FALSE;
+ }
+
munmap (data, st.st_size);
return res;