From: Vsevolod Stakhov Date: Fri, 13 Oct 2017 18:15:22 +0000 (+0100) Subject: [Fix] Fix processing of idempotent rules when autolearn fails X-Git-Tag: 1.7.0~560 X-Git-Url: https://source.dussan.org/?a=commitdiff_plain;h=a7a8f2c9187288e7cedd48c8faa9cf5773bfc90b;p=rspamd.git [Fix] Fix processing of idempotent rules when autolearn fails Issue: #1846 --- diff --git a/src/libserver/task.c b/src/libserver/task.c index 4aa2e21ad..04ce2b759 100644 --- a/src/libserver/task.c +++ b/src/libserver/task.c @@ -768,12 +768,18 @@ rspamd_task_process (struct rspamd_task *task, guint stages) if (!(task->flags & RSPAMD_TASK_FLAG_LEARN_AUTO)) { task->err = stat_error; + task->processed_stages |= RSPAMD_TASK_STAGE_DONE; } - else if (stat_error) { - g_error_free (stat_error); - } + else { + /* Do not skip idempotent in case of learn error */ + if (stat_error) { + g_error_free (stat_error); + } - task->processed_stages |= RSPAMD_TASK_STAGE_DONE; + task->processed_stages |= RSPAMD_TASK_STAGE_LEARN| + RSPAMD_TASK_STAGE_LEARN_PRE| + RSPAMD_TASK_STAGE_LEARN_POST; + } } } }