Daniel J McDonald wrote the following on 6/15/2007 2:54 PM -0800:
> On Fri, 2007-06-15 at 22:08 +0100, Randal, Phil wrote:
>
>> Bill,
>>
>> The problem is that Botnet uses Net:NS::Resolver's default retry and
>> timeout values, which are way too high.
>>
>> Spamassassin's DnsResolver.pm uses these values:
>>
>> udp_timeout:3
>> tcp_timeout:3
>> retrans:0
>> retry:1
>>

>
> And a few others... Might as well be completely consistent. Try this
> patch:
> --- Botnet.pm.orig 2007-06-15 16:47:33.000000000 -0500
> +++ Botnet.pm 2007-06-15 16:52:13.000000000 -0500
> @@ -703,7 +703,16 @@
> ($type =~ /^(?:A|MX)$/) &&
> (defined $max) &&
> ($max =~ /^-?\d+$/) ) {
> - $resolver = Net:NS::Resolver->new();
> + $resolver = Net:NS::Resolver->new(
> + udp_timeout => 3,
> + tcp_timeout => 3,
> + retrans => 0,
> + retry => 1,
> + persistent_tcp=>0,
> + persistent_udp=>0,
> + dnsrch=>0,
> + defnames=>0,
> + );
> if ($query = $resolver->search($name, $type)) {
> # found matches
> $i = 0;
> @@ -826,7 +835,18 @@
> sub get_rdns {
> my ($ip) = @_;
> my ($query, @answer, $rr);
> - my $resolver = Net:NS::Resolver->new();
> + my $resolver = Net:NS::Resolver->new(
> + udp_timeout => 3,
> + tcp_timeout => 3,
> + retrans => 0,
> + retry => 1,
> + persistent_tcp=>0,
> + persistent_udp=>0,
> + dnsrch=>0,
> + defnames=>0,
> + );
> + if ($query = $resolver->search($name, $type)) {
> + # found matches
> my $name = "";
>
> if ($query = $resolver->query($ip, 'PTR', 'IN')) {
>
>

Daniel, here is a snippet of my debug output with this patch applied to
Botnet.pm, version 0.7:

[23898] warn: plugin: failed to parse plugin
/etc/mail/spamassassin/Botnet.pm: Global symbol "$name" requires
explicit package name at /etc/mail/spamassassin/Botnet.pm line 848.
[23898] warn: Global symbol "$type" requires explicit package name at
/etc/mail/spamassassin/Botnet.pm line 848.
[23898] warn: Missing right curly or square bracket at
/etc/mail/spamassassin/Botnet.pm line 875, at end of line
[23898] warn: syntax error at /etc/mail/spamassassin/Botnet.pm line 875,
at EOF
[23898] warn: Compilation failed in require at
/usr/lib/perl5/site_perl/5.8.8/Mail/SpamAssassin/PluginHandler.pm line 97.

Bill