You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@spamassassin.apache.org by he...@apache.org on 2018/10/16 18:40:27 UTC

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

Author: hege
Date: Tue Oct 16 18:40:27 2018
New Revision: 1844040

URL: http://svn.apache.org/viewvc?rev=1844040&view=rev
Log:
Some IP handling unifying

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

Modified: spamassassin/trunk/lib/Mail/SpamAssassin/DnsResolver.pm
URL: http://svn.apache.org/viewvc/spamassassin/trunk/lib/Mail/SpamAssassin/DnsResolver.pm?rev=1844040&r1=1844039&r2=1844040&view=diff
==============================================================================
--- spamassassin/trunk/lib/Mail/SpamAssassin/DnsResolver.pm (original)
+++ spamassassin/trunk/lib/Mail/SpamAssassin/DnsResolver.pm Tue Oct 16 18:40:27 2018
@@ -45,7 +45,8 @@ require 5.008001;  # needs utf8::is_utf8
 use Mail::SpamAssassin;
 use Mail::SpamAssassin::Logger;
 use Mail::SpamAssassin::Constants qw(:ip);
-use Mail::SpamAssassin::Util qw(untaint_var decode_dns_question_entry idn_to_ascii);
+use Mail::SpamAssassin::Util qw(untaint_var decode_dns_question_entry
+                                idn_to_ascii reverse_ip_address);
 
 use Socket;
 use Errno qw(EADDRINUSE EACCES);
@@ -534,9 +535,8 @@ sub new_dns_packet {
 
   # construct a PTR query if it looks like an IPv4 address
   if (!defined($type) || $type eq 'PTR') {
-    local($1,$2,$3,$4);
-    if ($domain =~ /^(\d+)\.(\d+)\.(\d+)\.(\d+)$/) {
-      $domain = "$4.$3.$2.$1.in-addr.arpa.";
+    if ($domain =~ /^$IPV4_ADDRESS$/o) {
+      $domain = reverse_ip_address($domain).".in-addr.arpa.";
       $type = 'PTR';
     }
   }