url-filter: Use upstream proxy when downloading blacklists

Fixes #10690

Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
This commit is contained in:
Michael Tremer
2015-06-16 14:39:26 +02:00
parent ee299e2ecf
commit 5428eeeeaa
2 changed files with 30 additions and 0 deletions

View File

@@ -23,6 +23,8 @@
package Network;
require "/var/ipfire/general-functions.pl";
use Socket;
my %PREFIX2NETMASK = (
@@ -244,6 +246,31 @@ sub ip_address_in_network($$) {
return (($address_bin ge $network_bin) && ($address_bin le $broadcast_bin));
}
sub setup_upstream_proxy() {
my %proxysettings = ();
&General::readhash("${General::swroot}/proxy/settings", \%proxysettings);
if ($proxysettings{'UPSTREAM_PROXY'}) {
my $credentials = "";
if ($proxysettings{'UPSTREAM_USER'}) {
$credentials = $proxysettings{'UPSTREAM_USER'};
if ($proxysettings{'UPSTREAM_PASSWORD'}) {
$credentials .= ":" . $proxysettings{'UPSTREAM_PASSWORD'};
}
$credentials .= "@";
}
my $proxy = "http://" . $credentials . $proxysettings{'UPSTREAM_PROXY'};
$ENV{'http_proxy'} = $proxy;
$ENV{'https_proxy'} = $proxy;
$ENV{'ftp_proxy'} = $proxy;
}
}
1;
# Remove the next line to enable the testsuite

View File

@@ -8,6 +8,8 @@
#
use strict;
require "/var/ipfire/general-functions.pl";
my $make_clean = 1;
my $swroot = "/var/ipfire";
@@ -72,6 +74,7 @@ unless ($blacklist_url eq '')
if (-d $target) { system("rm -rf $target"); }
system("mkdir $target");
&Network::setup_upstream_proxy();
system("/usr/bin/wget -o $target/wget.log -O $blacklist $blacklist_url");
if (-e $blacklist)