Revision: 6088 http://ipcop.svn.sourceforge.net/ipcop/?rev=6088&view=rev Author: dotzball Date: 2011-11-16 07:43:56 +0000 (Wed, 16 Nov 2011) Log Message: ----------- Some more redirector changes: - Fix typos - Use new proxy settings CHILDREN and ENABLE_REDIRECTOR in makesquidconf - Build redirector chain with rank order - Add makesquidconf and redirectwrapper to rootfiles
Modified Paths: -------------- ipcop/trunk/config/rootfiles/common/misc-progs ipcop/trunk/html/cgi-bin/proxy.cgi ipcop/trunk/src/scripts/makesquidconf ipcop/trunk/updates/2.0.2/ROOTFILES.i486-2.0.2 Modified: ipcop/trunk/config/rootfiles/common/misc-progs =================================================================== --- ipcop/trunk/config/rootfiles/common/misc-progs 2011-11-15 16:25:57 UTC (rev 6087) +++ ipcop/trunk/config/rootfiles/common/misc-progs 2011-11-16 07:43:56 UTC (rev 6088) @@ -62,6 +62,7 @@ usr/local/bin/logwatch usr/local/bin/make usr/local/bin/makegraphs +usr/local/bin/makesquidconf usr/local/bin/monitorTraffic.pl usr/local/bin/openvpn.sh usr/local/bin/openvpnctrl @@ -71,6 +72,7 @@ usr/local/bin/rebuildhosts usr/local/bin/rebuildlangtexts usr/local/bin/red +usr/local/bin/redirectwrapper usr/local/bin/resetusb usr/local/bin/restartdhcp usr/local/bin/restarthttpd Modified: ipcop/trunk/html/cgi-bin/proxy.cgi =================================================================== --- ipcop/trunk/html/cgi-bin/proxy.cgi 2011-11-15 16:25:57 UTC (rev 6087) +++ ipcop/trunk/html/cgi-bin/proxy.cgi 2011-11-16 07:43:56 UTC (rev 6088) @@ -4143,7 +4143,7 @@ if($proxysettings{'ENABLE_REDIRECTOR'} eq 'on') { - print FILE "url_rewrite_program /usr/local/bin/redirect_wrapper\n"; + print FILE "url_rewrite_program /usr/local/bin/redirectwrapper\n"; print FILE "url_rewrite_children $proxysettings{'CHILDREN'}\n\n"; } Modified: ipcop/trunk/src/scripts/makesquidconf =================================================================== --- ipcop/trunk/src/scripts/makesquidconf 2011-11-15 16:25:57 UTC (rev 6087) +++ ipcop/trunk/src/scripts/makesquidconf 2011-11-16 07:43:56 UTC (rev 6088) @@ -153,10 +153,9 @@ sub activeredirectors { - my $redirector; my $count=0; - foreach $redirector (</var/ipcop/proxy/redirector/*>) { + foreach my $redirector (</var/ipcop/proxy/redirector/*>) { if (-e $redirector) { %redirectorsettings=(); &General::readhash($redirector, \%redirectorsettings); @@ -169,47 +168,40 @@ return $count; } -# ------------------------------------------------------------------- -# Retrieve minimum number of child processes + # ------------------------------------------------------------------- +# Build a chain of redirector processes -sub numchildprocesses +sub redirectorchain { - my $redirector; - my $count=0; - - foreach $redirector (</var/ipcop/proxy/redirector/*>) { + my %redirectors = (); + foreach my $redirector (</var/ipcop/proxy/redirector/*>) { if (-e $redirector) { - %redirectorsettings=(); + my %redirectorsettings=(); &General::readhash($redirector, \%redirectorsettings); - if (defined($redirectorsettings{'NAME'}) && ($redirectorsettings{'ENABLED'} eq 'on')) { - if ($count lt $redirectorsettings{'CHILDREN'}) { $count = $redirectorsettings{'CHILDREN'}} + if (defined($redirectorsettings{'NAME'})) { + $redirectors{$redirectorsettings{'NAME'}}{'ENABLED'} = $redirectorsettings{'ENABLED'}; + $redirectors{$redirectorsettings{'NAME'}}{'ORDER'} = $redirectorsettings{'ORDER'}; + $redirectors{$redirectorsettings{'NAME'}}{'CMD'} = $redirectorsettings{'CMD'}; } } } - return $count; -} -# ------------------------------------------------------------------- -# Build a chain of redirector processes + #sort redirectors + my @redirectornames = &General::sortHashArray('ORDER', 'n', 'asc', \%redirectors); -sub redirectorchain -{ - my $redirector; - my @chain=(); + my $chain = ''; + foreach my $redirector (@redirectornames) { - foreach $redirector (</var/ipcop/proxy/redirector/*>) { - if (-e $redirector) { - %redirectorsettings=(); - &General::readhash($redirector, \%redirectorsettings); - - if (defined($redirectorsettings{'NAME'}) && ($redirectorsettings{'ENABLED'} eq 'on')) { - if (@chain) { push(@chain," | "); } - push(@chain,$redirectorsettings{'CMD'}); + if ($redirectors{$redirector}{'ENABLED'} eq 'on') { + if($chain ne '') { + $chain .= "|"; } + $chain .= "$redirectors{$redirector}{'CMD'}"; } } - return @chain; + + return $chain; } # ------------------------------------------------------------------- @@ -222,7 +214,7 @@ print FILE &redirectorchain; print FILE "\n"; close FILE; - system("chmod 750 $redirectwrapper"); + system("chmod 755 $redirectwrapper"); } # ------------------------------------------------------------------- @@ -1182,8 +1174,8 @@ END ; - } - else { + } + else { print FILE "cache deny all\n\n"; } @@ -1233,9 +1225,9 @@ print FILE "never_direct allow all\n\n"; } - if (&activeredirectors > 0) { + if ($proxysettings{'ENABLE_REDIRECTOR'} eq 'on' && &activeredirectors > 0) { print FILE "url_rewrite_program $redirectwrapper\n"; - print FILE "url_rewrite_children " . &numchildprocesses . "\n\n"; + print FILE "url_rewrite_children $proxysettings{'CHILDREN'}\n\n"; } close FILE; Modified: ipcop/trunk/updates/2.0.2/ROOTFILES.i486-2.0.2 =================================================================== --- ipcop/trunk/updates/2.0.2/ROOTFILES.i486-2.0.2 2011-11-15 16:25:57 UTC (rev 6087) +++ ipcop/trunk/updates/2.0.2/ROOTFILES.i486-2.0.2 2011-11-16 07:43:56 UTC (rev 6088) @@ -7,6 +7,8 @@ /home/httpd/cgi-bin/vpnca.cgi /home/httpd/vhost81/cgi-bin/chpasswd.cgi /usr/lib/ipcop/DataAccess.pl +/usr/local/bin/makesquidconf +/usr/local/bin/redirectwrapper /usr/share/locale/af_ZA/LC_MESSAGES/ipcop.mo /usr/share/locale/bg_BG/LC_MESSAGES/ipcop.mo /usr/share/locale/ca_ES/LC_MESSAGES/ipcop.mo This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. ------------------------------------------------------------------------------ RSA(R) Conference 2012 Save $700 by Nov 18 Register now http://p.sf.net/sfu/rsa-sfdev2dev1 _______________________________________________ Ipcop-svn mailing list Ipcop-svn@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/ipcop-svn