From: Vsevolod Stakhov Date: Tue, 30 Aug 2016 11:46:42 +0000 (+0100) Subject: [Fix] Fix processing of symbols when reject limit is reached X-Git-Tag: 1.3.5~16 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=9fe2ad93f179544b17a95a3e2e7ff8da954eee80;p=thirdparty%2Frspamd.git [Fix] Fix processing of symbols when reject limit is reached --- diff --git a/src/libserver/symbols_cache.c b/src/libserver/symbols_cache.c index c69a593837..ffd8597993 100644 --- a/src/libserver/symbols_cache.c +++ b/src/libserver/symbols_cache.c @@ -1550,16 +1550,18 @@ rspamd_symbols_cache_process_symbols (struct rspamd_task * task, * we just save it for another pass */ for (i = 0; i < (gint)checkpoint->version; i ++) { - if (rspamd_symbols_cache_metric_limit (task, checkpoint)) { - msg_info_task ("<%s> has already scored more than %.2f, so do " - "not " - "plan any more checks", task->message_id, - checkpoint->rs->score); - return TRUE; - } - item = g_ptr_array_index (checkpoint->order->d, i); + if (!(item->type & SYMBOL_TYPE_FINE)) { + if (rspamd_symbols_cache_metric_limit (task, checkpoint)) { + msg_info_task ("<%s> has already scored more than %.2f, so do " + "not " + "plan more checks", task->message_id, + checkpoint->rs->score); + continue; + } + } + if (!isset (checkpoint->processed_bits, item->id * 2)) { if (!rspamd_symbols_cache_check_deps (task, cache, item, checkpoint, 0)) {