commit 076ca2c: [Feature] rbl: support checking numeric URLs in isolation
Andrew Lewis
nerf at judo.za.org
Tue Sep 12 13:49:03 UTC 2023
Author: Andrew Lewis
Date: 2023-09-11 11:13:47 +0200
URL: https://github.com/rspamd/rspamd/commit/076ca2c763876307b45980a52db420af96fff629 (refs/pull/4596/head)
[Feature] rbl: support checking numeric URLs in isolation
---
lualib/plugins/rbl.lua | 3 ++-
src/plugins/lua/rbl.lua | 5 ++++-
test/functional/cases/001_merged/300_rbl.robot | 5 +++++
test/functional/configs/merged-local.conf | 5 +++++
test/functional/configs/merged-override.conf | 4 ++++
test/functional/messages/numeric_urls.eml | 3 +++
6 files changed, 23 insertions(+), 2 deletions(-)
diff --git a/lualib/plugins/rbl.lua b/lualib/plugins/rbl.lua
index bff53f9ba..02d0d3338 100644
--- a/lualib/plugins/rbl.lua
+++ b/lualib/plugins/rbl.lua
@@ -30,6 +30,7 @@ local check_types = {
},
urls = {},
content_urls = {},
+ numeric_urls = {},
emails = {},
replyto = {},
dkim = {},
@@ -212,4 +213,4 @@ return {
rule_schema = ts.shape(rule_schema_tbl),
default_options = default_options,
convert_checks = convert_checks,
-}
\ No newline at end of file
+}
diff --git a/src/plugins/lua/rbl.lua b/src/plugins/lua/rbl.lua
index 6dce0e0f1..c5cdbef1c 100644
--- a/src/plugins/lua/rbl.lua
+++ b/src/plugins/lua/rbl.lua
@@ -572,6 +572,9 @@ local function gen_rbl_callback(rule)
if rule.images then
table.insert(ex_params.flags, 'image')
end
+ if rule.numeric_urls then
+ table.insert(ex_params.flags, 'numeric')
+ end
end
local urls = lua_util.extract_specific_urls(ex_params)
@@ -805,7 +808,7 @@ local function gen_rbl_callback(rule)
description[#description + 1] = 'replyto'
end
- if rule.urls or rule.content_urls or rule.images then
+ if rule.urls or rule.content_urls or rule.images or rule.numeric_urls then
pipeline[#pipeline + 1] = check_urls
description[#description + 1] = 'urls'
end
diff --git a/test/functional/cases/001_merged/300_rbl.robot b/test/functional/cases/001_merged/300_rbl.robot
index 094eec409..c0e7fde95 100644
--- a/test/functional/cases/001_merged/300_rbl.robot
+++ b/test/functional/cases/001_merged/300_rbl.robot
@@ -75,3 +75,8 @@ SELECTORS COMBINED
... Settings={symbols_enabled = [RBL_SELECTOR_MULTIPLE]}
Expect Symbol With Option RBL_SELECTOR_MULTIPLE example.org:sel_from
Expect Symbol With Option RBL_SELECTOR_MULTIPLE example.org:sel_helo
+
+NUMERIC URLS
+ Scan File ${RSPAMD_TESTDIR}/messages/numeric_urls.eml
+ ... Settings={symbols_enabled = [URIBL_NUMERIC]}
+ Expect Symbol With Exact Options URIBL_NUMERIC 4.3.2.1:url
diff --git a/test/functional/configs/merged-local.conf b/test/functional/configs/merged-local.conf
index 27738dd5e..82d609730 100644
--- a/test/functional/configs/merged-local.conf
+++ b/test/functional/configs/merged-local.conf
@@ -875,6 +875,11 @@ options = {
type = a;
replies = ["127.0.0.2"];
},
+ {
+ name = "4.3.2.1.test9.uribl";
+ type = a;
+ replies = ["127.0.0.2"];
+ },
{
name = "8.8.8.8.test9.uribl";
type = a;
diff --git a/test/functional/configs/merged-override.conf b/test/functional/configs/merged-override.conf
index 74d9b441f..04b879db6 100644
--- a/test/functional/configs/merged-override.conf
+++ b/test/functional/configs/merged-override.conf
@@ -298,6 +298,10 @@ rbl {
RSPAMD_EMAILBL = "127.0.0.2";
}
}
+ URIBL_NUMERIC {
+ checks = ["numeric_urls"];
+ rbl = "test9.uribl";
+ }
URIBL_NOCONTENT {
rbl = "test9.uribl";
ignore_defaults = true;
diff --git a/test/functional/messages/numeric_urls.eml b/test/functional/messages/numeric_urls.eml
new file mode 100644
index 000000000..139a52c66
--- /dev/null
+++ b/test/functional/messages/numeric_urls.eml
@@ -0,0 +1,3 @@
+Content-type: text/plain
+
+numeric http://1.2.3.4 and not http://example.org ok
More information about the Commits
mailing list