For discussion of Alpine Linux development and developer support

8 2

[alpine-devel] SpamAssassin DNSBL tests fail after changes in perl (patch included)

Johan Dahlberg
Details
Message ID
<20141217094939.GA7838@einstein.local>
Sender timestamp
1418809780
DKIM signature
missing
Download raw message
Hello,

With the update to 3.1 some changes in perl broke the dns resolving
capabilities of SpamAssassin.

Although the fault lies within SpamAssassin itself, and it should be on
their end to fix/update it. Still I created a patch that will let 
SpamAssassin 3.4 use DNSBL and general dns lookups properly again.

I cant guarantee it solves all cases but it worked just fine here.

Johan


--- SpamAssassin/DnsResolver.pm.bak
+++ SpamAssassin/DnsResolver.pm
@@ -204,8 +204,10 @@
     @ns_addr_port = @{$self->{conf}->{dns_servers}};
     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));
   }
   return @ns_addr_port;
Leonardo Arena
Details
Message ID
<1419264733.22778.8.camel@df1844j>
In-Reply-To
<20141217094939.GA7838@einstein.local> (view parent)
Sender timestamp
1419264733
DKIM signature
missing
Download raw message
On mer, 2014-12-17 at 11:49 +0200, Johan Dahlberg wrote:
> --- SpamAssassin/DnsResolver.pm.bak
> +++ SpamAssassin/DnsResolver.pm
> @@ -204,8 +204,10 @@
>      @ns_addr_port = @{$self->{conf}->{dns_servers}};
>      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));
>    }
>    return @ns_addr_port;


Hi,
thanks for your contribution.
Would it be possible to have a GIT patch? It would be easier and 100%
error-free to apply.
Thanks!

R,
leo
Johan Dahlberg
Details
Message ID
<20141222170528.GA1926@einstein.local>
In-Reply-To
<1419264733.22778.8.camel@df1844j> (view parent)
Sender timestamp
1419267929
DKIM signature
missing
Download raw message
On Mon, 22 Dec 2014 at 17:12:13, Leonardo Arena wrote:
> On mer, 2014-12-17 at 11:49 +0200, Johan Dahlberg wrote:
> > --- SpamAssassin/DnsResolver.pm.bak
> > +++ SpamAssassin/DnsResolver.pm
> > @@ -204,8 +204,10 @@
> >      @ns_addr_port = @{$self->{conf}->{dns_servers}};
> >      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));
> >    }
> >    return @ns_addr_port;
> 
> 
> Hi,
> thanks for your contribution.
> Would it be possible to have a GIT patch? It would be easier and 100%
> error-free to apply.
> Thanks!
> 
> R,
> leo

Hello, I'm not so used to working with git, but I think the attached
patch is correct.

Johan
Johan Dahlberg
Details
Message ID
<20141222191107.GA3763@einstein.local>
In-Reply-To
<20141222170528.GA1926@einstein.local> (view parent)
Sender timestamp
1419275468
DKIM signature
missing
Download raw message
On Mon, 22 Dec 2014 at 19:05:29, Johan Dahlberg wrote:
> On Mon, 22 Dec 2014 at 17:12:13, Leonardo Arena wrote:
> > On mer, 2014-12-17 at 11:49 +0200, Johan Dahlberg wrote:
> > > --- SpamAssassin/DnsResolver.pm.bak
> > > +++ SpamAssassin/DnsResolver.pm
> > > @@ -204,8 +204,10 @@
> > >      @ns_addr_port = @{$self->{conf}->{dns_servers}};
> > >      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));
> > >    }
> > >    return @ns_addr_port;
> > 
> > 
> > Hi,
> > thanks for your contribution.
> > Would it be possible to have a GIT patch? It would be easier and 100%
> > error-free to apply.
> > Thanks!
> > 
> > R,
> > leo
> 
> Hello, I'm not so used to working with git, but I think the attached
> patch is correct.
> 
> Johan

> diff --git a/lib/Mail/SpamAssassin/DnsResolver.pm.orig b/lib/Mail/SpamAssassin/DnsResolver.pm
> index 41ae81c..fdc1e5e 100644
> --- a/lib/Mail/SpamAssassin/DnsResolver.pm.orig
> +++ b/lib/Mail/SpamAssassin/DnsResolver.pm
> @@ -204,8 +204,10 @@ sub configured_nameservers {
>      @ns_addr_port = @{$self->{conf}->{dns_servers}};
>      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));
>    }
>    return @ns_addr_port;




I took some time to figure out git a bit so I guess the following
attached patch is more accurate(?).

Regards,
Johan
Leonardo Arena
Details
Message ID
<1419501308.23192.30.camel@df1844j>
In-Reply-To
<20141222191107.GA3763@einstein.local> (view parent)
Sender timestamp
1419501308
DKIM signature
missing
Download raw message
On lun, 2014-12-22 at 21:11 +0200, Johan Dahlberg wrote:
> On Mon, 22 Dec 2014 at 19:05:29, Johan Dahlberg wrote:
> > On Mon, 22 Dec 2014 at 17:12:13, Leonardo Arena wrote:
> > > On mer, 2014-12-17 at 11:49 +0200, Johan Dahlberg wrote:
> > > > --- SpamAssassin/DnsResolver.pm.bak
> > > > +++ SpamAssassin/DnsResolver.pm
> > > > @@ -204,8 +204,10 @@
> > > >      @ns_addr_port = @{$self->{conf}->{dns_servers}};
> > > >      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));
> > > >    }
> > > >    return @ns_addr_port;
> > > 
> > > 
> > > Hi,
> > > thanks for your contribution.
> > > Would it be possible to have a GIT patch? It would be easier and 100%
> > > error-free to apply.
> > > Thanks!
> > > 
> > > R,
> > > leo
> > 
> > Hello, I'm not so used to working with git, but I think the attached
> > patch is correct.
> > 
> > Johan
> 
> > diff --git a/lib/Mail/SpamAssassin/DnsResolver.pm.orig b/lib/Mail/SpamAssassin/DnsResolver.pm
> > index 41ae81c..fdc1e5e 100644
> > --- a/lib/Mail/SpamAssassin/DnsResolver.pm.orig
> > +++ b/lib/Mail/SpamAssassin/DnsResolver.pm
> > @@ -204,8 +204,10 @@ sub configured_nameservers {
> >      @ns_addr_port = @{$self->{conf}->{dns_servers}};
> >      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));
> >    }
> >    return @ns_addr_port;
> 
> 
> 
> 
> I took some time to figure out git a bit so I guess the following
> attached patch is more accurate(?).
> 
> Regards,
> Johan

Thanks.
I applied it to edge, can you please check that it works as expected?
Then I can backport it to 3.1-stable.

For future patches it would be nice to have a GIT patch against aports
tree. It would be more straightforward to apply them.
Thanks!

- leo
Leonardo Arena
Details
Message ID
<1419509312.23192.33.camel@df1844j>
In-Reply-To
<20141225113247.GA6302@einstein.local> (view parent)
Sender timestamp
1419509312
DKIM signature
missing
Download raw message
On gio, 2014-12-25 at 13:32 +0200, Johan Dahlberg wrote:
> On Thu, 25 Dec 2014 at 10:55:08, Leonardo Arena wrote:
> > On lun, 2014-12-22 at 21:11 +0200, Johan Dahlberg wrote:
> > > On Mon, 22 Dec 2014 at 19:05:29, Johan Dahlberg wrote:
> > > > On Mon, 22 Dec 2014 at 17:12:13, Leonardo Arena wrote:
> > > > > On mer, 2014-12-17 at 11:49 +0200, Johan Dahlberg wrote:
> > > > > > --- SpamAssassin/DnsResolver.pm.bak
> > > > > > +++ SpamAssassin/DnsResolver.pm
> > > > > > @@ -204,8 +204,10 @@
> > > > > >      @ns_addr_port = @{$self->{conf}->{dns_servers}};
> > > > > >      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));
> > > > > >    }
> > > > > >    return @ns_addr_port;
> > > > > 
> > > > > 
> > > > > Hi,
> > > > > thanks for your contribution.
> > > > > Would it be possible to have a GIT patch? It would be easier and 100%
> > > > > error-free to apply.
> > > > > Thanks!
> > > > > 
> > > > > R,
> > > > > leo
> > > > 
> > > > Hello, I'm not so used to working with git, but I think the attached
> > > > patch is correct.
> > > > 
> > > > Johan
> > > 
> > > > diff --git a/lib/Mail/SpamAssassin/DnsResolver.pm.orig b/lib/Mail/SpamAssassin/DnsResolver.pm
> > > > index 41ae81c..fdc1e5e 100644
> > > > --- a/lib/Mail/SpamAssassin/DnsResolver.pm.orig
> > > > +++ b/lib/Mail/SpamAssassin/DnsResolver.pm
> > > > @@ -204,8 +204,10 @@ sub configured_nameservers {
> > > >      @ns_addr_port = @{$self->{conf}->{dns_servers}};
> > > >      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));
> > > >    }
> > > >    return @ns_addr_port;
> > > 
> > > 
> > > 
> > > 
> > > I took some time to figure out git a bit so I guess the following
> > > attached patch is more accurate(?).
> > > 
> > > Regards,
> > > Johan
> > 
> > Thanks.
> > I applied it to edge, can you please check that it works as expected?
> > Then I can backport it to 3.1-stable.
> > 
> > For future patches it would be nice to have a GIT patch against aports
> > tree. It would be more straightforward to apply them.
> > Thanks!
> > 
> > - leo
> 
> I will test is as soon as the package shows up on the mirrors.
> 
> However I have a problem downloading your aports git, getting the
> following several times now:
> 
> #> git clone http://git.alpinelinux.org/cgit/aports/
> 
> # Cloning into 'aports'...
> # error: Unable to get pack file
> # http://git.alpinelinux.org/cgit/aports/objects/pack/pack-1f504ab51e1954e77d4841ca04d0a395bec1e1af.pack
> # Recv failure: Connection timed out
> # error: Unable to find e24b2cb6f0edf60b9bc766902715f25076ad591a under
> # http://git.alpinelinux.org/cgit/aports
> # Cannot obtain needed tree e24b2cb6f0edf60b9bc766902715f25076ad591a
> # while processing commit 934775c391ac937f8c7a4f952cc7498df51abd7e.
> # error: fetch failed.
> 
> It's temporary perhaps. Are there any mirrors?

May be is a web server issue. Have you tried
git://git.alpinelinux.org/cgit/aports/ ?


> If I have any future patches I will create them against the aports tree.

Thanks!
Johan Dahlberg
Details
Message ID
<20141225113247.GA6302@einstein.local>
In-Reply-To
<1419501308.23192.30.camel@df1844j> (view parent)
Sender timestamp
1419507168
DKIM signature
missing
Download raw message
On Thu, 25 Dec 2014 at 10:55:08, Leonardo Arena wrote:
> On lun, 2014-12-22 at 21:11 +0200, Johan Dahlberg wrote:
> > On Mon, 22 Dec 2014 at 19:05:29, Johan Dahlberg wrote:
> > > On Mon, 22 Dec 2014 at 17:12:13, Leonardo Arena wrote:
> > > > On mer, 2014-12-17 at 11:49 +0200, Johan Dahlberg wrote:
> > > > > --- SpamAssassin/DnsResolver.pm.bak
> > > > > +++ SpamAssassin/DnsResolver.pm
> > > > > @@ -204,8 +204,10 @@
> > > > >      @ns_addr_port = @{$self->{conf}->{dns_servers}};
> > > > >      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));
> > > > >    }
> > > > >    return @ns_addr_port;
> > > > 
> > > > 
> > > > Hi,
> > > > thanks for your contribution.
> > > > Would it be possible to have a GIT patch? It would be easier and 100%
> > > > error-free to apply.
> > > > Thanks!
> > > > 
> > > > R,
> > > > leo
> > > 
> > > Hello, I'm not so used to working with git, but I think the attached
> > > patch is correct.
> > > 
> > > Johan
> > 
> > > diff --git a/lib/Mail/SpamAssassin/DnsResolver.pm.orig b/lib/Mail/SpamAssassin/DnsResolver.pm
> > > index 41ae81c..fdc1e5e 100644
> > > --- a/lib/Mail/SpamAssassin/DnsResolver.pm.orig
> > > +++ b/lib/Mail/SpamAssassin/DnsResolver.pm
> > > @@ -204,8 +204,10 @@ sub configured_nameservers {
> > >      @ns_addr_port = @{$self->{conf}->{dns_servers}};
> > >      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));
> > >    }
> > >    return @ns_addr_port;
> > 
> > 
> > 
> > 
> > I took some time to figure out git a bit so I guess the following
> > attached patch is more accurate(?).
> > 
> > Regards,
> > Johan
> 
> Thanks.
> I applied it to edge, can you please check that it works as expected?
> Then I can backport it to 3.1-stable.
> 
> For future patches it would be nice to have a GIT patch against aports
> tree. It would be more straightforward to apply them.
> Thanks!
> 
> - leo

I will test is as soon as the package shows up on the mirrors.

However I have a problem downloading your aports git, getting the
following several times now:

#> git clone http://git.alpinelinux.org/cgit/aports/

# Cloning into 'aports'...
# error: Unable to get pack file
# http://git.alpinelinux.org/cgit/aports/objects/pack/pack-1f504ab51e1954e77d4841ca04d0a395bec1e1af.pack
# Recv failure: Connection timed out
# error: Unable to find e24b2cb6f0edf60b9bc766902715f25076ad591a under
# http://git.alpinelinux.org/cgit/aports
# Cannot obtain needed tree e24b2cb6f0edf60b9bc766902715f25076ad591a
# while processing commit 934775c391ac937f8c7a4f952cc7498df51abd7e.
# error: fetch failed.

It's temporary perhaps. Are there any mirrors?

If I have any future patches I will create them against the aports tree.

Regards,
Johan
Johan Dahlberg
Details
Message ID
<20141226012808.GA6116@einstein.local>
In-Reply-To
<1419509312.23192.33.camel@df1844j> (view parent)
Sender timestamp
1419557289
DKIM signature
missing
Download raw message
On Thu, 25 Dec 2014 at 13:08:32, Leonardo Arena wrote:
> On gio, 2014-12-25 at 13:32 +0200, Johan Dahlberg wrote:
> > On Thu, 25 Dec 2014 at 10:55:08, Leonardo Arena wrote:
> > > On lun, 2014-12-22 at 21:11 +0200, Johan Dahlberg wrote:
> > > > On Mon, 22 Dec 2014 at 19:05:29, Johan Dahlberg wrote:
> > > > > On Mon, 22 Dec 2014 at 17:12:13, Leonardo Arena wrote:
> > > > > > On mer, 2014-12-17 at 11:49 +0200, Johan Dahlberg wrote:
> > > > > > > --- SpamAssassin/DnsResolver.pm.bak
> > > > > > > +++ SpamAssassin/DnsResolver.pm
> > > > > > > @@ -204,8 +204,10 @@
> > > > > > >      @ns_addr_port = @{$self->{conf}->{dns_servers}};
> > > > > > >      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));
> > > > > > >    }
> > > > > > >    return @ns_addr_port;
> > > > > > 
> > > > > > 
> > > > > > Hi,
> > > > > > thanks for your contribution.
> > > > > > Would it be possible to have a GIT patch? It would be easier and 100%
> > > > > > error-free to apply.
> > > > > > Thanks!
> > > > > > 
> > > > > > R,
> > > > > > leo
> > > > > 
> > > > > Hello, I'm not so used to working with git, but I think the attached
> > > > > patch is correct.
> > > > > 
> > > > > Johan
> > > > 
> > > > > diff --git a/lib/Mail/SpamAssassin/DnsResolver.pm.orig b/lib/Mail/SpamAssassin/DnsResolver.pm
> > > > > index 41ae81c..fdc1e5e 100644
> > > > > --- a/lib/Mail/SpamAssassin/DnsResolver.pm.orig
> > > > > +++ b/lib/Mail/SpamAssassin/DnsResolver.pm
> > > > > @@ -204,8 +204,10 @@ sub configured_nameservers {
> > > > >      @ns_addr_port = @{$self->{conf}->{dns_servers}};
> > > > >      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));
> > > > >    }
> > > > >    return @ns_addr_port;
> > > > 
> > > > 
> > > > 
> > > > 
> > > > I took some time to figure out git a bit so I guess the following
> > > > attached patch is more accurate(?).
> > > > 
> > > > Regards,
> > > > Johan
> > > 
> > > Thanks.
> > > I applied it to edge, can you please check that it works as expected?
> > > Then I can backport it to 3.1-stable.
> > > 
> > > For future patches it would be nice to have a GIT patch against aports
> > > tree. It would be more straightforward to apply them.
> > > Thanks!
> > > 
> > > - leo
> > 
> > I will test is as soon as the package shows up on the mirrors.
> > 
> > However I have a problem downloading your aports git, getting the
> > following several times now:
> > 
> > #> git clone http://git.alpinelinux.org/cgit/aports/
> > 
> > # Cloning into 'aports'...
> > # error: Unable to get pack file
> > # http://git.alpinelinux.org/cgit/aports/objects/pack/pack-1f504ab51e1954e77d4841ca04d0a395bec1e1af.pack
> > # Recv failure: Connection timed out
> > # error: Unable to find e24b2cb6f0edf60b9bc766902715f25076ad591a under
> > # http://git.alpinelinux.org/cgit/aports
> > # Cannot obtain needed tree e24b2cb6f0edf60b9bc766902715f25076ad591a
> > # while processing commit 934775c391ac937f8c7a4f952cc7498df51abd7e.
> > # error: fetch failed.
> > 
> > It's temporary perhaps. Are there any mirrors?
> 
> May be is a web server issue. Have you tried
> git://git.alpinelinux.org/cgit/aports/ ?
> 
> 
> > If I have any future patches I will create them against the aports tree.
> 
> Thanks!
> 

The patched spamassassin is working as expected.

DNSBL lookups and scoring are all accurate. So I think you can push this
to the main repo.

Regards,
Johan
Leonardo Arena
Details
Message ID
<1419857936.23192.51.camel@df1844j>
In-Reply-To
<20141226012808.GA6116@einstein.local> (view parent)
Sender timestamp
1419857936
DKIM signature
missing
Download raw message
On ven, 2014-12-26 at 03:28 +0200, Johan Dahlberg wrote:

[snip]

> The patched spamassassin is working as expected.
> 
> DNSBL lookups and scoring are all accurate. So I think you can push this
> to the main repo.

Backported to 3.1-stable.

Thanks!

- leo