mirror of
https://github.com/vincentmli/bpfire.git
synced 2026-04-09 18:45:54 +02:00
1) Added more possible chars in remark: : / . 2) Added "Internet" to std networks to be able to define internetaccess 3) When renaming a custom address, the firewallrules get updated 4) Ports are now ignored when using GRE as Protocol 5) When saving a customservice, the cursor is now in first textfield 6) Added a customservices file to installation with predefined services 7) Added ESP as protocol 8) Fixed counterproblem 9) Dropdownboxes for customservices and groups now sorted 10) Firewallrules now sorted in right order 11) fixed a Bug when defining manual address in source and target, the hint message is no longer displayed 12) When defining an external access rule, the last forwardrule was deleted
141 lines
6.4 KiB
Perl
141 lines
6.4 KiB
Perl
#!/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 <grhm@grhm.co.uk>
|
|
#
|
|
# $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{'DROPFORWARD'} = '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
|
|
}
|
|
system("/usr/local/bin/forwardfwctrl");
|
|
&Header::openpage($Lang::tr{'options fw'}, 1, '');
|
|
&Header::openbigbox('100%', 'left', '', $errormessage);
|
|
|
|
if ($errormessage) {
|
|
&Header::openbox('100%', 'left', $Lang::tr{'warning messages'});
|
|
print "<font color='red'>$errormessage </font>";
|
|
&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{'DROPFORWARD'}{'off'} = '';
|
|
$checked{'DROPFORWARD'}{'on'} = '';
|
|
$checked{'DROPFORWARD'}{$settings{'DROPFORWARD'}} = "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'";
|
|
$selected{'FWPOLICY'}{$settings{'FWPOLICY'}}= 'selected';
|
|
|
|
&Header::openbox('100%', 'center', $Lang::tr{'options fw'});
|
|
print "<form method='post' action='$ENV{'SCRIPT_NAME'}'>";
|
|
|
|
print <<END
|
|
<form method='post' action='$ENV{'SCRIPT_NAME'}'>
|
|
<table width='95%' cellspacing='0'>
|
|
<tr bgcolor='$color{'color20'}'><td colspan='2' align='left'><b>$Lang::tr{'fw logging'}</b></td></tr>
|
|
<tr><td align='left' width='60%'>$Lang::tr{'drop newnotsyn'}</td><td align='left'>on <input type='radio' name='DROPNEWNOTSYN' value='on' $checked{'DROPNEWNOTSYN'}{'on'} />/
|
|
<input type='radio' name='DROPNEWNOTSYN' value='off' $checked{'DROPNEWNOTSYN'}{'off'} /> off</td></tr>
|
|
<tr><td align='left' width='60%'>$Lang::tr{'drop input'}</td><td align='left'>on <input type='radio' name='DROPINPUT' value='on' $checked{'DROPINPUT'}{'on'} />/
|
|
<input type='radio' name='DROPINPUT' value='off' $checked{'DROPINPUT'}{'off'} /> off</td></tr>
|
|
<tr><td align='left' width='60%'>$Lang::tr{'drop forward'}</td><td align='left'>on <input type='radio' name='DROPFORWARD' value='on' $checked{'DROPFORWARD'}{'on'} />/
|
|
<input type='radio' name='DROPFORWARD' value='off' $checked{'DROPFORWARD'}{'off'} /> off</td></tr>
|
|
<tr><td align='left' width='60%'>$Lang::tr{'drop portscan'}</td><td align='left'>on <input type='radio' name='DROPPORTSCAN' value='on' $checked{'DROPPORTSCAN'}{'on'} />/
|
|
<input type='radio' name='DROPPORTSCAN' value='off' $checked{'DROPPORTSCAN'}{'off'} /> off</td></tr>
|
|
<tr><td align='left' width='60%'>$Lang::tr{'drop wirelessinput'}</td><td align='left'>on <input type='radio' name='DROPWIRELESSINPUT' value='on' $checked{'DROPWIRELESSINPUT'}{'on'} />/
|
|
<input type='radio' name='DROPWIRELESSINPUT' value='off' $checked{'DROPWIRELESSINPUT'}{'off'} /> off</td></tr>
|
|
<tr><td align='left' width='60%'>$Lang::tr{'drop wirelessforward'}</td><td align='left'>on <input type='radio' name='DROPWIRELESSFORWARD' value='on' $checked{'DROPWIRELESSFORWARD'}{'on'} />/
|
|
<input type='radio' name='DROPWIRELESSFORWARD' value='off' $checked{'DROPWIRELESSFORWARD'}{'off'} /> off</td></tr>
|
|
</table>
|
|
<br />
|
|
<table width='95%' cellspacing='0'>
|
|
<tr bgcolor='$color{'color20'}'><td colspan='2' align='left'><b>$Lang::tr{'fw blue'}</b></td></tr>
|
|
<tr><td align='left' width='60%'>$Lang::tr{'drop proxy'}</td><td align='left'>on <input type='radio' name='DROPPROXY' value='on' $checked{'DROPPROXY'}{'on'} />/
|
|
<input type='radio' name='DROPPROXY' value='off' $checked{'DROPPROXY'}{'off'} /> off</td></tr>
|
|
<tr><td align='left' width='60%'>$Lang::tr{'drop samba'}</td><td align='left'>on <input type='radio' name='DROPSAMBA' value='on' $checked{'DROPSAMBA'}{'on'} />/
|
|
<input type='radio' name='DROPSAMBA' value='off' $checked{'DROPSAMBA'}{'off'} /> off</td></tr>
|
|
</table>
|
|
<br />
|
|
<table width='95%' cellspacing='0'>
|
|
<tr bgcolor='$color{'color20'}'><td colspan='2' align='left'><b>$Lang::tr{'fw default drop'}</b></td></tr>
|
|
<tr><td align='left' width='60%'>$Lang::tr{'drop action'}</td><td><select name='FWPOLICY'>
|
|
<option value='DROP' $selected{'FWPOLICY'}{'DROP'}>DROP</option>
|
|
<option value='REJECT' $selected{'FWPOLICY'}{'REJECT'}>REJECT</option></select>
|
|
</td></tr>
|
|
</table>
|
|
|
|
<br />
|
|
<table width='10%' cellspacing='0'>
|
|
<tr><td align='center'><form method='post' action='$ENV{'SCRIPT_NAME'}'>
|
|
<input type='submit' name='ACTION' value=$Lang::tr{'save'} />
|
|
</form></td></tr>
|
|
</table>
|
|
</form>
|
|
END
|
|
;
|
|
&Header::closebox();
|
|
&Header::closebigbox();
|
|
&Header::closepage();
|