Rspamd 2.4 has been released

26 Feb 2020

We have released Rspamd 2.4 today.

This is a bug fixes release mainly.

3 major projects in this release:

  • Logger system rework: fixed syslog logging, improved architecture, improved logging reload
  • URL composition library (similar to old 2tld map for surbl module), use this library in RBL module for all URL like objects: urls, emails, dkim domains
  • Implemented SSL client caching: it should improve client SSL connections: Clickhouse, SMTPS, maps check and so on for both client and a server.

Several major fixes:

  • Parsing of the content type attributes
  • Avoid collisions in mempool variables
  • Fixed Redis Sentinel support
  • Fixed IPv6 listening
  • Fixed mime modifications for 7bit parts
  • Fixed passthrough result and smtp message
  • Important eSLD url composition fixes
  • Various neural network plugin fixes

Useful features:

  • Custom additional columns in Clickhouse plugin
  • Support of CDB maps everywhere to share huge maps across workers with no extra cost

Here is the list of the most important changes:

  • [CritFix] Fix parsing of the content type attributes
  • [Feature] Clickhouse: Add extra columns support
  • [Feature] Rbl: Add url_compose_map option for RBL rules
  • [Fix] ‘R’ flag is for all headers regexp
  • [Fix] Allow to reset settings id from Lua (e.g. because of the priority)
  • [Fix] Avoid collisions in mempool variables by changing fuzzy caching logic
  • [Fix] Avoid strdup usage for symbols options
  • [Fix] Do not trust stat(2) it lies
  • [Fix] Filter all options for symbols to have sane characters
  • [Fix] Fix all headers iteration
  • [Fix] Fix allowed_settings for neural
  • [Fix] Fix listen socket parsing
  • [Fix] Fix maps expressions evaluation
  • [Fix] Fix sentinel connections leak by using async connections
  • [Fix] Fix smtp message on passthrough result
  • [Fix] Fix tld compositon rules
  • [Fix] Fuzzy_storage: Do not check for shingles if a direct hash has been found
  • [Fix] Lua_mime: Do not perform QP encoding for 7bit parts
  • [Fix] Neural: Distinguish missing symbols from symbols with low scores
  • [Fix] Support listening on systemd sockets by name
  • [Project] Add lua_urls_compose library
  • [Project] Allow to set a custom log function to the logger
  • [Project] CDB maps: Start making cdb a first class citizen
  • [Project] Clickhouse: Add extra columns concept
  • [Project] Fix urls composition rules, add unit tests
  • [Project] Unify cdb maps
  • [Rework] Logger infrastructure rework
  • [Rework] Refactor libraries structure
  • [Rework] Rework SSL caching
  • [Rework] Update snowball stemmer to 2.0 and remove all crap aside of UTF8