From: Vsevolod Stakhov Date: Mon, 12 Sep 2016 11:31:43 +0000 (+0100) Subject: [Fix] Do not classify when a message has not enough tokens X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=79a294dd0d7aa88fbf6e82753ba426ca9a3ed032;p=thirdparty%2Frspamd.git [Fix] Do not classify when a message has not enough tokens Issue: #556 MFH: true --- diff --git a/src/libstat/stat_process.c b/src/libstat/stat_process.c index 00e7ded4c1..efc395ae4d 100644 --- a/src/libstat/stat_process.c +++ b/src/libstat/stat_process.c @@ -343,6 +343,27 @@ rspamd_stat_classifiers_process (struct rspamd_stat_ctx *st_ctx, cl = g_ptr_array_index (st_ctx->classifiers, i); g_assert (cl != NULL); + if (cl->cfg->min_tokens > 0 && task->tokens->len < cl->cfg->min_tokens) { + msg_debug_task ( + "<%s> contains less tokens than required for %s classifier: " + "%ud < %ud", + task->message_id, + cl->cfg->name, + task->tokens->len, + cl->cfg->min_tokens); + continue; + } + else if (cl->cfg->max_tokens > 0 && task->tokens->len > cl->cfg->max_tokens) { + msg_debug_task ( + "<%s> contains more tokens than allowed for %s classifier: " + "%ud > %ud", + task->message_id, + cl->cfg->name, + task->tokens->len, + cl->cfg->max_tokens); + continue; + } + cl->subrs->classify_func (cl, task->tokens, task); } }