|
|
@@ -118,6 +118,11 @@ local function gen_bleach32_table(input) |
|
|
|
end |
|
|
|
|
|
|
|
local function is_segwit_bech32_address(word) |
|
|
|
local semicolon_pos = string.find(word, ':') |
|
|
|
if semicolon_pos then |
|
|
|
word = string.sub(word, semicolon_pos + 1) |
|
|
|
end |
|
|
|
|
|
|
|
local prefix = word:sub(1, 3) |
|
|
|
|
|
|
|
if prefix == 'bc1' or prefix:sub(1, 1) == '1' or prefix:sub(1, 1) == '3' then |
|
|
@@ -168,7 +173,7 @@ rspamd_config:register_symbol{ |
|
|
|
local rspamd_re = require "rspamd_regexp" |
|
|
|
|
|
|
|
local btc_wallet_re = rspamd_re.create_cached('^[13LM][1-9A-Za-z]{25,34}$') |
|
|
|
local segwit_wallet_re = rspamd_re.create_cached('^(?:bc1|[13])?[qpzry9x8gf2tvdw0s3jn54khce6mua7l]{14,}$', 'i') |
|
|
|
local segwit_wallet_re = rspamd_re.create_cached('^(?:bc1|[13]|(?:[^:]*:))?[qpzry9x8gf2tvdw0s3jn54khce6mua7l]{14,}$', 'i') |
|
|
|
local words_matched = {} |
|
|
|
local segwit_words_matched = {} |
|
|
|
local valid_wallets = {} |