I can now reproduce the problem, checking ...
  Mark

Looks like a change in Net::DNS 0.76, which no longer has a field
$res->{nameserver}, but has now fields nameserver4 and nameserver6,
with an official access method $res->nameservers.

--- Mail/SpamAssassin/DnsResolver.pm.orig 2014-05-07 17:54:29.000000000 +0200 +++ Mail/SpamAssassin/DnsResolver.pm 2014-06-18 02:13:32.936306639 +0200
@@ -205,6 +205,8 @@
     dbg("dns: servers set by config to: %s", join(', ',@ns_addr_port));
} elsif ($res) { # default as provided by Net::DNS, e.g. /etc/resolv.conf
-    @ns_addr_port = map(untaint_var("[$_]:" . $res->{port}),
-                        @{$res->{nameservers}});
+    my @ns = $res->UNIVERSAL::can('nameservers') ? $res->nameservers
+ : @{$res->{nameservers}}; + my $port = $res->UNIVERSAL::can('port') ? $res->port : $res->{port};
+    @ns_addr_port = map(untaint_var("[$_]:" . $port), @ns);
dbg("dns: servers obtained from Net::DNS : %s", join(', ',@ns_addr_port));
   }

Reply via email to