Explorar el Código

[Fix] Disable text detection heuristics for encrypted parts

Issue: #3349
tags/2.6
Vsevolod Stakhov hace 4 años
padre
commit
a89cf52149
Se han modificado 3 ficheros con 19 adiciones y 0 borrados
  1. 13
    0
      lualib/lua_magic/heuristics.lua
  2. 5
    0
      src/libmime/content_type.c
  3. 1
    0
      src/libmime/content_type.h

+ 13
- 0
lualib/lua_magic/heuristics.lua Ver fichero

@@ -377,6 +377,19 @@ exports.text_part_heuristic = function(part, log_obj)
return true
end

local parent = part:get_parent()

if parent then
local parent_type,parent_subtype = parent:get_type()

if parent_type == 'multipart' and parent_subtype == 'encrypted' then
-- Skip text heuristics for encrypted parts
lua_util.debugm(N, log_obj, "text part check: parent is encrypted, not a text part")

return false
end
end

local content = part:get_content()
local clen = #content
local is_text

+ 5
- 0
src/libmime/content_type.c Ver fichero

@@ -709,6 +709,11 @@ rspamd_content_type_parse (const gchar *in,

if (rspamd_ftok_casecmp (&res->type, &srch) == 0) {
res->flags |= RSPAMD_CONTENT_TYPE_MULTIPART;

RSPAMD_FTOK_ASSIGN (&srch, "encrypted");
if (rspamd_ftok_casecmp (&res->subtype, &srch) == 0) {
res->flags |= RSPAMD_CONTENT_TYPE_ENCRYPTED;
}
}
else {
RSPAMD_FTOK_ASSIGN (&srch, "text");

+ 1
- 0
src/libmime/content_type.h Ver fichero

@@ -32,6 +32,7 @@ enum rspamd_content_type_flags {
RSPAMD_CONTENT_TYPE_MESSAGE = 1 << 3,
RSPAMD_CONTENT_TYPE_DSN = 1 << 4,
RSPAMD_CONTENT_TYPE_MISSING = 1 << 5,
RSPAMD_CONTENT_TYPE_ENCRYPTED = 1 << 1,
};

enum rspamd_content_param_flags {

Cargando…
Cancelar
Guardar