--- On Tue, 8/10/10, Kevin A. McGrail <[email protected]> wrote:
> > URL:  https://issues.apache.org/SpamAssassin/show_bug.cgi?id=6481
> > 
> > Could we make certain that MIMEDefang isn't the cause of this?  Thanks.
> >    
> I'd be shocked if this isn't a mimedefang-filter or
> duplicated information in a cf file on your
> installation.  I've used SA and MD in a number of ways
> and never seen this issue.
> 
> I'm not ruling things out but I would check what cf files
> you have in /etc/mail and /etc/mail/spamasssassin and I'd
> post your mimedefang-filter for review.

I'm not going to post the entire filter, but there is only one reference to SA 
from my MD code:

sub filter_end {
    my($entity) = @_;
    return if message_rejected();
    if ($Features{'SpamAssassin'} && (-s './INPUTMSG' < (128 * 1024))) {
        my($hits, $req, $names, $report) = spam_assassin_check();
        md_syslog('info',"$QueueID: Spam-Score=$hits Relay=$RelayAddr To=".
            join(',',@Recipients) . ($names ? " Rules=$names" : ''));
        action_insert_header('Authentication-Results', ...[DELETED]..., 0);
        if ($hits >= ($req / 3.6)) {
            action_add_part($entity, 'text/plain', '-suggest', $report,
                'SpamReport.text', 'attachment');
            if ($hits >= $req) {
...

As noted, spam_assassin_check() is the ONLY call I make to SA, and only in 
filter_end().

I've taken a look at the subroutines in mimedefang.pl, and I note that in 
spam_assassin_init() a reference to "config" which selects a configuration 
file.  Although I don't select one explicitly, the routine may suggest that it 
picks one to load -- one that may already be loaded by SA itself, so the 
"user_prefs" parameter may not be needed.

I experimented with setting an empty configuration, spam_assassin_check(""), 
and that worked.  Apparently, leaving the default allowed mimedefang.pl to pick 
a file that SA was already loading.  ARGH!

The lines 6749-6759 in spam_assassin_init(), where it picks a configuration 
file if none was passed, are the problem.  The choices in the 
"/etc/mail/spamassassin/" directory are ALREADY LOADED by SA.  Perhaps they 
should be deleted?

I conclude that MD is at fault in causing a file to be loaded twice.
I also have my fix:  Explicitly pass "" as the configuration parameter to 
spam_assassin_check(), such that "user_prefs" => "" to the ..._init() call.


_______________________________________________
NOTE: If there is a disclaimer or other legal boilerplate in the above
message, it is NULL AND VOID.  You may ignore it.

Visit http://www.mimedefang.org and http://www.roaringpenguin.com
MIMEDefang mailing list [email protected]
http://lists.roaringpenguin.com/mailman/listinfo/mimedefang

Reply via email to