From d59812d5769fbecbec47fdb5a537e29aaa579372 Mon Sep 17 00:00:00 2001 From: Vsevolod Stakhov Date: Thu, 24 Jul 2014 17:40:38 -0700 Subject: Add option `check_all_filters`. This option disables the optimization of messages processing and turn on mode when all filters are checked. Suggested by: AL --- src/libserver/cfg_file.h | 1 + src/libserver/cfg_rcl.c | 5 +++++ src/libserver/task.c | 1 + src/rdns | 2 +- src/ucl | 2 +- 5 files changed, 9 insertions(+), 2 deletions(-) (limited to 'src') diff --git a/src/libserver/cfg_file.h b/src/libserver/cfg_file.h index cb62d9640..1181c126c 100644 --- a/src/libserver/cfg_file.h +++ b/src/libserver/cfg_file.h @@ -265,6 +265,7 @@ struct rspamd_config { gboolean check_text_attachements; /**< check text attachements as text */ gboolean convert_config; /**< convert config to XML format */ gboolean strict_protocol_headers; /**< strictly check protocol headers */ + gboolean check_all_filters; /**< check all filters */ gsize max_diff; /**< maximum diff size for text parts */ diff --git a/src/libserver/cfg_rcl.c b/src/libserver/cfg_rcl.c index 75a659203..1cfcf2560 100644 --- a/src/libserver/cfg_rcl.c +++ b/src/libserver/cfg_rcl.c @@ -1286,6 +1286,11 @@ rspamd_rcl_config_init (void) rspamd_rcl_parse_struct_boolean, G_STRUCT_OFFSET (struct rspamd_config, strict_protocol_headers), 0); + rspamd_rcl_add_default_handler (sub, + "check_all_filters", + rspamd_rcl_parse_struct_boolean, + G_STRUCT_OFFSET (struct rspamd_config, check_all_filters), + 0); /** * Metric section diff --git a/src/libserver/task.c b/src/libserver/task.c index a796b3f93..d71e0412e 100644 --- a/src/libserver/task.c +++ b/src/libserver/task.c @@ -55,6 +55,7 @@ rspamd_task_new (struct rspamd_worker *worker) new_task->state = READ_MESSAGE; if (worker) { new_task->cfg = worker->srv->cfg; + new_task->pass_all_filters = new_task->cfg->check_all_filters; } #ifdef HAVE_CLOCK_GETTIME # ifdef HAVE_CLOCK_PROCESS_CPUTIME_ID diff --git a/src/rdns b/src/rdns index 44e4c9ba1..08f7afd8f 160000 --- a/src/rdns +++ b/src/rdns @@ -1 +1 @@ -Subproject commit 44e4c9ba12d2504379443e7f7a7f94ad088a28e3 +Subproject commit 08f7afd8f1716f1ac9ce7825f0f9bce1345bb48c diff --git a/src/ucl b/src/ucl index bf78fc2f3..e907bbbf8 160000 --- a/src/ucl +++ b/src/ucl @@ -1 +1 @@ -Subproject commit bf78fc2f31981411ff3bb20fb22d11056224f1c4 +Subproject commit e907bbbf8f60dec88c71d781931553a83ea69dd5 -- cgit v1.2.3