diff options
author | Vsevolod Stakhov <vsevolod@rambler-co.ru> | 2010-07-15 15:08:31 +0400 |
---|---|---|
committer | Vsevolod Stakhov <vsevolod@rambler-co.ru> | 2010-07-15 15:08:31 +0400 |
commit | 99cd57ba7f0e6b9178ccacc6987b0854ed137d83 (patch) | |
tree | 1e1cb2993f5b8f1965925180be43f24b31477902 /src/cfg_xml.c | |
parent | 44e9a2cda785d6630b30c90707b7a00deb6b2b35 (diff) | |
download | rspamd-99cd57ba7f0e6b9178ccacc6987b0854ed137d83.tar.gz rspamd-99cd57ba7f0e6b9178ccacc6987b0854ed137d83.zip |
* Add ability to make views by recipient
Diffstat (limited to 'src/cfg_xml.c')
-rw-r--r-- | src/cfg_xml.c | 22 |
1 files changed, 20 insertions, 2 deletions
diff --git a/src/cfg_xml.c b/src/cfg_xml.c index 030ec9b34..aeb64d1ae 100644 --- a/src/cfg_xml.c +++ b/src/cfg_xml.c @@ -382,6 +382,12 @@ static struct xml_parser_rule grammar[] = { NULL }, { + "rcpt", + handle_view_rcpt, + 0, + NULL + }, + { "symbols", handle_view_symbols, 0, @@ -913,19 +919,31 @@ handle_view_from (struct config_file *cfg, struct rspamd_xml_userdata *ctx, GHas struct rspamd_view *view = ctx->section_pointer; if (!add_view_from (view, data)) { - msg_err ("invalid from line in view definition: ip = '%s'", data); + msg_err ("invalid from line in view definition: from = '%s'", data); return FALSE; } return TRUE; } gboolean +handle_view_rcpt (struct config_file *cfg, struct rspamd_xml_userdata *ctx, GHashTable *attrs, gchar *data, gpointer user_data, gpointer dest_struct, int offset) +{ + struct rspamd_view *view = ctx->section_pointer; + + if (!add_view_rcpt (view, data)) { + msg_err ("invalid from line in view definition: rcpt = '%s'", data); + return FALSE; + } + + return TRUE; +} +gboolean handle_view_symbols (struct config_file *cfg, struct rspamd_xml_userdata *ctx, GHashTable *attrs, gchar *data, gpointer user_data, gpointer dest_struct, int offset) { struct rspamd_view *view = ctx->section_pointer; if (!add_view_symbols (view, data)) { - msg_err ("invalid symbols line in view definition: ip = '%s'", data); + msg_err ("invalid symbols line in view definition: symbols = '%s'", data); return FALSE; } cfg->domain_settings_str = memory_pool_strdup (cfg->cfg_pool, data); |