From: Vsevolod Stakhov Date: Tue, 3 Jul 2018 17:49:14 +0000 (+0100) Subject: [Minor] Initial implementation of fuzzy hashes extraction tool X-Git-Tag: 1.7.8~48 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=09ec061b6028754b6fe5ca74619780355b30ccfd;p=thirdparty%2Frspamd.git [Minor] Initial implementation of fuzzy hashes extraction tool --- diff --git a/lualib/rspamadm/mime.lua b/lualib/rspamadm/mime.lua index 2cdec15139..f31fe29f1a 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