From 09ec061b6028754b6fe5ca74619780355b30ccfd Mon Sep 17 00:00:00 2001 From: Vsevolod Stakhov Date: Tue, 3 Jul 2018 18:49:14 +0100 Subject: [PATCH] [Minor] Initial implementation of fuzzy hashes extraction tool --- lualib/rspamadm/mime.lua | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/lualib/rspamadm/mime.lua b/lualib/rspamadm/mime.lua index 2cdec1513..f31fe29f1 100644 --- a/lualib/rspamadm/mime.lua +++ b/lualib/rspamadm/mime.lua @@ -317,6 +317,22 @@ local function stat_handler(opts) e.t2 or "", table.concat(fun.totable( fun.map(function(k) return k end, e.flags)), ",")) end + elseif opts.fuzzy then + local parts = task:get_parts() or {} + out_elts[fname] = {} + process_func = function(e) + return string.format('part: %s(%s): %s', e.type, e.file or "", e.digest) + end + for _,part in ipairs(parts) do + if not part:is_multipart() then + table.insert(out_elts[fname], { + digest = part:get_digest(), + file = part:get_filename(), + type = string.format('%s/%s', part:get_type()) + }) + + end + end end task:destroy() -- No automatic dtor -- 2.39.5