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:34:32 UTC
svn commit: r1844039 -
/spamassassin/trunk/lib/Mail/SpamAssassin/Plugin/URIDNSBL.pm
Author: hege
Date: Tue Oct 16 18:34:31 2018
New Revision: 1844039
URL: http://svn.apache.org/viewvc?rev=1844039&view=rev
Log:
Some IP handling unifying
Modified:
spamassassin/trunk/lib/Mail/SpamAssassin/Plugin/URIDNSBL.pm
Modified: spamassassin/trunk/lib/Mail/SpamAssassin/Plugin/URIDNSBL.pm
URL: http://svn.apache.org/viewvc/spamassassin/trunk/lib/Mail/SpamAssassin/Plugin/URIDNSBL.pm?rev=1844039&r1=1844038&r2=1844039&view=diff
==============================================================================
--- spamassassin/trunk/lib/Mail/SpamAssassin/Plugin/URIDNSBL.pm (original)
+++ spamassassin/trunk/lib/Mail/SpamAssassin/Plugin/URIDNSBL.pm Tue Oct 16 18:34:31 2018
@@ -294,7 +294,7 @@ package Mail::SpamAssassin::Plugin::URID
use Mail::SpamAssassin::Plugin;
use Mail::SpamAssassin::Constants qw(:ip);
-use Mail::SpamAssassin::Util qw(idn_to_ascii);
+use Mail::SpamAssassin::Util qw(idn_to_ascii reverse_ip_address);
use Mail::SpamAssassin::Logger;
use strict;
use warnings;
@@ -520,7 +520,7 @@ sub parse_and_canonicalize_subtest {
# ok, already a decimal number
} elsif (/^0x[0-9a-zA-Z]{1,8}\z/) {
$_ = hex($_); # hex -> number
- } elsif (/^\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}\z/) {
+ } elsif (/^$IPV4_ADDRESS\z/o) {
$_ = Mail::SpamAssassin::Util::my_inet_aton($_); # quad-dot -> number
$any_quad_dot = 1;
} else {
@@ -835,12 +835,9 @@ sub query_hosts_or_domains {
my $obj = { dom => $host };
$self->lookup_dnsbl_for_ip($pms, $obj, $host);
# and check the IP in RHSBLs too
- local($1,$2,$3,$4);
- if ($host =~ /^(\d+)\.(\d+)\.(\d+)\.(\d+)$/) {
- $domain = "$4.$3.$2.$1";
- $single_dnsbl = 1;
- $is_ip = 1;
- }
+ $domain = reverse_ip_address($host);
+ $single_dnsbl = 1;
+ $is_ip = 1;
}
}
else {
@@ -1092,7 +1089,7 @@ sub complete_dnsbl_lookup {
# Net::DNS::RR::A::address() is available since Net::DNS 0.69
$rdatastr = $rr->UNIVERSAL::can('address') ? $rr->address
: $rr->rdatastr;
- if ($rdatastr =~ m/^\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}$/) {
+ if ($rdatastr =~ m/^$IPV4_ADDRESS$/o) {
$rdatanum = Mail::SpamAssassin::Util::my_inet_aton($rdatastr);
}
} elsif ($rr_type eq 'TXT') {