This Space for Rent

New Code!

Because I'm now maintaining a bunch of R*dh*t machines at work, I've had to roll postoffice up to version 1.2.4 so I can get a version of it that can be built into a rpm package and installed on those machines. (I have been building it by hand and hand-installing it, but that way screws up the built-in package system and leaves the risk of some upgrade overwriting it with the latest version of sendmail. I like sendmail, but I don't like it enough to want to maintain it, and the alternatives (postfix, qm**l, and their ilk) replace the horrible complexity of sendmail with a DIFFERENT and less readable complexity that I can duplicate in two or three lines in a postoffice.cf file.

Comments


Ever tried exim? Written by a frustrated mail admin at Cambridge, lots of docs, already packaged for RedHat.

Graydon Mon Feb 27 18:00:48 2006

Yes, I’ve tried Exim. I didn’t like it much; I tried putting it onto pell a few years back, and found that the documentation was so obtuse that I couldn’t even reliably get it to accept mail, so I went back to the horrible morass that is sendmail, and stayed there until I needed to implement greylists and discovered that the much-lauded milter system was, um, not really documented in a way that I could take advantage of.

I don’t know how big Exim is these days; sendmail 8.8.5 + my tcp wrappers filters is about ~42,500 lines, while postoffice is ~9500 lines (I don’t have my copyright notice on each module, so a fairer comparison would be ~11750 lines vs ~42500 lines), but those lines of code include my greylist database, the tcp wrappers interface, AUTH USER, the av scanner interfaces (which I think I can also use to run things like spamassassin to weed out those damned nigerian 419 letters), and a reimplementation of the high-end query part of the resolver library (because the resolver library in libc 4.8 is old enough not to understand modern ptr-to-cname reverse resolution.)

I’m not likely to make any money coding new and bleeding edge software, because much of that work is done in (shudder) C++, (shudder2) Java, and (shuddern) p*th*n [ The last bleeding edge software project I worked in C for was when I was working for Larry McVoy at bitkeeper (this was prior to his two-year hissy fit at the thought that anyone wouldn’t treat bk as the living incarnation of Christ); all the subsequent development projects I’ve been involved with are the three programming languages of the Apocolypse (when Google tried to recruit me, the interviewer cheerfully chirped “we do all of our programming in Java, C++, and Python!” and you can imagine what happened to that job interview soon thereafter.)] so I’m going to spend my declining years working on reinventing the wheel in a portable fashion (portable, at least until gcc decides to officially not support K&R C anymore.)

Oh, am I using my outside voice?

Sorry.

David Parsons Mon Feb 27 19:28:44 2006

Comments are closed