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
[email protected]
https://lists.sourceforge.net/lists/listinfo/ipcop-svn