New Code!
Postoffice has been upped to version 1.5.12 (from 1.5.10; I tweaked the version# twice in the last year, but 1.5.11 didn’t stand still for long enough for me to make a release) with a couple of bugfixes & some portability tweaks to either make modern C compilers stfu or to remove the maze of #ifdef
s that I wedged in for the Minux v3 port.
As is traditional, it’s been running locally on the latest version for the past few weeks w/o exploding on me (my personality ensures that I do not get much real mail, but spammer nobly step up to provide me with a torrent of mail that can be used to stress-test a MTA without needing to worry about losing something important if I miscoded something and implement a horrible mail-eating bug) so it should be fine for your industrial-scale mailing needs (do not use Postoffice for industrial mailing. If you’re running a bulk-mail house or you’re a google-scale company, your homegrown pile of kludges will work much better than mine) and you should download it now and see if you can get your mail server to explosively deflagrate.
The list of bug patches & portability hacks are short, but sweet:
- change the fallthrough “sorry, but” message to be “That would be a no” if
why
is null.- add some overflow checking for paranoia against malformed dns replies
- clean up a bug where postoffice would add additional Date: headers every time a forward failed.
- change the order of
time_t
sizing; nowlong
,long long
,int
(on ARM, the C compiler whines whentime_t
is%d
despitesizeof(int) == sizeof(long)
)- abstract
flock()
into locker.c (locker()
function) to work around Minix (and V7?) lack of flock; have the fcntl/flock tester verify that fcntl can unlock a file too- some machines have a 64 bit
time_t
; configureTIME_T_FMT
as a printf/scanf format for it and use string concatenation to build format strings as needed.