Browse Source

[Feature] Rbl: Add ability to check urls

tags/2.0
Vsevolod Stakhov 4 years ago
parent
commit
d7d8e467a0
1 changed files with 28 additions and 0 deletions
  1. 28
    0
      src/plugins/lua/rbl.lua

+ 28
- 0
src/plugins/lua/rbl.lua View File

@@ -425,6 +425,29 @@ local function gen_rbl_callback(rule)
return true
end

local function check_urls(task, requests_table)
local ex_params = {
task = task,
limit = rule.requests_limit,
ignore_redirected = true,
ignore_ip = rule.no_ip,
need_emails = false,
esld_limit = 1,
prefix = 'rbl_url'
}

local urls = lua_util.extract_specific_urls(ex_params)
if not urls or #urls == 0 then
return false
end

for _,u in ipairs(urls) do
add_dns_request(task, u:get_tld(), false, false, requests_table)
end

return true
end

local function check_from(task, requests_table)
local ip = task:get_from_ip()

@@ -502,6 +525,10 @@ local function gen_rbl_callback(rule)
pipeline[#pipeline + 1] = check_emails
end

if rule.urls then
pipeline[#pipeline + 1] = check_urls
end

if rule.from then
pipeline[#pipeline + 1] = check_from
end
@@ -766,6 +793,7 @@ local default_options = {
['default_is_whitelist'] = false,
['default_ignore_whitelist'] = false,
['default_resolve_ip'] = false,
['default_no_ip'] = false,
}

opts = lua_util.override_defaults(default_options, opts)

Loading…
Cancel
Save