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

Reply via email to