Rspamd 1.1 has been released

2016-01-18 00:00:00 +0000

The next major release of rspamd: 1.1.0 is now released. In this version, I did another bunch of architectural rework. This time, I’ve refactored fuzzy storage, regular expressions processing and statistics primarily.

A number of features that I was asked constantly about have been added to rspamd, including such features as:

  • Autolearning for BAYES: statistics can learn on good or bad messages automatically
  • Redis backend for statistics to enable distributed and fast redis storage for rspamd cluster
  • Scalable fuzzy storage: it is now possible to scale hashes storage across multiple processes to process thousands of requests per second

There is also major performance improvement: hyperscan engine support for optimizing regular expressiosn execution.

With this version, I have added a lot of documentation, including tutorials and improved quick start guide.

Here is the full changelog for this version available on github: https://github.com/vstakhov/rspamd/blob/1.1.0/ChangeLog

The new version is almost 100% backward compatible with 1.0 branch but please check the migration document if you are using per-user statistics and rspamd-1.0.

Here are some graph of rspamd performance on scanning:

So you can see that rspamd can scan as much as 200 messages per second consuming less that 50% cpu of a typical scanner machine (Xeon E5405 single CPU).

Rmilter is also upgraded to the version 1.7.0 that brings full IPv6 support, redis cache support and major cleanup of unused and broken stuff. Rmilter changelog is available here: https://github.com/vstakhov/rmilter/blob/1.7.0/ChangeLog

Rspamd 1.0.11 has been released

2015-12-21 00:00:00 +0000

The next bugfixes only release 1.0.11 of rspamd is out. This release contains the following changes:

  • Fix spf redirects
  • Fix domains when parsing mx/ptr/a records in includes/redirects
  • Fix unfolded base64 encoding
  • Fix GError use-after-free
  • Do not rewrite the original url when using redirector
  • Fix parsing of fragment in urls
  • Fix processing of HTML tags
  • Improve empty image rule
  • Avoid long double type
  • Fix tokens weights in OSB algorithm
  • Improve debugging for bayes

This version has backward compatibility with 1.0.0 preserved.

The branch 1.0 is now considered as stable and all development has now been moved to the master branch which is going to be the next 1.1 major release.

Rspamd 1.0.10 has been released

2015-11-06 00:00:00 +0000

The next bugfixes only release 1.0.10 of rspamd is out. This release contains the following changes:

  • Fix settings application (#416)
  • Fix another issue with fixed strings
  • Fix hash function invocation
  • Use the proper string for make_dns_request in lua_http
  • Fix scan time output
  • Update webui:
    • fix labels for greylisting
    • fix dimension of scan time

This version has backward compatibility with 1.0.0 preserved.

The branch 1.0 is now considered as stable and all development has now been moved to the master branch which is going to be the next 1.1 major release.

My presentation at highload 2015 conference

2015-11-05 00:00:00 +0000

Recently, I gave a talk on a conference called highload-2015 about rspamd. This conference has been held in Moscow Russia and was related to high performance sollutions in both software and hardware. With 2000+ attendees, the conference was one of the largest events in the Russian IT community. My slides could be obtained from the following locations:

The record of my talk will be available soon.

Rspamd 1.0.7 has been released

2015-10-26 00:00:00 +0000

The next bugfixes release 1.0.7 of rspamd is out. This release contains critical bugfixes for rspamd including the following ones:

  • Plugged memory leaks in internet address object & html parser
  • Fixed static build
  • Fixed multiple sigchld processing
  • Fixed deletion of signal events after event processing loop
  • Fixed build on ARM (#404 - reported by @Gottox)
  • Fixed setting the default mask for SPF.
  • Fixed sanitisation of HTTP query values
  • Fixed parsing of the last header in encrypted HTTP messages
  • Fix architecture detection
  • Fix double free in the controller fuzzy learn command
  • Avoid endless loop when cannot open sqlite db

This version also includes several improvements over the previous one:

  • Additions and fixes for test suite & benchmarks
  • Added openssl aes-256-gcm support to libcryptobox & HTTP server
  • Implemented support for starting multiple HTTP servers
  • Implemented batch accept in HTTP server
  • Added module to get data from HTTP headers (#285 - reported by @msimerson)
  • Added rspamadm control command
  • Added ability to sort counters output.
  • Added ability to specify custom headers for rspamc client
  • Converted history storage to the UCL format
  • Allow flexible number of rows in history
  • Fix action badges in WebUI
  • Add universal cryptobox hash API
  • Migrated to the optimized blake2b implementation adopted from Andrew Moon
  • Allow explicit loading of specific modules
  • Always load settings module
  • Allow to add symbols from settings
  • Updated libucl

This version has backward compatibility with 1.0.0 preserved.