diff options
author | Vsevolod Stakhov <vsevolod@rambler-co.ru> | 2010-12-15 22:10:42 +0300 |
---|---|---|
committer | Vsevolod Stakhov <vsevolod@rambler-co.ru> | 2010-12-15 22:10:42 +0300 |
commit | 0bb8eff9b54d2bba798012137bd3785c3277c401 (patch) | |
tree | 4cb1e38d7ecc28ae1326706dab0629ad924178b2 /src/cfg_utils.c | |
parent | ea03e94d0a79c2f0f35e05bd6c9d44bf995a3e5b (diff) | |
download | rspamd-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.c | 6 |
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; |