diff options
author | Vsevolod Stakhov <vsevolod@rspamd.com> | 2024-08-29 15:45:10 +0100 |
---|---|---|
committer | Vsevolod Stakhov <vsevolod@rspamd.com> | 2024-08-29 15:45:10 +0100 |
commit | fb774ae9c5b0b4cb6b223764d9702630a1f70052 (patch) | |
tree | ed778afc2c2b3e039c0b3818070a2b49a1aeea9e | |
parent | 850a70f3f187c402e7ca33dc1ea59a00d42516a5 (diff) | |
download | rspamd-fb774ae9c5b0b4cb6b223764d9702630a1f70052.tar.gz rspamd-fb774ae9c5b0b4cb6b223764d9702630a1f70052.zip |
[Fix] Preserve the previous behaviour of RDNS_* checks
-rw-r--r-- | rules/misc.lua | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/rules/misc.lua b/rules/misc.lua index 8785ab4ac..4ddb00dfb 100644 --- a/rules/misc.lua +++ b/rules/misc.lua @@ -863,6 +863,9 @@ rspamd_config.COMPLETELY_EMPTY = { score = 15 } +-- Preserve compatibility +local rdns_auth_and_local_conf = lua_util.config_check_local_or_authed(rspamd_config, 'once_received', + false, false) -- Check for the hostname if it was not set local rnds_check_id = rspamd_config:register_symbol { name = 'RDNS_CHECK', @@ -899,6 +902,15 @@ local rnds_check_id = rspamd_config:register_symbol { -- TODO: settings might need to use this symbol if they depend on hostname... priority = lua_util.symbols_priorities.top - 1, description = 'Check if hostname has been resolved by MTA', + condition = function(task) + local task_ip = task:get_ip() + if ((not rdns_auth_and_local_conf[1] and task:get_user()) or + (not rdns_auth_and_local_conf[2] and task_ip and task_ip:is_local())) then + return false + end + + return true + end } rspamd_config:register_symbol { |