]> git.ipfire.org Git - thirdparty/rspamd.git/commitdiff
[Fix] Once more (#1879) fix bad extension check 1948/head
authorAlexander Moisseev <moiseev@mezonplus.ru>
Wed, 6 Dec 2017 20:23:21 +0000 (23:23 +0300)
committerAlexander Moisseev <moiseev@mezonplus.ru>
Wed, 6 Dec 2017 20:23:21 +0000 (23:23 +0300)
when next-to-last extension is a number or date, e.g. 06.12.2017.scr

src/plugins/lua/mime_types.lua

index a93b5889c9f8d040a9f533d1208dcfa250a79877..9dee24c6b1cf64383b0d3ac459b3f6012e832ff1 100644 (file)
@@ -112,23 +112,24 @@ local function check_mime_type(task)
       if #parts > 2 then
         -- We need to ensure that it is an extension, so we check for its length
         -- Check if next-to-last extension is not a number or date
-        if #ext > 4 or (ext2 and string.match(ext2, '^%d+$')) then return end
+        if #ext <= 4 and ext2 and not string.match(ext2, '^%d+$') then
 
-        -- Use the greatest badness multiplier
-        if not badness_mult or
-            (badness_mult2 and badness_mult < badness_mult2) then
-          badness_mult = badness_mult2
-        end
+          -- Use the greatest badness multiplier
+          if not badness_mult or
+              (badness_mult2 and badness_mult < badness_mult2) then
+            badness_mult = badness_mult2
+          end
 
-        -- Double extension + bad extension == VERY bad
-        task:insert_result(settings['symbol_double_extension'], badness_mult,
-          string.format(".%s.%s", ext2, ext))
-      else
-        if badness_mult then
-          -- Just bad extension
-          task:insert_result(settings['symbol_bad_extension'], badness_mult, ext)
+          -- Double extension + bad extension == VERY bad
+          task:insert_result(settings['symbol_double_extension'], badness_mult,
+            string.format(".%s.%s", ext2, ext))
+          return
         end
       end
+      if badness_mult then
+        -- Just bad extension
+        task:insert_result(settings['symbol_bad_extension'], badness_mult, ext)
+      end
     end
 
     if ext then