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

Reply via email to