From 8d31adb5cb9f6d908c345fb08a04826526589f91 Mon Sep 17 00:00:00 2001 From: Vsevolod Stakhov Date: Fri, 11 Oct 2019 17:56:09 +0100 Subject: [PATCH] Release 2.0 * [Conf] Add BROKEN_HEADERS_MAILLIST composite * [Conf] Add path to greylist-whitelist-domains.inc * [Conf] Clarify documentation in the config files * [Conf] Introduce maps.d directories * [Conf] Log settings id by default * [Conf] Make LEAKED_PASSWORD_SCAM a composite rule again * [Conf] Move all surbl/emails rules to rbl * [Conf] Register new Spamhaus codes * [Conf] Remove configs for deleted modules * [Conf] Remove surbl parts, fix hash_format attribute * [Conf] Show autolearn sample * [Conf] Slashing: Change default stats backend to Redis * [Conf] Surbl: Utilise new `check_emails` option * [Conf] Update header * [Conf] Use multi-prefixes RBLs in the default config * [CritFix] Deal with case-sensivity in Content-Disposition parser * [CritFix] Eliminate old endpoint * [CritFix] Fix case sensivity when parsing Content-Type * [CritFix] Fix loading of DKIM public keys * [CritFix] Fix procesing of urls * [CritFix] Fix whitelisting when both spf and dkim are required to be valid * [CritFix] Langdet: Fix language detection where no stop words found * [Feature] Add description to the groups * [Feature] Add limit for number of URLs in Lua * [Feature] Add logging of groups to the log_format * [Feature] Add lua_smtp library * [Feature] Add maps cache and type refinement * [Feature] Add p0f scanner * [Feature] Adopt emails module to use lua_maps * [Feature] Allow options matching in composites * [Feature] Allow selectors in rbl module * [Feature] Allow to output group results * [Feature] Asn: Allow to use bgpdump when NET::MRT is broken * [Feature] Calculate tokens occurrences distribution * [Feature] Clickhouse: Add authenticated user and settings id columns * [Feature] Clickhouse: Store groups data * [Feature] Clickhouse: Utilise LowCardinality feature * [Feature] Implement Redis prefixes registration logic * [Feature] Implement settings id propagation between deps * [Feature] Improve AV results caching * [Feature] Improve autolearning * [Feature] Improve logging locking logic (remove it actually) * [Feature] Improve settings processing * [Feature] Langdet: Limit number of stop words to be checked * [Feature] Libucl: Allow to sort keys in ucl objects * [Feature] Lua_config: Extend get symbols method * [Feature] Lua_maps: Allow static maps for key-value pairs * [Feature] Lua_mimepart: Add function filter_words * [Feature] Lua_selectors: Add `words` selector * [Feature] Lua_selectors: Add sort and uniq transform functions * [Feature] Lua_selectors: Allow table arguments for selectors * [Feature] Lua_tcp: Add preliminary support of SSL connections * [Feature] Lua_trie: More flexible API * [Feature] Lua_util: Add filter_specific_url function * [Feature] Lua_util: table_digest can now recursively traverse tables * [Feature] Maillist: Improve detection * [Feature] Maps: Allow caching for complex maps * [Feature] Monitored: Support random lookups * [Feature] Multimap: Add combined maps prototype * [Feature] Multimap: Add dependend maps via redis keys selectors * [Feature] Multimap: Allow multiple email addresses matches * [Feature] Multimap: Also check detected charset when do filename checks * [Feature] Output number of messages processed to proctitle * [Feature] Perform clean SSL shutdown * [Feature] Performance: Do not use base64 SIMD version for bad inputs * [Feature] RBL: Support bit results in replies * [Feature] RBL: Support type specific prefixes * [Feature] Ratelimit: Consider number of SMTP recipients * [Feature] Rbl: Add ability to check urls * [Feature] Rbl: Add resolve_ip based RBLs * [Feature] Rbl: Make config checks much more strict * [Feature] Rbl: Support per-rule whitelists * [Feature] Rbl: Support process script * [Feature] Rbl: Support replyto addresses * [Feature] SURBL: Allow to check email domains * [Feature] Selectors: Add `list` generator * [Feature] Selectors: Add `specific_urls` extractor * [Feature] Selectors: Add flatten function * [Feature] Selectors: Support filter_map and apply_map functions * [Feature] Store Clickhouse data outside of lua alloc * [Feature] Support caching for encrypted files and macros * [Feature] Support images when extracting urls * [Feature] Support more hyperscan flags * [Feature] Support protocol flags * [Feature] URL: Apply stringprep to hostnames to filter garbage * [Feature] Upstreams: Add lazy resolving logic to all upstreams * [Feature] Upstreams: Set noresolve flag on numeric upstreams * [Feature] Use `scores` in apply section * [Feature] Use maps logic from lua_maps for multimap * [Feature] Use random monitored in rbl module * [Feature] lua_scanners - add Razor support * [Fix] Add another safe-guard in urls processing * [Fix] Add debug to ssl, fixed write hangs * [Fix] Add missing groups to C callback symbols * [Fix] Add more checks for ghosts symbols * [Fix] Allow to enable or add new actions via settings * [Fix] Allow to set 0 size for spf/dkim caches * [Fix] Another bunch of fixes towards protocol mess * [Fix] Another fix to deal with bad URLs * [Fix] Arc: Another bunch of fixes for arc signing * [Fix] Arc: More arc signing fixes * [Fix] Avoid another overflow in fpconv * [Fix] Clickhouse: Fix quoting * [Fix] Clickhouse: Fix retention query quoting * [Fix] Distinguish empty and non-empty prefilters * [Fix] Distinguish remote and local addrs parsing * [Fix] Do not assert if length of sig is bad, just fail verification * [Fix] Do not assert if we have broken mime boundary in the headers * [Fix] Do not call implicit strlen to avoid issues * [Fix] Do not count images urls when checking url regexps for compatibility * [Fix] Do not output rbl suffix in symbol option * [Fix] Do not use config pool to avoid issues with double reload * [Fix] Do not use ephemeral string * [Fix] Do not use lightuserdata for traceback * [Fix] Do not use priority in metric registration * [Fix] Emails: Check email sanity before testing on BL * [Fix] Emails: Fix misprint in key name * [Fix] Escape utf in regexp to dodge ragel/hyperscan issue * [Fix] Extend task_timeout to postfilters stage * [Fix] Fix ARC signing after fixing another bug in it... * [Fix] Fix AV scan logic * [Fix] Fix DMARC_NA behaviour in case of no valid policies * [Fix] Fix LRU hash iteration logic * [Fix] Fix alignment mess * [Fix] Fix configuring symbols without scores * [Fix] Fix disabling of the actions * [Fix] Fix dkim signing exceptions * [Fix] Fix embedded images linking logic * [Fix] Fix events leak * [Fix] Fix eviction corner case * [Fix] Fix fuzzy image score calculation #2962 * [Fix] Fix hang in fuzzy_learn when explicit rotation is set * [Fix] Fix headers propagation logic * [Fix] Fix hearbeats restart issue * [Fix] Fix history reset * [Fix] Fix log parameter * [Fix] Fix lua_ip_equal logic * [Fix] Fix more issues with nested messages + tests * [Fix] Fix normalization of non-alphabet based languages * [Fix] Fix offsets when parsing message/rfc822 in multipart * [Fix] Fix options in rbl symbols * [Fix] Fix out of bound access in lua logger * [Fix] Fix out-of-bound read in qp decode * [Fix] Fix parent CTE propagation * [Fix] Fix parsing of the received headers with empty part * [Fix] Fix pending checks for events * [Fix] Fix printing of NULL pointer with fixed length * [Fix] Fix race condition in watcher handler * [Fix] Fix read-after-end in quoted printable decoding * [Fix] Fix redis sentinel support * [Fix] Fix registry leak in case of DNS errors * [Fix] Fix reload logic * [Fix] Fix sending of large entries via HTTPS * [Fix] Fix settings reload * [Fix] Fix some more corner cases for fpconv * [Fix] Fix trie code when there are regexps and Hyperscan is absent * [Fix] Further fixes to printing of the FP numbers * [Fix] Fuzzy_check: Fix timeouts * [Fix] Grrr, fix empty ip case * [Fix] Html: Fix processing of fjlig entity * [Fix] Lang_det: Try better to distinguish Chinese and Japanese * [Fix] Lua_mime: Fix reversed extensions map * [Fix] Lua_task: Fix message-less API * [Fix] Lua_tcp: Report connection failures * [Fix] Lua_tcp: Various fixes and debugging improvements * [Fix] Metadata_exporter: This plugin is idempotent not a postfilter * [Fix] More fixes to extract_specific_urls * [Fix] More stages fixes * [Fix] Neural: Another bunch of fixes * [Fix] Neural: use version in ANN key profile * [Fix] Postpone lua state destruction to allow lua dtors to be used * [Fix] Prefer surbl/emails rule on rbl to preserve compatibility * [Fix] RBL: Fix behaviour of emails_domainonly * [Fix] Ratelimit: Fix dynamic score * [Fix] Rbl: Fix emailbl functions * [Fix] Really fix hyperscan workaround * [Fix] Set sanity limits for pcre2 * [Fix] Settings: Fix settings check flags * [Fix] Sort keys when getting data from Lua when filling rules * [Fix] Statistics: Do not query Redis tokens when there are no learns * [Fix] Stop IO event on write finished in http connection * [Fix] Use heuristically detected text parts data * [Fix] Various fixes to QP encoding algorithm * [Fix] Various fixes to SSL state machine handler * [Fix] Various fixes to asn module * [Fix] Workaround for empty charset in rfc2231 encoding * [Project] Switch from torch to KANN * [Project] Add heartbeat events * [Project] Add preliminary support of the Kaspersky Scan Engine * [Project] Add preliminary version of maps expressions * [Project] Add preprocessed settings to the config structure * [Project] Add simple forward propagation function * [Project] Add small helpers for migration simplifications * [Project] Allow to replace body in milter * [Project] Bundle libev * [Project] First refactoring step libevent->libev * [Project] Implement syntax highlighting for Lua * [Project] Lua_magic: Adopt lua_magic stuff in mime_types * [Project] Remove libfann, gd and other unsupported stuff * [Project] Remove torch * [Project] Rework upstreams * [Rework] Allow execution of async events when hs compiles regexps * [Rework] Bayes expiry: eliminate `default` expiration mode * [Rework] Dkim: Remove signing code * [Rework] Dkim_signing: Move sign condition to dkim_signing * [Rework] Do not lowercase all data send to ClickHouse * [Rework] Drop url tags * [Rework] Eliminate lua_squeeze as it has shown no improvements * [Rework] Eliminate virtual scan time as it is useless * [Rework] Lua core: Use lightuserdata to index classes * [Rework] Lua_util: Another rework for extract_specific_urls * [Rework] Migrate from ip_score to reputation * [Rework] Move mime modification functions to lua_mime library * [Rework] Rbl: Major whitelisting logic rework * [Rework] Remove deprecated plugins * [Rework] Remove log helper worker * [Rework] Remove rspamd.classifiers.lua * [Rework] Rename filter.h to a more sane name * [Rework] Reorganise selectors implementation * [Rework] Replace linenoise with replxx * [Rework] Reputation: Remove ipnet from the ip reputation * [Rework] Reputation: Slashing - change name of symbols * [Rework] Rework children operations * [Rework] Rework config reload * [Rework] Rework expression API * [Rework] Rework image urls processing * [Rework] Rework initialisation to reduce static leaks count * [Rework] Rework request headers processing * [Rework] Slashing: Change versioning schema - move to 2.0 * [Rework] Slashing: Turn off postfilters when passthrough result is set * [Rework] Start moving to replxx * [Rework] Stop support of signed HTTP maps to simplify code * [Rework] Store ASN as UInt32 in ClickHouse * [Rework] Url_redirector: Rewrite plugin * [Rework] Use a dedicated library for autolearn * [Rework] Use libsodium instead of hand crafted crypto implementations * [Rework] Use opaque structure to store a table of mime headers * [Rules] Add dedicated bitcoin addresses filter rule * [Rules] Add more detection to LEAKED_PASSWORD_SCAM * [Rules] Catch LTC addresses * [Rules] Reduce weight of RSPAMD_EMAILBL * [Rules] Rework LEAKED_PASSWORD_SCAM rule one more time Signed-off-by: Vsevolod Stakhov --- ChangeLog | 244 ++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 244 insertions(+) diff --git a/ChangeLog b/ChangeLog index e06666830..16c530b3f 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,247 @@ +2.0: 11 Oct 2019 + * [Conf] Add BROKEN_HEADERS_MAILLIST composite + * [Conf] Add path to greylist-whitelist-domains.inc + * [Conf] Clarify documentation in the config files + * [Conf] Introduce maps.d directories + * [Conf] Log settings id by default + * [Conf] Make LEAKED_PASSWORD_SCAM a composite rule again + * [Conf] Move all surbl/emails rules to rbl + * [Conf] Register new Spamhaus codes + * [Conf] Remove configs for deleted modules + * [Conf] Remove surbl parts, fix hash_format attribute + * [Conf] Show autolearn sample + * [Conf] Slashing: Change default stats backend to Redis + * [Conf] Surbl: Utilise new `check_emails` option + * [Conf] Update header + * [Conf] Use multi-prefixes RBLs in the default config + * [CritFix] Deal with case-sensivity in Content-Disposition parser + * [CritFix] Eliminate old endpoint + * [CritFix] Fix case sensivity when parsing Content-Type + * [CritFix] Fix loading of DKIM public keys + * [CritFix] Fix procesing of urls + * [CritFix] Fix whitelisting when both spf and dkim are required to be valid + * [CritFix] Langdet: Fix language detection where no stop words found + * [Feature] Add description to the groups + * [Feature] Add limit for number of URLs in Lua + * [Feature] Add logging of groups to the log_format + * [Feature] Add lua_smtp library + * [Feature] Add maps cache and type refinement + * [Feature] Add p0f scanner + * [Feature] Adopt emails module to use lua_maps + * [Feature] Allow options matching in composites + * [Feature] Allow selectors in rbl module + * [Feature] Allow to output group results + * [Feature] Asn: Allow to use bgpdump when NET::MRT is broken + * [Feature] Calculate tokens occurrences distribution + * [Feature] Clickhouse: Add authenticated user and settings id columns + * [Feature] Clickhouse: Store groups data + * [Feature] Clickhouse: Utilise LowCardinality feature + * [Feature] Implement Redis prefixes registration logic + * [Feature] Implement settings id propagation between deps + * [Feature] Improve AV results caching + * [Feature] Improve autolearning + * [Feature] Improve logging locking logic (remove it actually) + * [Feature] Improve settings processing + * [Feature] Langdet: Limit number of stop words to be checked + * [Feature] Libucl: Allow to sort keys in ucl objects + * [Feature] Lua_config: Extend get symbols method + * [Feature] Lua_maps: Allow static maps for key-value pairs + * [Feature] Lua_mimepart: Add function filter_words + * [Feature] Lua_selectors: Add `words` selector + * [Feature] Lua_selectors: Add sort and uniq transform functions + * [Feature] Lua_selectors: Allow table arguments for selectors + * [Feature] Lua_tcp: Add preliminary support of SSL connections + * [Feature] Lua_trie: More flexible API + * [Feature] Lua_util: Add filter_specific_url function + * [Feature] Lua_util: table_digest can now recursively traverse tables + * [Feature] Maillist: Improve detection + * [Feature] Maps: Allow caching for complex maps + * [Feature] Monitored: Support random lookups + * [Feature] Multimap: Add combined maps prototype + * [Feature] Multimap: Add dependend maps via redis keys selectors + * [Feature] Multimap: Allow multiple email addresses matches + * [Feature] Multimap: Also check detected charset when do filename checks + * [Feature] Output number of messages processed to proctitle + * [Feature] Perform clean SSL shutdown + * [Feature] Performance: Do not use base64 SIMD version for bad inputs + * [Feature] RBL: Support bit results in replies + * [Feature] RBL: Support type specific prefixes + * [Feature] Ratelimit: Consider number of SMTP recipients + * [Feature] Rbl: Add ability to check urls + * [Feature] Rbl: Add resolve_ip based RBLs + * [Feature] Rbl: Make config checks much more strict + * [Feature] Rbl: Support per-rule whitelists + * [Feature] Rbl: Support process script + * [Feature] Rbl: Support replyto addresses + * [Feature] SURBL: Allow to check email domains + * [Feature] Selectors: Add `list` generator + * [Feature] Selectors: Add `specific_urls` extractor + * [Feature] Selectors: Add flatten function + * [Feature] Selectors: Support filter_map and apply_map functions + * [Feature] Store Clickhouse data outside of lua alloc + * [Feature] Support caching for encrypted files and macros + * [Feature] Support images when extracting urls + * [Feature] Support more hyperscan flags + * [Feature] Support protocol flags + * [Feature] URL: Apply stringprep to hostnames to filter garbage + * [Feature] Upstreams: Add lazy resolving logic to all upstreams + * [Feature] Upstreams: Set noresolve flag on numeric upstreams + * [Feature] Use `scores` in apply section + * [Feature] Use maps logic from lua_maps for multimap + * [Feature] Use random monitored in rbl module + * [Feature] lua_scanners - add Razor support + * [Fix] Add another safe-guard in urls processing + * [Fix] Add debug to ssl, fixed write hangs + * [Fix] Add missing groups to C callback symbols + * [Fix] Add more checks for ghosts symbols + * [Fix] Allow to enable or add new actions via settings + * [Fix] Allow to set 0 size for spf/dkim caches + * [Fix] Another bunch of fixes towards protocol mess + * [Fix] Another fix to deal with bad URLs + * [Fix] Arc: Another bunch of fixes for arc signing + * [Fix] Arc: More arc signing fixes + * [Fix] Avoid another overflow in fpconv + * [Fix] Clickhouse: Fix quoting + * [Fix] Clickhouse: Fix retention query quoting + * [Fix] Distinguish empty and non-empty prefilters + * [Fix] Distinguish remote and local addrs parsing + * [Fix] Do not assert if length of sig is bad, just fail verification + * [Fix] Do not assert if we have broken mime boundary in the headers + * [Fix] Do not call implicit strlen to avoid issues + * [Fix] Do not count images urls when checking url regexps for compatibility + * [Fix] Do not output rbl suffix in symbol option + * [Fix] Do not use config pool to avoid issues with double reload + * [Fix] Do not use ephemeral string + * [Fix] Do not use lightuserdata for traceback + * [Fix] Do not use priority in metric registration + * [Fix] Emails: Check email sanity before testing on BL + * [Fix] Emails: Fix misprint in key name + * [Fix] Escape utf in regexp to dodge ragel/hyperscan issue + * [Fix] Extend task_timeout to postfilters stage + * [Fix] Fix ARC signing after fixing another bug in it... + * [Fix] Fix AV scan logic + * [Fix] Fix DMARC_NA behaviour in case of no valid policies + * [Fix] Fix LRU hash iteration logic + * [Fix] Fix alignment mess + * [Fix] Fix configuring symbols without scores + * [Fix] Fix disabling of the actions + * [Fix] Fix dkim signing exceptions + * [Fix] Fix embedded images linking logic + * [Fix] Fix events leak + * [Fix] Fix eviction corner case + * [Fix] Fix fuzzy image score calculation #2962 + * [Fix] Fix hang in fuzzy_learn when explicit rotation is set + * [Fix] Fix headers propagation logic + * [Fix] Fix hearbeats restart issue + * [Fix] Fix history reset + * [Fix] Fix log parameter + * [Fix] Fix lua_ip_equal logic + * [Fix] Fix more issues with nested messages + tests + * [Fix] Fix normalization of non-alphabet based languages + * [Fix] Fix offsets when parsing message/rfc822 in multipart + * [Fix] Fix options in rbl symbols + * [Fix] Fix out of bound access in lua logger + * [Fix] Fix out-of-bound read in qp decode + * [Fix] Fix parent CTE propagation + * [Fix] Fix parsing of the received headers with empty part + * [Fix] Fix pending checks for events + * [Fix] Fix printing of NULL pointer with fixed length + * [Fix] Fix race condition in watcher handler + * [Fix] Fix read-after-end in quoted printable decoding + * [Fix] Fix redis sentinel support + * [Fix] Fix registry leak in case of DNS errors + * [Fix] Fix reload logic + * [Fix] Fix sending of large entries via HTTPS + * [Fix] Fix settings reload + * [Fix] Fix some more corner cases for fpconv + * [Fix] Fix trie code when there are regexps and Hyperscan is absent + * [Fix] Further fixes to printing of the FP numbers + * [Fix] Fuzzy_check: Fix timeouts + * [Fix] Grrr, fix empty ip case + * [Fix] Html: Fix processing of fjlig entity + * [Fix] Lang_det: Try better to distinguish Chinese and Japanese + * [Fix] Lua_mime: Fix reversed extensions map + * [Fix] Lua_task: Fix message-less API + * [Fix] Lua_tcp: Report connection failures + * [Fix] Lua_tcp: Various fixes and debugging improvements + * [Fix] Metadata_exporter: This plugin is idempotent not a postfilter + * [Fix] More fixes to extract_specific_urls + * [Fix] More stages fixes + * [Fix] Neural: Another bunch of fixes + * [Fix] Neural: use version in ANN key profile + * [Fix] Postpone lua state destruction to allow lua dtors to be used + * [Fix] Prefer surbl/emails rule on rbl to preserve compatibility + * [Fix] RBL: Fix behaviour of emails_domainonly + * [Fix] Ratelimit: Fix dynamic score + * [Fix] Rbl: Fix emailbl functions + * [Fix] Really fix hyperscan workaround + * [Fix] Set sanity limits for pcre2 + * [Fix] Settings: Fix settings check flags + * [Fix] Sort keys when getting data from Lua when filling rules + * [Fix] Statistics: Do not query Redis tokens when there are no learns + * [Fix] Stop IO event on write finished in http connection + * [Fix] Use heuristically detected text parts data + * [Fix] Various fixes to QP encoding algorithm + * [Fix] Various fixes to SSL state machine handler + * [Fix] Various fixes to asn module + * [Fix] Workaround for empty charset in rfc2231 encoding + * [Project] Switch from torch to KANN + * [Project] Add heartbeat events + * [Project] Add preliminary support of the Kaspersky Scan Engine + * [Project] Add preliminary version of maps expressions + * [Project] Add preprocessed settings to the config structure + * [Project] Add simple forward propagation function + * [Project] Add small helpers for migration simplifications + * [Project] Allow to replace body in milter + * [Project] Bundle libev + * [Project] First refactoring step libevent->libev + * [Project] Implement syntax highlighting for Lua + * [Project] Lua_magic: Adopt lua_magic stuff in mime_types + * [Project] Remove libfann, gd and other unsupported stuff + * [Project] Remove torch + * [Project] Rework upstreams + * [Rework] Allow execution of async events when hs compiles regexps + * [Rework] Bayes expiry: eliminate `default` expiration mode + * [Rework] Dkim: Remove signing code + * [Rework] Dkim_signing: Move sign condition to dkim_signing + * [Rework] Do not lowercase all data send to ClickHouse + * [Rework] Drop url tags + * [Rework] Eliminate lua_squeeze as it has shown no improvements + * [Rework] Eliminate virtual scan time as it is useless + * [Rework] Lua core: Use lightuserdata to index classes + * [Rework] Lua_util: Another rework for extract_specific_urls + * [Rework] Migrate from ip_score to reputation + * [Rework] Move mime modification functions to lua_mime library + * [Rework] Rbl: Major whitelisting logic rework + * [Rework] Remove deprecated plugins + * [Rework] Remove log helper worker + * [Rework] Remove rspamd.classifiers.lua + * [Rework] Rename filter.h to a more sane name + * [Rework] Reorganise selectors implementation + * [Rework] Replace linenoise with replxx + * [Rework] Reputation: Remove ipnet from the ip reputation + * [Rework] Reputation: Slashing - change name of symbols + * [Rework] Rework children operations + * [Rework] Rework config reload + * [Rework] Rework expression API + * [Rework] Rework image urls processing + * [Rework] Rework initialisation to reduce static leaks count + * [Rework] Rework request headers processing + * [Rework] Slashing: Change versioning schema - move to 2.0 + * [Rework] Slashing: Turn off postfilters when passthrough result is set + * [Rework] Start moving to replxx + * [Rework] Stop support of signed HTTP maps to simplify code + * [Rework] Store ASN as UInt32 in ClickHouse + * [Rework] Url_redirector: Rewrite plugin + * [Rework] Use a dedicated library for autolearn + * [Rework] Use libsodium instead of hand crafted crypto implementations + * [Rework] Use opaque structure to store a table of mime headers + * [Rules] Add dedicated bitcoin addresses filter rule + * [Rules] Add more detection to LEAKED_PASSWORD_SCAM + * [Rules] Catch LTC addresses + * [Rules] Reduce weight of RSPAMD_EMAILBL + * [Rules] Rework LEAKED_PASSWORD_SCAM rule one more time + 1.9.4: 23 May 2019 * [CritFix] Fix case sensitivity when parsing Content-Type * [Fix] Arc: Another bunch of fixes for arc signing -- 2.39.5