This Space for Rent

New Code!

Postoffice version 1.3 has now officially been released, with support for sendmail filters ("milters") fully implemented and installed on some production machines.

Since Pell is running a fairly elderly version of Linux, it doesn't have support for pthreads, which the client side of the sendmail libmilter requires. So it has to use an inet-domain socket to talk to milters on a different machine, which, because it's running the milters for pell might as well be running a miltered version of postoffice as well.

As an aside, it's really a pain in the ass to get some of the existing milters to run. The milter for clamav, aside from having the annoying feature of advertising "yoohoo! I'm clamav! I'm the one who detected that virus!", also has some fairly bizarre sendmail dependencies. On the FreeBSD box I hand-built it on, it wants to look up a sendmail hostname before it will run. This FreeBSD box doesn't run sendmail (obviously), so the whole thing falls over in a whining heap (I can fix it by simply disabling tcp wrappers, but that opens up many new opportunities for denial-of-service-attacks, so I needed to fix that at the same time I stopped the milter from doing the free advertising for clamav. But that was the easy milter to install. I was also planning on installing Spamassassin to weed out the stupid nigerian 419 spams which are pretty much the only sort of spam people get on Pell anymore, but the FreeBSD box that I've designated as the milter box? It's got Perl 5.0005, and Spamassassin (and the scary scary SCARY list of prerequisites it requires) won't even say BOO unless you've got Perl 5.0006 (and, from reading the documentation, it really REALLY wants Perl 5.6.) Perl (and it's bastard stepbrother Python) are the program equivalent of kudzu; once you give them a foothold on your system they will rapidly fill the machine up with random modules.

It's fortunate that Perl is a paragon of the Open Source®™© world and doesn't pay much attention to backwards compatability. couldn't install any of the 99e99 dependencies, because some new perl modules couldn't be found anywhere on the system.

But that means I don't have a particularly good anti419 filter yet :-( and that the spiffy new sendmail filter code will benefit other people before it benefits me.


Does mail filtering – well, anything filtering – with Markov chains. I use it as a backstop for spamassassin (stuff designed to beat Bayesian is easy for the Markov chains) but if you’re finding spamassassin’s dependencies undesirable, this thing is pretty much self-contained.

Graydon Thu Apr 20 16:42:04 2006

I ran crm114 for a while, back before I bailed on s*ndm**l and flipped over to postoffice; it suffered from being difficult to build on pell (primarily because of the C++isms that have crept into gcc) and from having some of the most opaque documentation I’ve ever seen (including my documentation.) I was never able to properly seed a corpus of bad mail and never got it to the point where it would reliably block badmail, so I stopped using it.

I was able to easily install spamassassin on a Centos box (and it did accurately detect the nigerian spam samples I fed in) so I was hopeful that I could stuff it onto gehenna. Alas, I forgot that it was perl and perl is twisted beyond compare.

David Parsons Thu Apr 20 17:29:05 2006

Comments are closed