You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@spamassassin.apache.org by jm...@apache.org on 2005/12/19 08:23:52 UTC

svn commit: r357659 - /spamassassin/trunk/lib/Mail/SpamAssassin/DnsResolver.pm

Author: jm
Date: Sun Dec 18 23:23:50 2005
New Revision: 357659

URL: http://svn.apache.org/viewcvs?rev=357659&view=rev
Log:
bug 4611: use lookup_ptr() when looking up an IP address, as Net::DNS::Resolver does

Modified:
    spamassassin/trunk/lib/Mail/SpamAssassin/DnsResolver.pm

Modified: spamassassin/trunk/lib/Mail/SpamAssassin/DnsResolver.pm
URL: http://svn.apache.org/viewcvs/spamassassin/trunk/lib/Mail/SpamAssassin/DnsResolver.pm?rev=357659&r1=357658&r2=357659&view=diff
==============================================================================
--- spamassassin/trunk/lib/Mail/SpamAssassin/DnsResolver.pm (original)
+++ spamassassin/trunk/lib/Mail/SpamAssassin/DnsResolver.pm Sun Dec 18 23:23:50 2005
@@ -262,7 +262,7 @@
 
 =item $packet = new_dns_packet ($host, $type, $class)
 
-A wrapper for C<Net::DNS::Packet::new()> which traps a die thrown by it
+A wrapper for C<Net::DNS::Packet::new()> which traps a die thrown by it.
 
 To use this, change calls to C<Net::DNS::Resolver::bgsend> from:
 
@@ -278,6 +278,12 @@
   my ($self, $host, $type, $class) = @_;
 
   return if $self->{no_resolver};
+
+  # construct a PTR query if it looks like an IPv4 address
+  if ((!defined($type) || $type eq 'PTR') && $host =~ /^(\d+)\.(\d+)\.(\d+)\.(\d+)$/) {
+    $host = "$4.$3.$2.$1.in-addr.arpa.";
+    $type = 'PTR';
+  }
 
   $self->connect_sock_if_reqd();
   my $packet;