John Rudd wrote the following on 11/30/2006 9:26 AM -0800:
Jonas Eckerman wrote:
John Rudd wrote:
Question 2: someone asked why my module is "Botnet" instead of "Mail::SpamAssassin::Plugin::Botnet". The answer is: when I first started this (and this is/was my first SA Plugin authoring attempt), I tried that and it didn't work.

That's odd. What errors did you get?

When I change Botnet.pm to have:

package Mail::SpamAssassin::Plugin::Botnet;
use base 'Mail::SpamAssassin::Plugin';


and then change Botnet.cf to have

loadplugin Mail::SpamAssassin::Plugin::Botnet /etc/mail/spamassassin/Botnet.pm


I get these errors:

[2797] warn: plugin: failed to create instance of plugin Mail::SpamAssassin::Plugin::Botnet: Can't locate object method "new" via package "Mail::SpamAssassin::Plugin::Botnet" (perhaps you forgot to load "Mail::SpamAssassin::Plugin::Botnet"?) at (eval 200) line 1.
[2797] info: config: failed to parse line, skipping: botnet_pass_auth 0
[2797] info: config: failed to parse line, skipping: botnet_skip_ip ^127\.0\.0\.1$ [2797] info: config: failed to parse line, skipping: botnet_skip_ip ^10\..*$

(and it keeps going with an error for each of the config lines I have in Botnet.cf)


If I go back to what's in the distribution, the errors go away and everything works fine.

Here are the changes I made to init.pre and Botnet.pm and Botnet.cf:

/etc/mail/spamassassin/init.pre
loadplugin Mail::SpamAssassin::Plugin::Botnet /etc/mail/spamassassin/Botnet.pm

/etc/mail/spamassassin/Botnet.pm
package Mail::SpamAssassin::Plugin::Botnet;

/etc/mail/spamassassin/Botnet.cf
removed: loadplugin      Botnet    Botnet.pm
added at top of file:  ifplugin Mail::SpamAssassin::Plugin::Botnet
added at end of file:  endif

And it works great.

Bill

Reply via email to