From 99cc1fcb693f0c08f48776bdc8ba76fc91856737 Mon Sep 17 00:00:00 2001 From: Vsevolod Stakhov Date: Tue, 24 Sep 2019 15:43:04 +0100 Subject: [PATCH] [Project] Lua_magic: Add images patterns --- lualib/lua_magic/heuristics.lua | 9 -------- lualib/lua_magic/patterns.lua | 41 +++++++++++++++++++++++++++++++++ 2 files changed, 41 insertions(+), 9 deletions(-) diff --git a/lualib/lua_magic/heuristics.lua b/lualib/lua_magic/heuristics.lua index 700932051..fb105932a 100644 --- a/lualib/lua_magic/heuristics.lua +++ b/lualib/lua_magic/heuristics.lua @@ -303,15 +303,6 @@ local function detect_archive_flaw(part, arch, log_obj) end exports.mime_part_heuristic = function(part, log_obj) - - if part:is_image() then - local img = part:get_image() - local img_type = img:get_type():lower() - - if img_type == 'jpeg' then img_type = 'jpg' end - return img_type,60 - end - if part:is_archive() then local arch = part:get_archive() return detect_archive_flaw(part, arch, log_obj) diff --git a/lualib/lua_magic/patterns.lua b/lualib/lua_magic/patterns.lua index d9604b714..8d90a45ef 100644 --- a/lualib/lua_magic/patterns.lua +++ b/lualib/lua_magic/patterns.lua @@ -380,6 +380,47 @@ local patterns = { } } }, + jpg = { + matches = { + { -- JPEG2000 + hex = [[0000000c6a5020200d0a870a]], + relative_position = 0, + weight = 60, + }, + { + string = [[^\x{ff}\x{d8}\x{ff}(?:[\x{e0}\x{e1}])]], + weight = 60, + position = 4, + }, + }, + }, + png = { + matches = { + { + string = [[^\x{89}PNG\x{0d}\x{0a}\x{1a}\x{0a}]], + position = 8, + weight = 60, + }, + } + }, + gif = { + matches = { + { + string = [[^GIF8\d]], + position = 5, + weight = 60, + }, + } + }, + bmp = { + matches = { + { + string = [[^BM...\x{00}\x{00}\x{00}\x{00}]], + position = 9, + weight = 60, + }, + } + }, } return patterns \ No newline at end of file -- 2.39.5