Bläddra i källkod

Merge pull request #2717 from HeinleinSupport/master

[Minor] lua_scanners - fix again debug logging, scores in debug log
tags/1.9.0
Vsevolod Stakhov 5 år sedan
förälder
incheckning
9b5595fbbe
Inget konto är kopplat till bidragsgivarens mejladress
2 ändrade filer med 17 tillägg och 15 borttagningar
  1. 14
    12
      lualib/lua_scanners/common.lua
  2. 3
    3
      test/functional/cases/160_antivirus.robot

+ 14
- 12
lualib/lua_scanners/common.lua Visa fil

if rule.log_clean then if rule.log_clean then
rspamd_logger.infox(task, '%s: %s', rule.log_prefix, msg) rspamd_logger.infox(task, '%s: %s', rule.log_prefix, msg)
else else
lua_util.debugm(rule.module_name, task, '%s: %s', rule.log_prefix, msg)
lua_util.debugm(rule.name, task, '%s: %s', rule.log_prefix, msg)
end end


end end
return return
end end
task:insert_result(symname, symscore, vname) task:insert_result(symname, symscore, vname)
rspamd_logger.infox(task, '%s: %s found: "%s"', rule.log_prefix,
rule.detection_category, vname)
rspamd_logger.infox(task, '%s: %s found: "%s - score: %s"',
rule.log_prefix, rule.detection_category, vname, symscore)
elseif type(vname) == 'table' then elseif type(vname) == 'table' then
for _, vn in ipairs(vname) do for _, vn in ipairs(vname) do
local symname, symscore = match_patterns(rule.symbol, vn, rule.patterns, dyn_weight) local symname, symscore = match_patterns(rule.symbol, vn, rule.patterns, dyn_weight)
else else
all_whitelisted = false all_whitelisted = false
task:insert_result(symname, symscore, vn) task:insert_result(symname, symscore, vn)
rspamd_logger.infox(task, '%s: %s found: "%s"',
rule.log_prefix, rule.detection_category, vn)
rspamd_logger.infox(task, '%s: %s found: "%s - score: %s"',
rule.log_prefix, rule.detection_category, vn, symscore)
end end
end end
end end
local threat_string = rspamd_str_split(data[1], '\v') local threat_string = rspamd_str_split(data[1], '\v')
local score = data[2] or rule.default_score local score = data[2] or rule.default_score
if threat_string[1] ~= 'OK' then if threat_string[1] ~= 'OK' then
lua_util.debugm(rule.module_name, task, '%s: got cached threat result for %s: %s',
rule.log_prefix, key, threat_string[1])
lua_util.debugm(rule.name, task, '%s: got cached threat result for %s: %s - score: %s',
rule.log_prefix, key, threat_string[1], score)
yield_result(task, rule, threat_string, score) yield_result(task, rule, threat_string, score)
else else
lua_util.debugm(rule.module_name, task, '%s: got cached negative result for %s: %s',
lua_util.debugm(rule.name, task, '%s: got cached negative result for %s: %s',
rule.log_prefix, key, threat_string[1]) rule.log_prefix, key, threat_string[1])
end end
else else


local function save_av_cache(task, digest, rule, to_save, dyn_weight) local function save_av_cache(task, digest, rule, to_save, dyn_weight)
local key = digest local key = digest
if not dyn_weight then dyn_weight = 1.0 end


local function redis_set_cb(err) local function redis_set_cb(err)
-- Do nothing -- Do nothing
rspamd_logger.errx(task, 'failed to save %s cache for %s -> "%s": %s', rspamd_logger.errx(task, 'failed to save %s cache for %s -> "%s": %s',
rule.detection_category, to_save, key, err) rule.detection_category, to_save, key, err)
else else
lua_util.debugm(rule.module_name, task, '%s: saved cached result for %s: %s', rule.log_prefix, key, to_save)
lua_util.debugm(rule.name, task, '%s: saved cached result for %s: %s - score %s',
rule.log_prefix, key, to_save, dyn_weight)
end end
end end


-- check file extension and filename regex matching -- check file extension and filename regex matching
if fname ~= nil then if fname ~= nil then
ext,ext2,part_table = gen_extension(fname) ext,ext2,part_table = gen_extension(fname)
lua_util.debugm(rule.module_name, task, '%s: extension found: %s - 2.ext: %s - parts: %s',
lua_util.debugm(rule.name, task, '%s: extension found: %s - 2.ext: %s - parts: %s',
rule.log_prefix, ext, ext2, part_table) rule.log_prefix, ext, ext2, part_table)
if match_filter(task, ext, rule.mime_parts_filter_ext) if match_filter(task, ext, rule.mime_parts_filter_ext)
or match_filter(task, ext2, rule.mime_parts_filter_ext) then or match_filter(task, ext2, rule.mime_parts_filter_ext) then
lua_util.debugm(rule.module_name, task, '%s: extension matched: %s', rule.log_prefix, ext)
lua_util.debugm(rule.name, task, '%s: extension matched: %s', rule.log_prefix, ext)
extension_check = true extension_check = true
end end
if match_filter(task, fname, rule.mime_parts_filter_regex) then if match_filter(task, fname, rule.mime_parts_filter_regex) then
-- check content type regex matching -- check content type regex matching
if content_type ~= nil and content_subtype ~= nil then if content_type ~= nil and content_subtype ~= nil then
if match_filter(task, content_type..'/'..content_subtype, rule.mime_parts_filter_regex) then if match_filter(task, content_type..'/'..content_subtype, rule.mime_parts_filter_regex) then
lua_util.debugm(rule.module_name, task, '%s: regex ct: %s', rule.log_prefix,
lua_util.debugm(rule.name, task, '%s: regex ct: %s', rule.log_prefix,
content_type..'/'..content_subtype) content_type..'/'..content_subtype)
content_type_check = true content_type_check = true
end end

+ 3
- 3
test/functional/cases/160_antivirus.robot Visa fil

Run Dummy Clam ${PORT_CLAM} 1 Run Dummy Clam ${PORT_CLAM} 1
${result} = Scan Message With Rspamc ${MESSAGE2} ${result} = Scan Message With Rspamc ${MESSAGE2}
Check Rspamc ${result} CLAM_VIRUS Check Rspamc ${result} CLAM_VIRUS
Should Not Contain ${result.stdout} CLAMAV_FAIL
Should Not Contain ${result.stdout} CLAMAV_VIRUS_FAIL
Shutdown clamav Shutdown clamav


CLAMAV CACHE HIT CLAMAV CACHE HIT
${result} = Scan Message With Rspamc ${MESSAGE2} ${result} = Scan Message With Rspamc ${MESSAGE2}
Check Rspamc ${result} CLAM_VIRUS Check Rspamc ${result} CLAM_VIRUS
Should Not Contain ${result.stdout} CLAMAV_FAIL
Should Not Contain ${result.stdout} CLAMAV_VIRUS_FAIL


CLAMAV CACHE MISS CLAMAV CACHE MISS
${result} = Scan Message With Rspamc ${MESSAGE} ${result} = Scan Message With Rspamc ${MESSAGE}
Check Rspamc ${result} CLAM_VIRUS inverse=1 Check Rspamc ${result} CLAM_VIRUS inverse=1
Should Not Contain ${result.stdout} CLAMAV_FAIL
Should Not Contain ${result.stdout} CLAMAV_VIRUS_FAIL


FPROT MISS FPROT MISS
Run Dummy Fprot ${PORT_FPROT} Run Dummy Fprot ${PORT_FPROT}

Laddar…
Avbryt
Spara