You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@spamassassin.apache.org by km...@apache.org on 2015/03/10 22:25:36 UTC
svn commit: r1665706 -
/spamassassin/trunk/lib/Mail/SpamAssassin/Plugin/URILocalBL.pm
Author: kmcgrail
Date: Tue Mar 10 21:25:36 2015
New Revision: 1665706
URL: http://svn.apache.org/r1665706
Log:
Bug 7153 for leak of URILocalBL.pm to stderr
Modified:
spamassassin/trunk/lib/Mail/SpamAssassin/Plugin/URILocalBL.pm
Modified: spamassassin/trunk/lib/Mail/SpamAssassin/Plugin/URILocalBL.pm
URL: http://svn.apache.org/viewvc/spamassassin/trunk/lib/Mail/SpamAssassin/Plugin/URILocalBL.pm?rev=1665706&r1=1665705&r2=1665706&view=diff
==============================================================================
--- spamassassin/trunk/lib/Mail/SpamAssassin/Plugin/URILocalBL.pm (original)
+++ spamassassin/trunk/lib/Mail/SpamAssassin/Plugin/URILocalBL.pm Tue Mar 10 21:25:36 2015
@@ -110,6 +110,13 @@ use strict;
use warnings;
use bytes;
use re 'taint';
+use version;
+
+# need GeoIP C library 1.6.3 and GeoIP perl API 1.4.4 or later to avoid messages leaking - Bug 7153
+my $gic_wanted = version->parse('v1.4.4');
+my $gic_have = version->parse(Geo::IP->lib_version());
+my $gip_wanted = version->parse('v1.6.3');
+my $gip_have = version->parse($Geo::IP::VERSION);
use vars qw(@ISA);
@ISA = qw(Mail::SpamAssassin::Plugin);
@@ -132,10 +139,8 @@ sub new {
# this code burps an ugly message if it fails, but that's redirected elsewhere
my $flags = 0;
eval '$flags = Geo::IP::GEOIP_SILENCE if (defined &Geo::IP::GEOIP_SILENCE)';
- open(STDERR, ">&OLDERR");
- close(OLDERR);
- if ($flags) {
+ if ($flags && $gip_wanted >= $gip_have && $gic_wanted >= $gic_have) {
$self->{geoip} = Geo::IP->new(GEOIP_MEMORY_CACHE | GEOIP_CHECK_CACHE | $flags);
$self->{geoisp} = Geo::IP->open_type(GEOIP_ISP_EDITION, GEOIP_MEMORY_CACHE | GEOIP_CHECK_CACHE | $flags);
} else {