From: Vsevolod Stakhov Date: Fri, 2 Aug 2019 16:42:27 +0000 (+0100) Subject: [Feature] Multimap: Also check detected charset when do filename checks X-Git-Tag: 2.0~468 X-Git-Url: https://source.dussan.org/?a=commitdiff_plain;h=99cdd89e0c466bef05ee42ab98d046e7f642f591;p=rspamd.git [Feature] Multimap: Also check detected charset when do filename checks --- diff --git a/src/plugins/lua/multimap.lua b/src/plugins/lua/multimap.lua index b87636bd0..38052f6f0 100644 --- a/src/plugins/lua/multimap.lua +++ b/src/plugins/lua/multimap.lua @@ -865,8 +865,25 @@ local function multimap_callback(task, rule) if fn then match_filename(rule, fn) end + -- Also deal with detected content type + local dtype,dsubtype = p:get_detected_type() + if not rule.skip_detected and (dtype and dsubtype) then + local detected_ct = string.format('%s/%s', dtype, dsubtype) + + if detected_ct then + local lua_mime = require "lua_mime" + + local ext = lua_mime.reversed_extensions_map[detected_ct] + + if ext then + local fake_fname = string.format('detected.%s', ext) + match_filename(rule, fake_fname) + end + end + end end end, + content = function() match_content(rule) end,