aboutsummaryrefslogtreecommitdiffstats
path: root/rules
diff options
context:
space:
mode:
authorAndrew Lewis <nerf@judo.za.org>2021-06-23 11:26:40 +0200
committerAndrew Lewis <nerf@judo.za.org>2021-06-23 11:26:40 +0200
commit8d22202dc96475a497dfb68279e61d349314c340 (patch)
tree996dce5624ee491f56043a1c390d36d316d09295 /rules
parente498305676c6975a12afdb4216697248f5eb3456 (diff)
downloadrspamd-8d22202dc96475a497dfb68279e61d349314c340.tar.gz
rspamd-8d22202dc96475a497dfb68279e61d349314c340.zip
[Fix] Fix an edge case in BITCOIN_ADDR rule
- when using PCRE - and different address types are present
Diffstat (limited to 'rules')
-rw-r--r--rules/bitcoin.lua5
1 files changed, 3 insertions, 2 deletions
diff --git a/rules/bitcoin.lua b/rules/bitcoin.lua
index 56969536c..3cf97fcbe 100644
--- a/rules/bitcoin.lua
+++ b/rules/bitcoin.lua
@@ -180,7 +180,8 @@ local btc_bleach_re = [[/\b(?:(?:[a-zA-Z]\w+:)|(?:bc1))?[qpzry9x8gf2tvdw0s3jn54k
config.regexp['BITCOIN_ADDR'] = {
description = 'Message has a valid bitcoin wallet address',
- re = string.format('(%s) || (%s)', normal_wallet_re, btc_bleach_re),
+ -- Use + operator to ensure that each expression is always evaluated
+ re = string.format('(%s) + (%s) > 0', normal_wallet_re, btc_bleach_re),
re_conditions = {
[normal_wallet_re] = function(task, txt, s, e)
if e - s <= 2 then
@@ -228,4 +229,4 @@ config.regexp['BITCOIN_ADDR'] = {
score = 0.0,
one_shot = true,
group = 'scams',
-} \ No newline at end of file
+}