From: Vsevolod Stakhov Date: Fri, 11 Oct 2019 09:03:06 +0000 (+0100) Subject: [Rules] Catch LTC addresses X-Git-Tag: 2.0~12 X-Git-Url: https://source.dussan.org/?a=commitdiff_plain;h=14c904d120fa5f4ce1feb2ce8c6c0f035c52ca61;p=rspamd.git [Rules] Catch LTC addresses --- diff --git a/rules/bitcoin.lua b/rules/bitcoin.lua index 431415d42..0b611796d 100644 --- a/rules/bitcoin.lua +++ b/rules/bitcoin.lua @@ -32,18 +32,27 @@ rspamd_config:register_symbol{ local rspamd_re = require "rspamd_regexp" local hash = require "rspamd_cryptobox_hash" - local wallet_re = rspamd_re.create_cached('^[13][1-9A-Za-z]{25,34}$') + local btc_wallet_re = rspamd_re.create_cached('^[13][1-9A-Za-z]{25,34}$') + local ltc_wallet_re = rspamd_re.create_cached('^[LM3][a-km-zA-HJ-NP-Z1-9]{26,33}$') local words_matched = {} local valid_wallets = {} for _,part in ipairs(task:get_text_parts() or {}) do - local pw = part:filter_words(wallet_re, 'raw', 3) + local pw = part:filter_words(btc_wallet_re, 'raw', 3) if pw and #pw > 0 then for _,w in ipairs(pw) do words_matched[#words_matched + 1] = w end end + + pw = part:filter_words(ltc_wallet_re, 'raw', 3) + if pw and #pw > 0 then + for _,w in ipairs(pw) do + -- Do not validate, LTC regexp is more strict than BTC one, maybe do it in future + valid_wallets[#valid_wallets + 1] = w + end + end end for _,word in ipairs(words_matched) do