aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorChristian Roessner <c@roessner-network-solutions.com>2017-10-26 12:56:41 +0200
committerChristian Roessner <c@roessner-network-solutions.com>2017-10-26 12:56:41 +0200
commit3ae6262209c01ead76e041245549fb3c47487a0a (patch)
treec5a20e67824e182e3ebe45a17b783a68ded083e7
parentd2626012b388d389188bbbafb84654294e127fb2 (diff)
downloadrspamd-3ae6262209c01ead76e041245549fb3c47487a0a.tar.gz
rspamd-3ae6262209c01ead76e041245549fb3c47487a0a.zip
[Minor] Added check_authed and check_local for spamtrap
-rw-r--r--conf/modules.d/spamtrap.conf4
-rw-r--r--src/plugins/lua/spamtrap.lua12
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,