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::DNS::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::DNS::Resolver->new();
+ $resolver = Net::DNS::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::DNS::Resolver->new();
+ my $resolver = Net::DNS::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