]> source.dussan.org Git - rspamd.git/commitdiff
[Rules] Catch LTC addresses
authorVsevolod Stakhov <vsevolod@highsecure.ru>
Fri, 11 Oct 2019 09:03:06 +0000 (10:03 +0100)
committerVsevolod Stakhov <vsevolod@highsecure.ru>
Fri, 11 Oct 2019 09:03:06 +0000 (10:03 +0100)
rules/bitcoin.lua

index 431415d42aabfea1103e7ae4165f5e0ee7508b3d..0b611796d0f3705794f71fada9e979b9b82203f6 100644 (file)
@@ -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