diff options
author | Christian Roessner <c@roessner-network-solutions.com> | 2017-10-26 12:56:41 +0200 |
---|---|---|
committer | Christian Roessner <c@roessner-network-solutions.com> | 2017-10-26 12:56:41 +0200 |
commit | 3ae6262209c01ead76e041245549fb3c47487a0a (patch) | |
tree | c5a20e67824e182e3ebe45a17b783a68ded083e7 | |
parent | d2626012b388d389188bbbafb84654294e127fb2 (diff) | |
download | rspamd-3ae6262209c01ead76e041245549fb3c47487a0a.tar.gz rspamd-3ae6262209c01ead76e041245549fb3c47487a0a.zip |
[Minor] Added check_authed and check_local for spamtrap
-rw-r--r-- | conf/modules.d/spamtrap.conf | 4 | ||||
-rw-r--r-- | src/plugins/lua/spamtrap.lua | 12 |
2 files changed, 15 insertions, 1 deletions
diff --git a/conf/modules.d/spamtrap.conf b/conf/modules.d/spamtrap.conf index e6b676a5d..07c28f9c5 100644 --- a/conf/modules.d/spamtrap.conf +++ b/conf/modules.d/spamtrap.conf @@ -40,6 +40,10 @@ spamtrap { #fuzy_weight = 10; # Redis key prefix #key_prefix = 'sptr_'; + # Skip spamtrap checks for authorized users + #check_authed = false; + # Skip spamtrap checks for local networks + #check_local = false; # !!! Disabled by default !!! enabled = false; diff --git a/src/plugins/lua/spamtrap.lua b/src/plugins/lua/spamtrap.lua index 33805b592..af2523187 100644 --- a/src/plugins/lua/spamtrap.lua +++ b/src/plugins/lua/spamtrap.lua @@ -29,14 +29,24 @@ local settings = { learn_spam = false, fuzzy_flag = 1, fuzzy_weight = 10.0, - key_prefix = 'sptr_' + key_prefix = 'sptr_', + check_authed = true, + check_local = true } local function spamtrap_cb(task) local rcpts = task:get_recipients('smtp') + local authed_user = task:get_user() + local ip_addr = task:get_ip() local called_for_domain = false local target + if ((not settings['check_authed'] and authed_user) or + (not settings['check_local'] and ip_addr and ip_addr:is_local())) then + rspamd_logger.infox(task, "skip spamtrap checks for local networks or authenticated user"); + return + end + local function do_action(rcpt) if settings['learn_fuzzy'] then rspamd_plugins.fuzzy_check.learn(task, |