]> git.ipfire.org Git - thirdparty/rspamd.git/commitdiff
[Fix] Fix processing of symbols when reject limit is reached
authorVsevolod Stakhov <vsevolod@highsecure.ru>
Tue, 30 Aug 2016 11:46:42 +0000 (12:46 +0100)
committerVsevolod Stakhov <vsevolod@highsecure.ru>
Wed, 31 Aug 2016 11:10:45 +0000 (12:10 +0100)
src/libserver/symbols_cache.c

index c69a593837748fc7af42371a15da749d33c921d9..ffd8597993467fb57bc0e153dc117f159c87d593 100644 (file)
@@ -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)) {