Browse Source

[Fix] Lua_mime: Fix reversed extensions map

tags/2.0
Vsevolod Stakhov 4 years ago
parent
commit
bbed3920bc
2 changed files with 86 additions and 24 deletions
  1. 86
    16
      lualib/lua_mime.lua
  2. 0
    8
      src/plugins/lua/mime_types.lua

+ 86
- 16
lualib/lua_mime.lua View File

@@ -870,21 +870,91 @@ exports.full_extensions_map = {
}

-- Used to match extension by content type
exports.reversed_extensions_map = {}

if #exports.reversed_extensions_map == 0 then
-- Fill reversed extensions map
for _,pair in ipairs(exports.full_extensions_map) do
local ext, ct = pair[1], pair[2]

if type(ct) == 'table' then
for _,rct in ipairs(ct) do
exports.reversed_extensions_map[rct] = ext
end
else
exports.reversed_extensions_map[ct] = ext
end
end
end
exports.reversed_extensions_map = {
["text/html"] = "html",
["text/css"] = "css",
["text/xml"] = "xml",
["image/gif"] = "gif",
["image/jpeg"] = "jpeg",
["application/javascript"] = "js",
["application/atom+xml"] = "atom",
["application/rss+xml"] = "rss",
["application/csv"] = "csv",
["text/mathml"] = "mml",
["text/plain"] = "txt",
["text/vnd.sun.j2me.app-descriptor"] = "jad",
["text/vnd.wap.wml"] = "wml",
["text/x-component"] = "htc",
["image/png"] = "png",
["image/svg+xml"] = "svg",
["image/tiff"] = "tiff",
["image/vnd.wap.wbmp"] = "wbmp",
["image/webp"] = "webp",
["image/x-icon"] = "ico",
["image/x-jng"] = "jng",
["image/x-ms-bmp"] = "bmp",
["font/woff"] = "woff",
["font/woff2"] = "woff2",
["application/java-archive"] = "jar",
["application/json"] = "json",
["application/mac-binhex40"] = "hqx",
["application/msword"] = "doc",
["application/pdf"] = "pdf",
["application/postscript"] = "ps",
["application/rtf"] = "rtf",
["application/vnd.apple.mpegurl"] = "m3u8",
["application/vnd.google-earth.kml+xml"] = "kml",
["application/vnd.google-earth.kmz"] = "kmz",
["application/vnd.ms-excel"] = "xls",
["application/vnd.ms-fontobject"] = "eot",
["application/vnd.ms-powerpoint"] = "ppt",
["application/vnd.oasis.opendocument.graphics"] = "odg",
["application/vnd.oasis.opendocument.presentation"] = "odp",
["application/vnd.oasis.opendocument.spreadsheet"] = "ods",
["application/vnd.oasis.opendocument.text"] = "odt",
["application/vnd.openxmlformats-officedocument.presentationml.presentation"] = "pptx",
["application/vnd.openxmlformats-officedocument.spreadsheetml.sheet"] = "xlsx",
["application/vnd.openxmlformats-officedocument.wordprocessingml.document"] = "docx",
["application/x-7z-compressed"] = "7z",
["application/x-cocoa"] = "cco",
["application/x-java-archive-diff"] = "jardiff",
["application/x-java-jnlp-file"] = "jnlp",
["application/x-makeself"] = "run",
["application/x-perl"] = "pl",
["application/x-pilot"] = "pdb",
["application/x-rar-compressed"] = "rar",
["application/x-redhat-package-manager"] = "rpm",
["application/x-sea"] = "sea",
["application/x-shockwave-flash"] = "swf",
["application/x-stuffit"] = "sit",
["application/x-tcl"] = "tcl",
["application/x-x509-ca-cert"] = "crt",
["application/x-xpinstall"] = "xpi",
["application/xhtml+xml"] = "xhtml",
["application/xspf+xml"] = "xspf",
["application/zip"] = "zip",
["application/x-dosexec"] = "exe",
["application/x-msdownload"] = "exe",
["application/x-executable"] = "exe",
["text/x-msdos-batch"] = "bat",

["audio/midi"] = "mid",
["audio/mpeg"] = "mp3",
["audio/ogg"] = "ogg",
["audio/x-m4a"] = "m4a",
["audio/x-realaudio"] = "ra",
["video/3gpp"] = "3gpp",
["video/mp2t"] = "ts",
["video/mp4"] = "mp4",
["video/mpeg"] = "mpeg",
["video/quicktime"] = "mov",
["video/webm"] = "webm",
["video/x-flv"] = "flv",
["video/x-m4v"] = "m4v",
["video/x-mng"] = "mng",
["video/x-ms-asf"] = "asx",
["video/x-ms-wmv"] = "wmv",
["video/x-msvideo"] = "avi",
}

return exports

+ 0
- 8
src/plugins/lua/mime_types.lua View File

@@ -547,14 +547,6 @@ if opts then
end
end

for ext,inner_tbl in pairs(settings.extension_map) do
for _,elt in ipairs(inner_tbl) do
if not lua_mime.reversed_extensions_map[elt.ct] then
lua_mime.reversed_extensions_map[elt.ct] = ext
end
end
end

local map_type = 'map'
if settings['regexp'] then map_type = 'regexp' end
map = lua_maps.rspamd_map_add('mime_types', 'file', map_type,

Loading…
Cancel
Save