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.

Rspamd 1.0.6 has been released

2015-10-16 00:00:00 +0000

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

  • Fix build on i386
  • Update CentOS7 service file patch (by @fatalbanana)
  • Fix path to rspamadm in Debian init script (by @fatalbanana)
  • Fix broken ‘_SC_GETPW_R_SIZE_MAX’ on FreeBSD
  • Fix portability issues
  • Use cryptobox chacha for libottery
  • Better support of 32 bit builds
  • Fix header name tokens setup
  • Fix levenstein distance method for words
  • Add workaround for old libevent (#400)
  • Fix microseconds in termination timer
  • Fix some more issues with fixed strings
  • Explicitly test CPU instructions even after CPUID call
  • Do not check out of boundary memory
  • Do not output broken emails
  • Fix unknown symbols registration
  • Handle SIGILL using longjmp
  • Block signals when exiting event loop
  • Fix incorrect allocation size
  • Slightly optimize alignment
  • Restore rspamd -t for compatibility
  • Add more sanity checks for emails

This version has restored backward compatibility with 1.0.0.

Rspamd 1.0.5 has been released

2015-10-14 00:00:00 +0000

The next stable release of rspamd has been published. Here is a list of notable changes for 1.0.5 release:

  • Add rspamd control interface:
    • support stat command to get runtime stats of rspamd workers
    • support reload command to reload runtime elements (e.g. sqlite3 databases)
  • Rework curve25519 library for modular design:
    • add Sandy2x implementation by Tung Chou
    • fix CPU detection for variables loading assembly
    • add testing for curve25519 ECDH
  • New fixed strings library
  • Add R_SUSPICIOUS_IMAGES rule

Less important changes:

  • Enable mmap in sqlite3
  • Use new strings in the HTTP code
  • Improve google perftools invocation
  • Improve performance profiling in http test
  • Reorganize includes to reduce namespace pollution
  • Allow specific sections printing in configdump command
  • Rework workers signals handlers to be chained if needed
  • Update socketpair utility function
  • Add control_path option for rspamd control protocol
  • Fix ownership when listening on UNIX sockets
  • Rework signals processing in main
  • Remove extra tools from rspamd (they live in rspamadm now)
  • Remove global rspamd_main
  • Add global timeout for the overall task processing (8 seconds by default)
  • Sanitize NULL values for fuzzy backend
  • Store NM between encrypt/decrypt
  • Add textpart:get_words_count method
  • Fix generic DNS request in lua
  • Tune hfilter weights
  • Add support of IPv6 in hfilter
  • Fix parsing of HTTP headers with IP addresses
  • Sync with the recent libucl
  • Various minor bugfixes

This version is partially backward compatible with 1.0.0. Here is the incompatible change:

Signing, configuration test and other side options have been removed from the main rspamd binary in honor of
`rspamadm` utility which provides drop-in replacement for all functions removed. The main functionality of `rspamd`
binary has not been changed.

Please update your scripts if they use rspamd -t or similar things to the according rspamadm invocation, for example rspamadm configtest.