commit 99cdd89: [Feature] Multimap: Also check detected charset when do filename checks

Vsevolod Stakhov vsevolod at highsecure.ru
Fri Aug 2 16:49:05 UTC 2019


Author: Vsevolod Stakhov
Date: 2019-08-02 17:42:27 +0100
URL: https://github.com/rspamd/rspamd/commit/99cdd89e0c466bef05ee42ab98d046e7f642f591 (HEAD -> master)

[Feature] Multimap: Also check detected charset when do filename checks

---
 src/plugins/lua/multimap.lua | 17 +++++++++++++++++
 1 file changed, 17 insertions(+)

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,


More information about the Commits mailing list