diff -Nur Mail-SpamAssassin-3.4.1.orig/lib/Mail/SpamAssassin/Plugin/URIDNSBL.pm Mail-SpamAssassin-3.4.1/lib/Mail/SpamAssassin/Plugin/URIDNSBL.pm --- Mail-SpamAssassin-3.4.1.orig/lib/Mail/SpamAssassin/Plugin/URIDNSBL.pm 2015-04-28 12:56:47.000000000 -0700 +++ Mail-SpamAssassin-3.4.1/lib/Mail/SpamAssassin/Plugin/URIDNSBL.pm 2017-10-23 16:02:04.798386891 -0700 @@ -942,9 +942,8 @@ next unless (defined($str) && defined($dom)); dbg("uridnsbl: got($j) NS for $dom: $str"); - if ($str =~ /IN\s+NS\s+(\S+)/) { - my $nsmatch = lc $1; - $nsmatch =~ s/\.$//; + if ($rr->type eq 'NS') { + my $nsmatch = lc $rr->nsdname; # available since at least Net::DNS 0.14 my $nsrhblstr = $nsmatch; my $fullnsrhblstr = $nsmatch; @@ -1025,9 +1024,9 @@ } dbg("uridnsbl: complete_a_lookup got(%d) A for %s: %s", $j,$hname,$str); - local $1; - if ($str =~ /IN\s+A\s+(\S+)/) { - $self->lookup_dnsbl_for_ip($pms, $ent->{obj}, $1); + if ($rr->type eq 'A') { + my $ip_address = $rr->rdatastr; + $self->lookup_dnsbl_for_ip($pms, $ent->{obj}, $ip_address); } } }