aboutsummaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorVsevolod Stakhov <vsevolod@highsecure.ru>2013-09-11 12:47:20 +0100
committerVsevolod Stakhov <vsevolod@highsecure.ru>2013-09-11 12:47:20 +0100
commit150915d96eb1f2e0fb6709276e2209b0b00a5cfe (patch)
treefe4744b3b9a23983968fc39bcbb14aec82d4711c /src
parent1084db3eb064fee4d7d44c5b09da5eced01e3820 (diff)
downloadrspamd-150915d96eb1f2e0fb6709276e2209b0b00a5cfe.tar.gz
rspamd-150915d96eb1f2e0fb6709276e2209b0b00a5cfe.zip
Correctly process skipped messages.
Diffstat (limited to 'src')
-rw-r--r--src/filter.c12
1 files changed, 4 insertions, 8 deletions
diff --git a/src/filter.c b/src/filter.c
index 44fc16a07..70857ee04 100644
--- a/src/filter.c
+++ b/src/filter.c
@@ -262,18 +262,14 @@ process_filters (struct worker_task *task)
struct metric *metric;
gpointer item = NULL;
- /* Check skip */
- if (check_skip (task->cfg->views, task)) {
- task->is_skipped = TRUE;
- task->state = WRITE_REPLY;
- msg_info ("disable check for message id <%s>, view wants spam", task->message_id);
- return 1;
- }
/* Check want spam setting */
- if (check_want_spam (task)) {
+ if (check_skip (task->cfg->views, task) || check_want_spam (task)) {
task->is_skipped = TRUE;
task->state = WRITE_REPLY;
msg_info ("disable check for message id <%s>, user wants spam", task->message_id);
+ task->s->wanna_die = TRUE;
+ check_session_pending (task->s);
+
return 1;
}