You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@spamassassin.apache.org by Barry Jaspan <bj...@spamnix.com> on 2004/09/01 18:33:14 UTC
Comments on 3.0-rc2
I have recently upgraded my SpamAssassin-based product to use SA
3.0-rc2. Generally, I think 3.0 is excellent; congratulations to the
developers. I have a few comments:
- A bug was introduced between rc1 and rc2. In BayesStore/DBM.pm, the
calls to tie were changed to store the return value. For example,
$res = tie %new_toks, "DB_File", "${name}.new", O_RDWR|O_CREAT|O_EXCL,
(oct ($main->{conf}->{bayes_file_mode}) & 0666);
umask $umask;
return 0 unless $res;
Later, %new_toks is untied and files are renamed. Storing $res, however,
keeps a handle to the underlying file open, so the rename fails (at least
on Windows). The fix is simple: after "return 0...", just add:
undef $res;
- The plugin interface is a great idea; it allowed me to move code I
previously had to integrate into each new version of SA out of the SA
tree. As currently designed, however, plugin methods are effectively
restricted to returning integers due to the comparison with
INHIBIT_CALLBACKS. I suggest that as few assumptions as possible be made
about plugin method return values, and we can just require methods to call
inhibit_callbacks() if they want to instead of returning INHIBIT_CALLBACKS.
- I suggest adding a plugin callback to PerMsgStatus::_get_tag, so plugins
can define their own report tags.
- I also suggest adding plugin callbacks (a) to get_report(), so plugins
can change the report format, and (b) to report_safe() etc., so plugins can
modify the rewritten message. The implementation of these is less clear
than the _get_tag callback, though.
Thanks again for all the work!
Barry
Re: Comments on 3.0-rc2
Posted by Theo Van Dinter <fe...@kluge.net>.
On Wed, Sep 01, 2004 at 12:33:14PM -0400, Barry Jaspan wrote:
> - A bug was introduced between rc1 and rc2. In BayesStore/DBM.pm, the
> calls to tie were changed to store the return value. For example,
Bugs need to be reported to bugzilla.spamassassin.org. Otherwise they'll be
ignored or (more likely) missed.
The rest of your message is better destined for bugzilla or dev@, btw. :)
Thanks! :)
--
Randomly Generated Tagline:
"I am returning this otherwise good typing paper to you because someone
has printed gibberish all over it and put your name at the top."
- English Prof. at Ohio University