aboutsummaryrefslogtreecommitdiffstats
path: root/src/plugins
diff options
context:
space:
mode:
Diffstat (limited to 'src/plugins')
-rw-r--r--src/plugins/lua/forged_recipients.lua2
-rw-r--r--src/plugins/lua/multimap.lua8
-rw-r--r--src/plugins/lua/ratelimit.lua2
3 files changed, 7 insertions, 5 deletions
diff --git a/src/plugins/lua/forged_recipients.lua b/src/plugins/lua/forged_recipients.lua
index 6c553aa04..e5a6c738c 100644
--- a/src/plugins/lua/forged_recipients.lua
+++ b/src/plugins/lua/forged_recipients.lua
@@ -63,7 +63,7 @@ local function check_forged_headers(task)
end
-- Check sender
local smtp_from = task:get_from(1)
- if smtp_from and smtp_from[1] then
+ if smtp_from and smtp_from[1] and smtp_from[1]['addr'] ~= '' then
local mime_from = task:get_from(2)
if not mime_from or not mime_from[1] or
not (string.lower(mime_from[1]['addr']) == string.lower(smtp_from[1]['addr'])) then
diff --git a/src/plugins/lua/multimap.lua b/src/plugins/lua/multimap.lua
index 756996ede..2ba14c653 100644
--- a/src/plugins/lua/multimap.lua
+++ b/src/plugins/lua/multimap.lua
@@ -78,10 +78,12 @@ local function check_multimap(task)
if fields then
_.each(function(e)
local match = e[fields[1]]
- if fields[2] then
- match = fields[2](match)
+ if match then
+ if fields[2] then
+ match = fields[2](match)
+ end
+ ret = match_rule(r, match)
end
- ret = match_rule(r, match)
end, ls)
else
_.each(function(e) ret = match_rule(r, e) end, ls)
diff --git a/src/plugins/lua/ratelimit.lua b/src/plugins/lua/ratelimit.lua
index afc8eda0f..1c1dc4dd6 100644
--- a/src/plugins/lua/ratelimit.lua
+++ b/src/plugins/lua/ratelimit.lua
@@ -242,7 +242,7 @@ local function rate_test_set(task, func)
local from = task:get_from()
local from_user = '<>'
local from_addr = '<>'
- if from then
+ if from and from[1]['addr'] then
from_user = from[1]['user']
from_addr = from[1]['addr']
end