From c9ed268e926a7d88aa3a7713909ece88e3137d38 Mon Sep 17 00:00:00 2001 From: Vsevolod Stakhov Date: Wed, 15 Jul 2015 00:22:19 +0100 Subject: [PATCH] Rework R_PARTS_DIFFER rule. --- conf/lua/rspamd.lua | 18 +++++++++++++++++- 1 file changed, 17 insertions(+), 1 deletion(-) diff --git a/conf/lua/rspamd.lua b/conf/lua/rspamd.lua index 245f6ce6ac..b4de3835d1 100644 --- a/conf/lua/rspamd.lua +++ b/conf/lua/rspamd.lua @@ -34,6 +34,7 @@ dofile('regexp/fraud.lua') dofile('regexp/drugs.lua') local reconf = config['regexp'] +local util = require "rspamd_util" -- Uncategorized rules @@ -48,7 +49,22 @@ reconf['R_WHITE_ON_WHITE'] = string.format('(!(%s) & (%s))', r_bgcolor, r_font_c reconf['R_FLASH_REDIR_IMGSHACK'] = '/^(?:http:\\/\\/)?img\\d{1,5}\\.imageshack\\.us\\/\\S+\\.swf/U' -- Different text parts -reconf['R_PARTS_DIFFER'] = 'compare_parts_distance(50)'; +reconf['R_PARTS_DIFFER'] = function(task) + local distance = task:get_mempool():get_variable('parts_distance', 'int') + + if distance then + print(distance) + local nd = tonumber(distance) + + if nd < 50 then + local score = 1 - util.tanh(nd / 100.0) + + task:insert_result('R_PARTS_DIFFER', score, tostring(nd) .. '%') + end + end + + return false +end rspamd_config.R_EMPTY_IMAGE = function (task) parts = task:get_text_parts() -- 2.47.3