https://issues.apache.org/SpamAssassin/show_bug.cgi?id=6228

--- Comment #11 from Anthony Foiani <[email protected]> 2009-12-16 
23:34:28 UTC ---
Ok, I tried to ask learner_new to put $store into both places, but it didn't
seem to register.  Here's a complete kludge that makes the --backup case run...

After $spamtest->init(1) in sa-learn, add this:

# hacky mc hack hack 
if ( $spamtest->{bayes_scanner} ) 
{ 
  foreach my $plugin ( @{ $spamtest->{plugins}->{plugins} } ) 
  { 
    if ( $plugin->isa( 'Mail::SpamAssassin::Plugin::Bayes' ) ) 
    { 
      $spamtest->{bayes_scanner}->{store} = $plugin->{store}; 
    } 
  } 
} 

(Sorry that the style doesn't match the rest of the code, but I was "thinking
out loud", and that means that it was done in my internal default style.  Feel
free to munge as you see fit.)

There are many other better fixes:

1. don't go grovelling into the store directly anyway; define an interface, and
use it.

2. if you must grovel through store, make sure that learner_new puts it in the
right place.

I suspect that whoever did the plugin-ization of the Bayes filter will be able
to implement the correct fix much more elegantly.  But if you need something to
get 3.3.0 out the door, you're welcome to use the above.

-- 
Configure bugmail: 
https://issues.apache.org/SpamAssassin/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the assignee for the bug.

Reply via email to