Halon 3.3 “frosty” with powerful queue scripting and transparent proxying

The release candidate of the upcoming email gateway release 3.3 (codename frosty) is currently being tested, and it’s packed with news. To start with, it’s based on FreeBSD 10.1 and compiled with clang/LLVM 3.4.1 which brings overall performance improvements. Seemingly small changes, such as the LSI MegaRAID controller (mfi, found in many servers from Dell) getting unmapped I/O, can make significant impact.

With a completed 64-bit migration which brought all users to the same code branch and database scheme, we have been able to focus on major features that required further database migrations. One example is the SetMetaData() function that enables you to;

  • Pass information between DATA and the queue scripts without having to use barriers; you might want to access for example spam score results (from DATA) when choosing source IP address in (in pre-queue)
  • Hold state in the queue between queue retries
  • Operate on the queue (using the web admin or SOAP) with search filters based on your own metadata fields; for example copying messages from an archive destined for a specific backend mail storage server that might have been restored from a backup

The metadata in combination with the system_nonlocal_source setting enables you operate the system in a much more transparent fashion; spoofing the source IP address, using the sender’s HELO hostname, setting the destination IP address according to an “X” header, and so on. Furthermore, we have published proof-of-concept instructions for how to run the system in a fully transparent mode, which might be useful when capturing SMTP traffic for all clients on a network.

Now that many computers comes with retina/HiDPI displays, we thought it was time to update all icons in the web admin to vectorised counterparts. With this came a major web interface overhaul; upping the overall experience with numerous improvements in design, layout and usability. You can take a look at our live demo system and see for yourself.

Being a major release, it also comes with hundreds of new, small features. To mention a few, there’s the syslog() function to accompany echo, raw strings, $transfertime in the post-delivery script, message size in HQL and adjustable mail_queue_threads.

Are you operating email services?