aboutsummaryrefslogtreecommitdiffstats
path: root/src/plugins
diff options
context:
space:
mode:
Diffstat (limited to 'src/plugins')
-rw-r--r--src/plugins/lua/whitelist.lua11
1 files changed, 11 insertions, 0 deletions
diff --git a/src/plugins/lua/whitelist.lua b/src/plugins/lua/whitelist.lua
index 74be5dbfe..b7718636e 100644
--- a/src/plugins/lua/whitelist.lua
+++ b/src/plugins/lua/whitelist.lua
@@ -25,6 +25,7 @@ OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
]]--
local rspamd_logger = require "rspamd_logger"
+local rspamd_url = require "rspamd_url"
local ucl = require "ucl"
require "fun" ()
@@ -40,9 +41,19 @@ local function whitelist_cb(symbol, rule, task)
local from = task:get_from(1)
if from and from[1] and from[1]['domain'] then
local domain = from[1]['domain']
+ local url_domain = rspamd_url.create('http://' .. domain)
local found = false
local mult = 1.0
+ if url_domain then
+ -- Get tld + 1 component
+ local tld = url_domain:get_tld()
+ local host = url_domain:get_host()
+
+ domain = string.match(host, string.format('[^.].%s$', tld)
+ rspamd_logger.errx(domain)
+ end
+
if rule['map'] then
local val = rule['map']:get_key(domain)
if val then