New Code!
Postoffice has been pushed up to version 1.3.8a with the addition of one major feature, one minor feature, and one major bugfix.
-
The bugfix is the most urgent thing, because it fixes an infinite loop in the resolver. The way the resolver used to work is that it would resolve cnames until it found nothing or a not-cname. This worked fine in a world that didn't include spammers, but, alas, this is not that world; yesterday, I started noticing that Postoffice would spin off a client process that would start spinning itself and named at full speed for, well, basically forever. Upon investigation, I found that it would only do it when the machine at 72.35.231.171 tried to connect. And why did it spin forever? Because the reverse dns for many hosts in that netblock (FUSION-COLO-BLK-III) were cnames pointing back to themself, like this:
orc@gehenna(orc)$ host 72.35.231.171 171.231.35.72.IN-ADDR.ARPA is a nickname for 171.231.35.72.IN-ADDR.ARPA 171.231.35.72.IN-ADDR.ARPA is a nickname for 171.231.35.72.IN-ADDR.ARPA
Now postoffice is not the most trusting MTA out there, but in this case it was as naïve as a newborn baby, and by god it would sit there and chase after its tail forever if it had the opportunity. Not any more it won't, so this is a good reason to upgrade to 1.3.8a.
-
The minor feature is pretty trivial; I've added support for “sendmail -d0”, so versions of the world's least portable autoconf program (and that would be GNU configure; it's bad enough to tweak a makefile, but having to tweak 10,000 lines of machine-generated shellscript makes that look like a bed of roses. And that's not including the editing I need to do to take out the offensive FSF attempts to rename Linux) won't cause postoffice to complain about unknown options.
-
The big feature is that I've added a new option to postoffice.cf. This option is the “immediate” option, and what it does is to tell postoffice to attempt immediate delivery to remote recipients. If you don't like the way that mail is plunked into /var/spool/mqueue and doesn't get delivered until the next queue run, this is another good reason to upgrade to 1.3.8a (and then modify your postoffice.cf to include the new option.)
(edited to replace 1.3.8 with 1.3.8a; fixed a locking problem in 1.3.8)