From ac77a153fea7cfc809ce6a546f2eb4fccf3cbd53 Mon Sep 17 00:00:00 2001 From: Vsevolod Stakhov Date: Thu, 29 Sep 2016 21:39:35 +0100 Subject: [PATCH] [Minor] Do not override high priority settings with low prio ones Issue: #981 Reported by: @moisseev --- src/plugins/lua/settings.lua | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/src/plugins/lua/settings.lua b/src/plugins/lua/settings.lua index c9c7eeeba0..bf403d5bd1 100644 --- a/src/plugins/lua/settings.lua +++ b/src/plugins/lua/settings.lua @@ -270,8 +270,10 @@ local function check_settings(task) end end -- Match rules according their order + local applied = false + for pri = max_pri,1,-1 do - if settings[pri] then + if not applied and settings[pri] then for name, r in pairs(settings[pri]) do local rule = check_specific_setting(name, r, ip, client_ip, from, rcpt, user, uname) if rule then @@ -279,6 +281,7 @@ local function check_settings(task) task:get_message_id(), name) if rule['apply'] then task:set_settings(rule['apply']) + applied = true end if rule['symbols'] then -- Add symbols, specified in the settings -- 2.47.3