|
|
|
|
SAUCE (paranoid anti-spam mailserver) 0.7.15, 0.8.1 BETAIntroductionI am pleased to announce a new public BETA release of GNU SAUCE, version 0.8.1. This contains new features, bugfixes, and some changes to the default settings and policies (to cope with new spam patterns). However, I also regret to inform you that there is moderately serious time-dependent bug in GNU SAUCE before 0.7.16. All users are encouraged to upgrade, either to the bugfix release 0.7.16, or to the newer version 0.8.1, or to apply the immediate remedy below. Please read the information below about the time-dependent bug. 0.7.16 and 0.8.1 are not currently available via ftp ftp.gnu.org, but they are available via my own server at http://www.chiark.greenend.org.uk/~ian/sauce/ http://www.chiark.greenend.org.uk/~ian/sauce/ftp/ along with more information about SAUCE, including details of the mailing lists, CVS repository, and of course the distribution files. Debian users should be able to acquire the current version of SAUCE (0.8.1) from the Debian unstable distribution shortly, and can use usual Debian support channels. Changes in 0.8.1Bugfixes:
New features:
Changes to autoblacklisting:
MD5 checksums53de5879aa4162f1b111c76da471a29d sauce-0.7.14-0.7.16.diff.gzdaab7a3e61a33a2e596227e3683008f5 sauce_0.7.16.dsc 445366bf12284f33533ce4a0c91a454a sauce_0.7.16.tar.gz 0a1167bff75c368946815538070ed77c sauce_0.7.16_all.deb 235fe0eb1d594d367ecd6d383ba1660a sauce_0.7.16_i386.changes 64c5651645461cfb626eaaf4f838ad0b sauce_0.8.1.dsc 52f473d24eb80acdd0503b21ca3dc893 sauce_0.8.1.tar.gz a5f68900c6ba1384ea56e3131fde083e sauce_0.8.1_all.deb 3b14d09e3780573112075283bc642537 sauce_0.8.1_i386.changes Time-dependent bugSAUCE maintains a database known as `site-annoy', in which it records its current `opinion' about calling IP addresses. This information is used for various purposes, including capacity reservation and teergrube. Each site's entry is supposed to be kept for a certain length of time and then to expire. All previous versions of SAUCE have had a bug which means that the expiry time was calculated incorrectly. The expiry time is converted from an elapsed interval in seconds to an absolute time as a time_t, by adding the current time - however, buggy versions of SAUCE perform this calculation twice. This has two effects: Firstly, entries created before some time around the 10th of January 2004 (or all entries on 64-bit machines) have a ridiculously large expiry time. This is a performance and disk space problem (the site-annoy decay algorithm means that the very old data is not acted on erroneously). Secondly, entries created (on 32-bit machines) after approximately the 10th of January 2004 expire immediately (since on the 10th of January time_t reached 0x40000000, so that 2*time_t overflows a signed integer). This effectively lobotomises SAUCE, so that it forgets which sites are `friendly' and which `hostile'. I recommend correcting the bug, and I also recommend cleaning the site-annoy database to remove the overly-persistent entries. Depending on your circumstances, the following routes may be followed for a fix:
[1] Cleaning the site-annoy database can be postponed. You can either run the supplied cleaning script, which deletes only entries with implausible expiry times, or you can delete the whole database (which is fairly harmless, and in any case no worse than the effects of the bug). But, you must not mess with the site-annoy database while SAUCE is running, or it will probably undo your changes. PatchThe following patch fixes the actual problem, and can be applied to the source code smtp.tcl, or to the installed file (usually /usr/local/share/sauce/smtp).
diff -u -u -r1.14 -r1.14.2.1
smtp.tcl 15 Jun 2003 15:46:40 -0000 1.14
+++ smtp.tcl 14 Jan 2004 22:56:33 -0000 1.14.2.1
@@ -274,7 +274,7 @@
if {$cv < -$annoy_love_max} { set cv -$annoy_love_max }
ds_set site-annoy $ra
[string map {{ } a - m} [list $now $cv]]
[expr {$now + 3*$annoy_halflife}]
+ [expr {3*$annoy_halflife}]
if {$cv <= -$annoy_love_max/2 && $cv <= -($annoy_grumpy+$annoy_actout_max)} {
set irritamt Ecstatic
} elseif {$cv <= 0} {
This is not the complete diff between 0.7.14 and 0.7.16. 0.7.16 also contains the clean-site-annoy script, Debian packaging to invoke it, plus of course new-release administrivia.
| |||||||||||||||||||||||||||||||||||||||||||
|
|
| All times are recorded in UTC. Linux is a trademark of Linus Torvalds. Powered by Linux, Apache and PHP |