Revision: 7503
http://sourceforge.net/p/ipcop/svn/7503
Author: owes
Date: 2014-04-25 14:05:24 +0000 (Fri, 25 Apr 2014)
Log Message:
-----------
Avoid squid warning messages with active URL filter.
Modified Paths:
--------------
ipcop/trunk/config/cfgroot/redirector-urlfilter
ipcop/trunk/html/cgi-bin/urlfilter.cgi
ipcop/trunk/src/scripts/makesquidconf.pl
ipcop/trunk/src/scripts/upgrade.sh
ipcop/trunk/updates/2.1.5/setup
Modified: ipcop/trunk/config/cfgroot/redirector-urlfilter
===================================================================
--- ipcop/trunk/config/cfgroot/redirector-urlfilter 2014-04-25 06:20:18 UTC
(rev 7502)
+++ ipcop/trunk/config/cfgroot/redirector-urlfilter 2014-04-25 14:05:24 UTC
(rev 7503)
@@ -1,4 +1,5 @@
ENABLED=off
ORDER=10
NAME=URL filter
-CMD=/usr/bin/squidGuard -f
+CMD=/usr/bin/squidGuard
+OPTION_CHAIN=-f
Modified: ipcop/trunk/html/cgi-bin/urlfilter.cgi
===================================================================
--- ipcop/trunk/html/cgi-bin/urlfilter.cgi 2014-04-25 06:20:18 UTC (rev
7502)
+++ ipcop/trunk/html/cgi-bin/urlfilter.cgi 2014-04-25 14:05:24 UTC (rev
7503)
@@ -527,7 +527,7 @@
if ($proxysettings{'ENABLE_REDIRECTOR'} ne 'on') {
$errormessage .= "$Lang::tr{'redirectors are disabled'}<br />";
}
- if ((!($proxysettings{'ENABLED_GREEN_1'} eq 'on')) &&
(!($proxysettings{'ENABLED_BLUE_1'} eq 'on')) &&
(!($proxysettings{'ENABLED_OVPN'} eq 'on'))) {
+ if ((!($proxysettings{'ENABLED_GREEN_1'} eq 'on')) &&
(!($proxysettings{'ENABLED_BLUE_1'} eq 'on')) &&
(!($proxysettings{'ENABLED_OVPN'} eq 'on'))) {
$errormessage .= "$Lang::tr{'errmsg web proxy service required'}<br
/>";
}
@@ -2682,7 +2682,8 @@
my %redirectorconf=();
$redirectorconf{'NAME'} = $Lang::tr{'url filter'};
$redirectorconf{'ORDER'} = 10;
- $redirectorconf{'CMD'} = '/usr/bin/squidGuard -f';
+ $redirectorconf{'CMD'} = '/usr/bin/squidGuard';
+ $redirectorconf{'OPTION_CHAIN'} = '-f';
$redirectorconf{'ENABLED'} = $filtersettings{'ENABLED'};
&General::writehash("/var/ipcop/proxy/redirector/urlfilter",
\%redirectorconf);
Modified: ipcop/trunk/src/scripts/makesquidconf.pl
===================================================================
--- ipcop/trunk/src/scripts/makesquidconf.pl 2014-04-25 06:20:18 UTC (rev
7502)
+++ ipcop/trunk/src/scripts/makesquidconf.pl 2014-04-25 14:05:24 UTC (rev
7503)
@@ -61,6 +61,7 @@
my $mimetypes = "/var/ipcop/proxy/mimetypes";
my $throttled_urls = "/var/ipcop/proxy/throttle";
my $redirectwrapper = "/usr/local/bin/redirectwrapper";
+my $activeredirectors = 0;
my $cre_groups = "/var/ipcop/proxy/cre/classrooms";
my $cre_svhosts = "/var/ipcop/proxy/cre/supervisors";
@@ -138,50 +139,38 @@
&writepacfile;
-# Write the squid.conf file
-
-&writeconfigfile;
-
# Write the squid redirector wrapper
&writewrapper;
+# Write the squid.conf file
-# -------------------------------------------------------------------
-# Retrieve number of active redirectors
+&writeconfigfile;
-sub activeredirectors
-{
- my $count=0;
- foreach my $redirector (</var/ipcop/proxy/redirector/*>) {
- if (-e $redirector) {
- my %redirectorsettings=();
- &General::readhash($redirector, \%redirectorsettings);
+# -------------------------------------------------------------------
+# Build a chain of redirector processes and write the wrapper program for the
redirectors
- if (defined($redirectorsettings{'NAME'}) &&
($redirectorsettings{'ENABLED'} eq 'on')) {
- $count++;
- }
- }
- }
- return $count;
-}
-
- # -------------------------------------------------------------------
-# Build a chain of redirector processes
-
-sub redirectorchain
+sub writewrapper
{
my %redirectors = ();
+ my $lastredirector = 0;
+
foreach my $redirector (</var/ipcop/proxy/redirector/*>) {
if (-e $redirector) {
my %redirectorsettings=();
+ $redirectorsettings{'OPTION_CHAIN'} = '';
&General::readhash($redirector, \%redirectorsettings);
if (defined($redirectorsettings{'NAME'})) {
$redirectors{$redirectorsettings{'NAME'}}{'ENABLED'} =
$redirectorsettings{'ENABLED'};
$redirectors{$redirectorsettings{'NAME'}}{'ORDER'} =
$redirectorsettings{'ORDER'};
$redirectors{$redirectorsettings{'NAME'}}{'CMD'} =
$redirectorsettings{'CMD'};
+ $redirectors{$redirectorsettings{'NAME'}}{'OPTION_CHAIN'} =
$redirectorsettings{'OPTION_CHAIN'};
+ if (($redirectorsettings{'ORDER'} > $lastredirector) &&
($redirectorsettings{'ENABLED'} eq 'on')) {
+ # could be the last one in the chain
+ $lastredirector = $redirectorsettings{'ORDER'};
+ }
}
}
}
@@ -193,24 +182,21 @@
foreach my $redirector (@redirectornames) {
if ($redirectors{$redirector}{'ENABLED'} eq 'on') {
- if($chain ne '') {
+ $activeredirectors++;
+ if ($chain ne '') {
$chain .= "|";
}
$chain .= "$redirectors{$redirector}{'CMD'}";
+ if ($redirectors{$redirector}{'ORDER'} < $lastredirector) {
+ # more redirectors will follow
+ $chain .= " $redirectors{$redirector}{'OPTION_CHAIN'}";
+ }
}
}
- return $chain;
-}
-
-# -------------------------------------------------------------------
-# Write the wrapper program for the redirectors
-
-sub writewrapper
-{
open (FILE, ">$redirectwrapper");
print FILE "#!/bin/sh\n";
- print FILE &redirectorchain;
+ print FILE $chain;
print FILE "\n";
close FILE;
system("chmod 755 $redirectwrapper");
@@ -1241,8 +1227,7 @@
if (!($proxysettings{'ADMIN_MAIL_ADDRESS'} eq '')) { print FILE "cache_mgr
$proxysettings{'ADMIN_MAIL_ADDRESS'}\n\n"; }
# Write the parent proxy info, if needed.
- if ($remotehost ne '')
- {
+ if ($remotehost ne '') {
print FILE "cache_peer $remotehost parent $remoteport 3130 default
no-query";
# Enter authentication for the parent cache. Option format is
@@ -1263,7 +1248,7 @@
print FILE "never_direct allow all\n\n";
}
- if ($proxysettings{'ENABLE_REDIRECTOR'} eq 'on' && &activeredirectors > 0)
{
+ if (($proxysettings{'ENABLE_REDIRECTOR'} eq 'on') && ($activeredirectors >
0)) {
print FILE "url_rewrite_program $redirectwrapper\n";
print FILE "url_rewrite_children $proxysettings{'CHILDREN'} startup=1
idle=1 concurrency=0\n\n";
}
Modified: ipcop/trunk/src/scripts/upgrade.sh
===================================================================
--- ipcop/trunk/src/scripts/upgrade.sh 2014-04-25 06:20:18 UTC (rev 7502)
+++ ipcop/trunk/src/scripts/upgrade.sh 2014-04-25 14:05:24 UTC (rev 7503)
@@ -111,3 +111,9 @@
# CA certificate bundle
/usr/sbin/update-ca-certificates --fresh
+
+TMP=`grep "squidGuard -f" /var/ipcop/proxy/redirector/urlfilter`
+if [ "x$TMP" != "x" ]; then
+ /bin/sed -i -e "s+CMD=.*+CMD=/usr/bin/squidGuard+"
/var/ipcop/proxy/redirector/urlfilter
+ echo "OPTION_CHAIN=-f" >> /var/ipcop/proxy/redirector/urlfilter
+fi
Modified: ipcop/trunk/updates/2.1.5/setup
===================================================================
--- ipcop/trunk/updates/2.1.5/setup 2014-04-25 06:20:18 UTC (rev 7502)
+++ ipcop/trunk/updates/2.1.5/setup 2014-04-25 14:05:24 UTC (rev 7503)
@@ -127,6 +127,8 @@
/usr/local/bin/openvpnctrl --restart
fi
+# config changes
+/usr/local/bin/restartsquid --config
# restart squid (helper checks whether squid is enabled)
/usr/local/bin/restartsquid
This was sent by the SourceForge.net collaborative development platform, the
world's largest Open Source development site.
------------------------------------------------------------------------------
Start Your Social Network Today - Download eXo Platform
Build your Enterprise Intranet with eXo Platform Software
Java Based Open Source Intranet - Social, Extensible, Cloud Ready
Get Started Now And Turn Your Intranet Into A Collaboration Platform
http://p.sf.net/sfu/ExoPlatform
_______________________________________________
Ipcop-svn mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/ipcop-svn