BUG 11318: Fix deletion of temporary files from IPTables-GUI

For details see:
https://bugzilla.ipfire.org/show_bug.cgi?id=11318

Temporary files for 'iptables', 'iptablesmangle' and 'iptablesnat' created by
'iptables.cgi' were not deleted after use but stayed in '/srv/weg/ipfire/html/'.

As a workaround I changed 'getipstat.c' to create these files in '/var/tmp' and the
"open (file..." and "rm" commands in 'iptables.cgi'.

Works here.

Best,
Matthias

Signed-off-by: Matthias Fischer <matthias.fischer@ipfire.org>
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
This commit is contained in:
Matthias Fischer
2017-04-16 23:01:33 +02:00
committed by Michael Tremer
parent ac69a292a8
commit 77cdccf4c0
2 changed files with 12 additions and 12 deletions

View File

@@ -88,7 +88,7 @@ END
# start with an Chain the the name, start- and endline of the
# chain is extracted into a hash
open (FILE, '/srv/web/ipfire/html/iptables.txt');
open (FILE, '/var/tmp/iptables.txt');
while (<FILE>){
$iplines[$lines] = $_;
@@ -210,7 +210,7 @@ END
# start with an Chain the the name, start- and endline of the
# chain is extracted into a hash
open (FILE, '/srv/web/ipfire/html/iptablesmangle.txt');
open (FILE, '/var/tmp/iptablesmangle.txt');
while (<FILE>){
$ipmlines[$manlines] = $_;
@@ -337,7 +337,7 @@ END
# start with an Chain the the name, start- and endline of the
# chain is extracted into a hash
open (FILE, '/srv/web/ipfire/html/iptablesnat.txt');
open (FILE, '/var/tmp/iptablesnat.txt');
while (<FILE>){
$ipnatlines[$natlines] = $_;
@@ -434,6 +434,6 @@ print "</table></div><br />";
&Header::closebigbox();
&Header::closepage();
system(rm -f "/srv/web/ipfire/html/iptables.txt");
system(rm -f "/srv/web/ipfire/html/iptablesmangle.txt");
system(rm -f "/srv/web/ipfire/html/iptablesnat.txt");
system("rm -f /var/tmp/iptables.txt");
system("rm -f /var/tmp/iptablesmangle.txt");
system("rm -f /var/tmp/iptablesnat.txt");

View File

@@ -3,7 +3,7 @@
* Get the list from IPTABLES -L
*
*/
#include <stdio.h>
#include <string.h>
#include <unistd.h>
@@ -17,11 +17,11 @@ int main(void)
{
if (!(initsetuid()))
exit(1);
safe_system("/sbin/iptables -L -v -n > /srv/web/ipfire/html/iptables.txt");
safe_system("/sbin/iptables -L -v -n -t nat > /srv/web/ipfire/html/iptablesnat.txt");
safe_system("/sbin/iptables -t mangle -L -v -n > /srv/web/ipfire/html/iptablesmangle.txt");
safe_system("chown nobody.nobody /srv/web/ipfire/html/iptables.txt /srv/web/ipfire/html/iptablesnat.txt /srv/web/ipfire/html/iptablesmangle.txt");
safe_system("/sbin/iptables -L -v -n > /var/tmp/iptables.txt");
safe_system("/sbin/iptables -L -v -n -t nat > /var/tmp/iptablesnat.txt");
safe_system("/sbin/iptables -t mangle -L -v -n > /var/tmp/iptablesmangle.txt");
safe_system("chown nobody.nobody /var/tmp/iptables.txt /var/tmp/iptablesnat.txt /var/tmp/iptablesmangle.txt");
return 0;
}