master
add STARTTLS support, using the shiny libtls. Rationale: when you publish DANE records for certificate pinning, you MUST offer TLS on the indicated service. Not offering TLS is verboten since that would re-open the door for a MitM. This is obviously fundamentally incompatible with having spamd in front of your mailservers - spamd kinda is a MitM here, but intentional and utterly valid. DANE is desirable because it allows one to not have to trust the broken SSL CA model, and, depending on the mode chosen, even show the SSL cert mafia the middle finger by not needing them at all. ok reyk jsing bob
I am retiring my old email address; replace it with my OpenBSD one.
Delete obsolete /* ARGSUSED */ lint comments.
Remove the use of time_t in the greylist db file and use int64_t instead with backwards compatibility for records with 32-bit times. OK deraadt@ beck@
spelling fixes; from paul tagliamonte
Make blacklist entries override the whitelist. When running spamd in greylisting mode, it is not uncommon for an IP to get whitelisted before it shows up on a spam blacklist. With this change, spamd will check its blacklists before adding a WHITE entry to the <spamd-white> pf table. If the IP matches a blacklist, the WHITE entry will be removed. OK phessler@
Ever since I introduced pledge(2) on spamd(8) the chroot'ed process, if running in default, cannot get anywhere near the filesystem since its only promises are "stdio inet". Furthermore, in blacklist mode this same codepath is not chroot'ed but once again it gets the same pledge(2).
ctime(3) and ctime_r(3) can fail when timestamps are way off. Add missing error checks to all calls under libexec/
spamd: convert to opaque HMAC_CTX
version 2 of spamd sync protocol for two reasons: 1) ip addresses were accidentally being sent in host-byte order, which caused compatibility problems (spotted by jbg) 2) the sub-headers in the frame were not natively aligned, thus timeout values were incorrectly sent by 64-bit machines ok beck