commit 2b70ad6: [Fix] lua_scanners - message_min_words logic

Carsten Rosenberg c.rosenberg at heinlein-support.de
Thu Aug 26 09:28:04 UTC 2021


Author: Carsten Rosenberg
Date: 2021-08-25 19:14:39 +0200
URL: https://github.com/rspamd/rspamd/commit/2b70ad6a7617845b7c2d0c9d14c4ff35528cb851 (refs/pull/3866/head)

[Fix] lua_scanners - message_min_words logic

---
 lualib/lua_scanners/common.lua | 17 ++++++++++-------
 1 file changed, 10 insertions(+), 7 deletions(-)

diff --git a/lualib/lua_scanners/common.lua b/lualib/lua_scanners/common.lua
index bbad123f5..a92d923d0 100644
--- a/lualib/lua_scanners/common.lua
+++ b/lualib/lua_scanners/common.lua
@@ -157,21 +157,24 @@ local function message_not_too_small(task, content, rule)
 end
 
 local function message_min_words(task, rule)
-  if rule.text_part_min_words then
-    local text_parts_empty = false
+  if rule.text_part_min_words and tonumber(rule.text_part_min_words) > 0 then
+    local text_part_above_limit = false
     local text_parts = task:get_text_parts()
 
     local filter_func = function(p)
-      return p:get_words_count() <= tonumber(rule.text_part_min_words)
+      return p:get_words_count() >= tonumber(rule.text_part_min_words)
     end
 
     fun.each(function(p)
-      text_parts_empty = true
-      rspamd_logger.infox(task, '%s: #words is less then text_part_min_words: %s',
-        rule.log_prefix, rule.text_part_min_words)
+      text_part_above_limit = true
     end, fun.filter(filter_func, text_parts))
 
-    return text_parts_empty
+    if not text_part_above_limit then
+      rspamd_logger.infox(task, '%s: #words in all text parts is below text_part_min_words limit: %s',
+        rule.log_prefix, rule.text_part_min_words)
+    end
+
+    return text_part_above_limit
   else
     return true
   end


More information about the Commits mailing list