diff options
Diffstat (limited to 'src/plugins')
-rw-r--r-- | src/plugins/lua/forged_recipients.lua | 2 | ||||
-rw-r--r-- | src/plugins/lua/multimap.lua | 8 | ||||
-rw-r--r-- | src/plugins/lua/ratelimit.lua | 2 |
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 |