if header then
local _,_,info = header:find("; (.-)$")
-
if (result == 'R') then
-- Reject
common.yield_result(task, rule, info, rule.default_score)
rspamd_logger.warnx(task, 'DCC returned a temporary failure result: %s', result)
dcc_requery()
elseif result == 'A' then
- if rule.log_clean then
- rspamd_logger.infox(task, '%s: clean, returned result A - info: %s',
- rule.log_prefix, info)
- else
- lua_util.debugm(rule.module_name, task, '%s: returned result A - info: %s',
- rule.log_prefix, info)
local opts = {}
local score = 0.0
score,
opts)
common.save_av_cache(task, digest, rule, opts, score)
+ else
+ common.save_av_cache(task, digest, rule, 'OK')
+ if rule.log_clean then
+ rspamd_logger.infox(task, '%s: clean, returned result A - info: %s',
+ rule.log_prefix, info)
+ else
+ lua_util.debugm(rule.module_name, task, '%s: returned result A - info: %s',
+ rule.log_prefix, info)
end
end
elseif result == 'G' then
-- do nothing
+ common.save_av_cache(task, digest, rule, 'OK')
if rule.log_clean then
rspamd_logger.infox(task, '%s: clean, returned result G - info: %s', rule.log_prefix, info)
else
end
elseif result == 'S' then
-- do nothing
+ common.save_av_cache(task, digest, rule, 'OK')
if rule.log_clean then
rspamd_logger.infox(task, '%s: clean, returned result S - info: %s', rule.log_prefix, info)
else
})
end
if common.need_av_check(task, content, rule) then
- dcc_check_uncached()
+ if common.check_av_cache(task, digest, rule, dcc_check_uncached) then
+ return
+ else
+ dcc_check_uncached()
+ end
end
end