aboutsummaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorVsevolod Stakhov <vsevolod@highsecure.ru>2014-07-24 17:40:38 -0700
committerVsevolod Stakhov <vsevolod@highsecure.ru>2014-07-24 17:40:38 -0700
commitd59812d5769fbecbec47fdb5a537e29aaa579372 (patch)
tree3a663105295bc8440698d18f32087021c01b2627 /src
parent379055dbbb4af997b4d3ffb161d447872d7ca357 (diff)
downloadrspamd-d59812d5769fbecbec47fdb5a537e29aaa579372.tar.gz
rspamd-d59812d5769fbecbec47fdb5a537e29aaa579372.zip
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
Diffstat (limited to 'src')
-rw-r--r--src/libserver/cfg_file.h1
-rw-r--r--src/libserver/cfg_rcl.c5
-rw-r--r--src/libserver/task.c1
m---------src/rdns0
m---------src/ucl0
5 files changed, 7 insertions, 0 deletions
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
-Subproject 44e4c9ba12d2504379443e7f7a7f94ad088a28e
+Subproject 08f7afd8f1716f1ac9ce7825f0f9bce1345bb48
diff --git a/src/ucl b/src/ucl
-Subproject bf78fc2f31981411ff3bb20fb22d11056224f1c
+Subproject e907bbbf8f60dec88c71d781931553a83ea69dd