X-Git-Url: http://git.ipfire.org/?a=blobdiff_plain;f=html%2Fcgi-bin%2Foptionsfw.cgi;h=189395726395d8177831d011170bad6e2b4bd0b6;hb=0e14ef8a3b7aa5faa6e1febbd240f4e726ec892e;hp=8782bdca76058878ed01a9d21070cada51a953b7;hpb=cd1a2927226c734d96478e12bb768256fb64a06a;p=people%2Fteissler%2Fipfire-2.x.git diff --git a/html/cgi-bin/optionsfw.cgi b/html/cgi-bin/optionsfw.cgi index 8782bdca7..189395726 100644 --- a/html/cgi-bin/optionsfw.cgi +++ b/html/cgi-bin/optionsfw.cgi @@ -1,98 +1,127 @@ -#!/usr/bin/perl -# -# SmoothWall CGIs -# -# This code is distributed under the terms of the GPL -# -# (c) The SmoothWall Team -# -# Copyright (C) 01-02-2002 Graham Smith -# -# $Id: optionsfw.cgi,v 1.1.2.10 2005/10/03 00:34:10 gespinasse Exp $ -# -# - -# enable only the following on debugging purpose -#use warnings; -#use CGI::Carp 'fatalsToBrowser'; - -require 'CONFIG_ROOT/general-functions.pl'; -require "${General::swroot}/lang.pl"; -require "${General::swroot}/header.pl"; - - -my %checked =(); # Checkbox manipulations - -# File used -my $filename = "${General::swroot}/optionsfw/settings"; - -our %settings=(); -#Settings1 -$settings{'DISABLEPING'} = 'NO'; -$settings{'ACTION'} = ''; # add/edit/remove - -my $errormessage = ''; -my $warnmessage = ''; - -&Header::showhttpheaders(); - -#Get GUI values -&Header::getcgihash(\%settings); - -if ($settings{'ACTION'} eq $Lang::tr{'save'}) { - if ($settings{'DISABLEPING'} !~ /^(NO|ONLYRED|ALL)$/) { - $errormessage = $Lang::tr{'invalid input'}; - goto ERROR; } - unless ($errormessage) { # Everything is ok, save settings - &General::writehash($filename, \%settings); # Save good settings - $settings{'ACTION'} = $Lang::tr{'save'}; # Recreate 'ACTION' - system('/usr/local/bin/setfilters'); - } - - ERROR: # Leave the faulty field untouched -} else { - &General::readhash($filename, \%settings); # Get saved settings and reset to good if needed -} -$checked{'DISABLEPING'}{'NO'} = ''; -$checked{'DISABLEPING'}{'ONLYRED'} = ''; -$checked{'DISABLEPING'}{'ALL'} = ''; -$checked{'DISABLEPING'}{$settings{'DISABLEPING'}} = "checked='checked'"; - -&Header::openpage($Lang::tr{'options fw'}, 1, ''); -&Header::openbigbox('100%', 'left', '', $errormessage); - -if ($errormessage) { - &Header::openbox('100%', 'left', $Lang::tr{'error messages'}); - print "$errormessage "; - &Header::closebox(); -} - -&Header::openbox('100%', 'left', $Lang::tr{'options fw'}); -print "
"; - -print < - - $Lang::tr{'ping disabled'} - - - $Lang::tr{'no'} -   - - - $Lang::tr{'only red'} - - - - $Lang::tr{'all interfaces'} - - - - -END -; -&Header::closebox(); - -&Header::closebigbox(); - -&Header::closepage(); +#!/usr/bin/perl +# +# SmoothWall CGIs +# +# This code is distributed under the terms of the GPL +# +# (c) The SmoothWall Team +# +# Copyright (C) 01-02-2002 Graham Smith +# +# $Id: optionsfw.cgi,v 1.1.2.10 2005/10/03 00:34:10 gespinasse Exp $ +# +# + +# enable only the following on debugging purpose +#use warnings; +#use CGI::Carp 'fatalsToBrowser'; + +require '/var/ipfire/general-functions.pl'; +require "${General::swroot}/lang.pl"; +require "${General::swroot}/header.pl"; + + +my %checked =(); # Checkbox manipulations + +# File used +my $filename = "${General::swroot}/optionsfw/settings"; + +our %settings=(); +$settings{'DISABLEPING'} = 'NO'; +$settings{'DROPNEWNOTSYN'} = 'on'; +$settings{'DROPINPUT'} = 'on'; +$settings{'DROPOUTPUT'} = 'on'; +$settings{'DROPPORTSCAN'} = 'on'; +$settings{'DROPWIRELESSINPUT'} = 'on'; +$settings{'DROPWIRELESSFORWARD'} = 'on'; + +my $errormessage = ''; +my $warnmessage = ''; + +&Header::showhttpheaders(); + +#Get GUI values +&Header::getcgihash(\%settings); + +if ($settings{'ACTION'} eq $Lang::tr{'save'}) { + $errormessage = $Lang::tr{'new optionsfw later'}; + delete $settings{'__CGI__'};delete $settings{'x'};delete $settings{'y'}; + &General::writehash($filename, \%settings); # Save good settings + } else { + &General::readhash($filename, \%settings); # Get saved settings and reset to good if needed + } + +&Header::openpage($Lang::tr{'options fw'}, 1, ''); +&Header::openbigbox('100%', 'left', '', $errormessage); + +if ($errormessage) { + &Header::openbox('100%', 'left', $Lang::tr{'warning messages'}); + print "$errormessage "; + &Header::closebox(); +} + +$checked{'DROPNEWNOTSYN'}{'off'} = ''; +$checked{'DROPNEWNOTSYN'}{'on'} = ''; +$checked{'DROPNEWNOTSYN'}{$settings{'DROPNEWNOTSYN'}} = "checked='checked'"; +$checked{'DROPINPUT'}{'off'} = ''; +$checked{'DROPINPUT'}{'on'} = ''; +$checked{'DROPINPUT'}{$settings{'DROPINPUT'}} = "checked='checked'"; +$checked{'DROPOUTPUT'}{'off'} = ''; +$checked{'DROPOUTPUT'}{'on'} = ''; +$checked{'DROPOUTPUT'}{$settings{'DROPOUTPUT'}} = "checked='checked'"; +$checked{'DROPPORTSCAN'}{'off'} = ''; +$checked{'DROPPORTSCAN'}{'on'} = ''; +$checked{'DROPPORTSCAN'}{$settings{'DROPPORTSCAN'}} = "checked='checked'"; +$checked{'DROPWIRELESSINPUT'}{'off'} = ''; +$checked{'DROPWIRELESSINPUT'}{'on'} = ''; +$checked{'DROPWIRELESSINPUT'}{$settings{'DROPWIRELESSINPUT'}} = "checked='checked'"; +$checked{'DROPWIRELESSFORWARD'}{'off'} = ''; +$checked{'DROPWIRELESSFORWARD'}{'on'} = ''; +$checked{'DROPWIRELESSFORWARD'}{$settings{'DROPWIRELESSFORWARD'}} = "checked='checked'"; +$checked{'DROPPROXY'}{'off'} = ''; +$checked{'DROPPROXY'}{'on'} = ''; +$checked{'DROPPROXY'}{$settings{'DROPPROXY'}} = "checked='checked'"; +$checked{'DROPSAMBA'}{'off'} = ''; +$checked{'DROPSAMBA'}{'on'} = ''; +$checked{'DROPSAMBA'}{$settings{'DROPSAMBA'}} = "checked='checked'"; + +&Header::openbox('100%', 'center', $Lang::tr{'options fw'}); +print "
"; + +print < + + + + + + + + +
$Lang::tr{'fw logging'}
$Lang::tr{'drop newnotsyn'}on / + off
$Lang::tr{'drop input'}on / + off
$Lang::tr{'drop output'}on / + off
$Lang::tr{'drop portscan'}on / + off
$Lang::tr{'drop wirelessinput'}on / + off
$Lang::tr{'drop wirelessforward'}on / + off
+
+ + + + +
$Lang::tr{'fw blue'}
$Lang::tr{'drop proxy'}on / + off
$Lang::tr{'drop samba'}on / + off
+
+ + +
+ +
+ +END +; +&Header::closebox(); +&Header::closebigbox(); +&Header::closepage();