From 6cf9ca1f978c3da18917e745268e5f01091ac55b Mon Sep 17 00:00:00 2001 From: Vsevolod Stakhov Date: Fri, 19 Apr 2024 14:06:05 +0100 Subject: [PATCH] [Fix] If we have one statfile disabled we need to disable all --- src/libstat/stat_process.c | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/src/libstat/stat_process.c b/src/libstat/stat_process.c index 7f62d4e2a..33b7053f8 100644 --- a/src/libstat/stat_process.c +++ b/src/libstat/stat_process.c @@ -329,6 +329,18 @@ rspamd_stat_preprocess(struct rspamd_stat_ctx *st_ctx, g_ptr_array_index(task->stat_runtimes, i) = NULL; msg_debug_bayes("symbol %s is disabled, skip classification", st->stcf->symbol); + /* We need to disable the whole classifier for this! */ + struct rspamd_classifier *cl = st->classifier; + for (int j = 0; j < st_ctx->statfiles->len; j++) { + struct rspamd_statfile *nst = g_ptr_array_index(st_ctx->statfiles, j); + + if (st != nst && nst->classifier == cl) { + g_ptr_array_index(task->stat_runtimes, j) = NULL; + msg_debug_bayes("symbol %s is disabled, skip classification for %s as well", + st->stcf->symbol, nst->stcf->symbol); + } + } + continue; } -- 2.39.5