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 Ipcop-svn@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/ipcop-svn