Revision: 7264
http://sourceforge.net/p/ipcop/svn/7264
Author: owes
Date: 2014-03-02 18:07:40 +0000 (Sun, 02 Mar 2014)
Log Message:
-----------
Change the way the GUI restarts the proxy. Display a box with info and restart
squid in background.
Avoids breaking connection (followed by browser error) when the GUI is used via
proxy.
Modified Paths:
--------------
ipcop/trunk/html/cgi-bin/proxy.cgi
ipcop/trunk/html/cgi-bin/urlfilter.cgi
ipcop/trunk/src/libs/header.pl
ipcop/trunk/updates/2.1.2/ROOTFILES.i486-2.1.2
Modified: ipcop/trunk/html/cgi-bin/proxy.cgi
===================================================================
--- ipcop/trunk/html/cgi-bin/proxy.cgi 2014-03-01 16:02:02 UTC (rev 7263)
+++ ipcop/trunk/html/cgi-bin/proxy.cgi 2014-03-02 18:07:40 UTC (rev 7264)
@@ -16,7 +16,7 @@
# along with IPCop. If not, see <http://www.gnu.org/licenses/>.
#
# (c) 2004-2009 marco.s - http://www.advproxy.net
-# (c) 2009-2012 The IPCop Team
+# (c) 2009-2014 The IPCop Team
#
# $Id$
#
@@ -714,7 +714,9 @@
system('/usr/local/bin/restartsquid --config');
- system('/usr/local/bin/restartsquid --waitpid');
+ system('/usr/local/bin/restartsquid --waitpid >/dev/null &');
+ &Header::page_show('title', 'warning', $Lang::tr{'web proxy will
now restart'}, "<meta http-equiv='refresh' content='5; URL=/cgi-bin/proxy.cgi'
/>");
+ exit 0;
}
}
Modified: ipcop/trunk/html/cgi-bin/urlfilter.cgi
===================================================================
--- ipcop/trunk/html/cgi-bin/urlfilter.cgi 2014-03-01 16:02:02 UTC (rev
7263)
+++ ipcop/trunk/html/cgi-bin/urlfilter.cgi 2014-03-02 18:07:40 UTC (rev
7264)
@@ -368,7 +368,7 @@
&setpermissions($dbdir);
- system('/usr/local/bin/restartsquid --waitpid');
+ &restartexit;
}
}
@@ -532,7 +532,7 @@
}
if (!$errormessage) {
- system('/usr/local/bin/restartsquid --waitpid');
+ &restartexit;
}
$tcsettings{'TCMODE'} = 'on';
}
@@ -736,7 +736,9 @@
$errormessage .= "$Lang::tr{'errmsg web proxy service required'}<br
/>";
}
- if (!$errormessage) { system('/usr/local/bin/restartsquid --waitpid');}
+ if (!$errormessage) {
+ &restartexit;
+ }
$uqsettings{'UQMODE'} = 'on';
}
@@ -997,9 +999,10 @@
&writeconfigfile;
- system('/usr/local/bin/restartsquid --waitpid') unless
($besettings{'NORESTART'} eq 'on');
-
if (-d $editdir) { system("rm -rf $editdir"); }
+ unless ($besettings{'NORESTART'} eq 'on') {
+ &restartexit;
+ }
}
else {
$errormessage .= "$Lang::tr{'errmsg blacklist empty'}<br />";
@@ -1184,14 +1187,13 @@
if ($uqsettings{'MODE'} eq 'USERQUOTA') {
print "<p class='base'>$Lang::tr{'quota restart message'}</p>\n";
}
- print "<p><input type='submit' name='ACTION' value='$Lang::tr{'urlfilter
restart'}' />";
+ print "<p><input type='submit' name='ACTION' value='$Lang::tr{'urlfilter
restart'}' /></p>";
if ($tcsettings{'MODE'} eq 'TIMECONSTRAINT') {
print "<input type='hidden' name='MODE' value='TIMECONSTRAINT' />";
}
if ($uqsettings{'MODE'} eq 'USERQUOTA') {
print "<input type='hidden' name='MODE' value='USERQUOTA' />";
}
- print "</p>\n";
&Header::closebox();
print "</form>\n";
}
@@ -3363,3 +3365,11 @@
$uqsettings{'MODE'} = '';
$uqsettings{'CHANGED'} = 'no';
}
+
+
+sub restartexit
+{
+ system('/usr/local/bin/restartsquid --waitpid >/dev/null &');
+ &Header::page_show('title', 'warning', $Lang::tr{'web proxy will now
restart'}, "<meta http-equiv='refresh' content='5; URL=/cgi-bin/urlfilter.cgi'
/>");
+ exit 0;
+}
Modified: ipcop/trunk/src/libs/header.pl
===================================================================
--- ipcop/trunk/src/libs/header.pl 2014-03-01 16:02:02 UTC (rev 7263)
+++ ipcop/trunk/src/libs/header.pl 2014-03-02 18:07:40 UTC (rev 7264)
@@ -60,6 +60,7 @@
my %menu = ();
our $javascript = 1;
+our $httpheaders = 0;
# Define visual sort indicators for column headings
$Header::sortup = "<img src='/images/triangle_up.png' alt='a-z' />"; #
sort small to large
@@ -111,6 +112,7 @@
print "Connection: close\n";
print "Content-type: text/html\n\n";
}
+ $httpheaders = 1;
}
sub showjsmenu
@@ -528,4 +530,38 @@
}
}
+# Show page with IPCop logo and a single text. Optional refresh.
+# Parameters:
+# - page title
+# - boxtype: error = red boxframe, warning = yellow boxframe
+# - message
+# - refresh. Use full meta refresh like so: "<meta http-equiv='refresh'
content='5; URL=/cgi-bin/index.cgi' />"
+sub page_show
+{
+ my $title = shift;
+ my $boxtype = shift;
+ my $message = shift;
+ my $refresh = shift;
+
+ showhttpheaders() unless($httpheaders);
+ openpage($title, 0, $refresh);
+ openbigbox('100%', 'center');
+ openbox('100%', 'left', '', $boxtype);
+ print <<END
+<div align='center'>
+<table width='100%'>
+<tr><td align='center'>
+<br /><br /><img src='/ipcop_big.gif' alt='ipcop' /><br /><br /><br />
+</td></tr>
+</table>
+<br />
+<font size='6'>$message</font>
+</div>
+END
+ ;
+ closebox();
+ closebigbox();
+ closepage();
+}
+
1;
Modified: ipcop/trunk/updates/2.1.2/ROOTFILES.i486-2.1.2
===================================================================
--- ipcop/trunk/updates/2.1.2/ROOTFILES.i486-2.1.2 2014-03-01 16:02:02 UTC
(rev 7263)
+++ ipcop/trunk/updates/2.1.2/ROOTFILES.i486-2.1.2 2014-03-02 18:07:40 UTC
(rev 7264)
@@ -6,6 +6,7 @@
/home/httpd/cgi-bin/fwrulesadm.cgi
/home/httpd/cgi-bin/ifaces.cgi
/home/httpd/cgi-bin/openvpn.cgi
+/home/httpd/cgi-bin/proxy.cgi
/home/httpd/cgi-bin/servicegrps.cgi
/home/httpd/cgi-bin/services.cgi
/home/httpd/cgi-bin/trafficadm.cgi
@@ -13,6 +14,7 @@
/home/httpd/cgi-bin/wireless.cgi
/usr/lib/ipcop/DataAccess.pl
/usr/lib/ipcop/ddns-lib.pl
+/usr/lib/ipcop/header.pl
/usr/local/bin/dhcpcd.sh
/usr/local/bin/makesquidconf.pl
/usr/local/bin/puzzleFwRules.pl
This was sent by the SourceForge.net collaborative development platform, the
world's largest Open Source development site.
------------------------------------------------------------------------------
Flow-based real-time traffic analytics software. Cisco certified tool.
Monitor traffic, SLAs, QoS, Medianet, WAAS etc. with NetFlow Analyzer
Customize your own dashboards, set traffic alerts and generate reports.
Network behavioral analysis & security monitoring. All-in-one tool.
http://pubads.g.doubleclick.net/gampad/clk?id=126839071&iu=/4140/ostg.clktrk
_______________________________________________
Ipcop-svn mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/ipcop-svn