]> git.ipfire.org Git - people/meitelwein/ipfire-2.x.git/blobdiff - config/cfgroot/network-functions.pl
url-filter: Use upstream proxy when downloading blacklists
[people/meitelwein/ipfire-2.x.git] / config / cfgroot / network-functions.pl
index 029ffc09eee5308dddc5d777e7eb11417e347e3b..1cd2814ec1b0c32f3592b36a377ca15060dab6b2 100644 (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