-- `rep_accepted` and `rep_rejected` could be negative
local rep_accepted_abs = math.abs(rep_accepted or 0)
local rep_rejected_abs = math.abs(rep_rejected or 0)
+ lua_util.debugm(N, task, "dkim reputation accepted: %s, dkim reputation rejected: %s",
+ rep_accepted_abs, rep_rejected_abs)
if rep_accepted_abs > 0 or rep_rejected_abs > 0 then
if rep_accepted_abs > rep_rejected_abs then
add_symbol_score(task, rule, -(rep_accepted_abs - rep_rejected_abs))
accept_adjustment and type(cfg.max_accept_adjustment) == 'number' then
local final_adjustment = cfg.max_accept_adjustment *
rspamd_util.tanh(tonumber(accept_adjustment) or 0)
- task:adjust_result('R_DKIM_ALLOW', sym_accepted.score * final_adjustment)
+ lua_util.debugm(N, task, "adjust DKIM_ALLOW: " ..
+ "cfg.max_accept_adjustment=%s accept_adjustment=%s final_adjustment=%s sym_accepted.score=%s",
+ cfg.max_accept_adjustment, accept_adjustment, final_adjustment,
+ sym_accepted.score)
+
+ task:adjust_result('R_DKIM_ALLOW', sym_accepted.score + final_adjustment)
end
local sym_rejected = (task:get_symbol('R_DKIM_REJECT') or E)[1]
reject_adjustment and type(cfg.max_reject_adjustment) == 'number' then
local final_adjustment = cfg.max_reject_adjustment *
rspamd_util.tanh(tonumber(reject_adjustment) or 0)
- task:adjust_result('R_DKIM_REJECT', sym_rejected.score * final_adjustment)
+ lua_util.debugm(N, task, "adjust DKIM_REJECT: " ..
+ "cfg.max_reject_adjustment=%s reject_adjustment=%s final_adjustment=%s sym_rejected.score=%s",
+ cfg.max_reject_adjustment, reject_adjustment, final_adjustment,
+ sym_rejected.score)
+ if final_adjustment < 0 then
+ task:adjust_result('R_DKIM_REJECT', sym_rejected.score - final_adjustment)
+ end
end
end