Revision: 7534
http://sourceforge.net/p/ipcop/svn/7534
Author: owes
Date: 2014-05-14 14:34:12 +0000 (Wed, 14 May 2014)
Log Message:
-----------
Add option to enable/disable logging of broadcast packets. Often rules are
added to not log these packets, for example Windows netbios.
Default setting is to not log broadcasts. Could be changed if someone objects
before the next update.
Adjust fwrulesadm to better match our style.
Modified Paths:
--------------
ipcop/trunk/html/cgi-bin/fwrulesadm.cgi
ipcop/trunk/src/libs/DataAccess.pl
ipcop/trunk/src/scripts/puzzleFwRules.pl
ipcop/trunk/updates/2.1.6/ROOTFILES.i486-2.1.6
Modified: ipcop/trunk/html/cgi-bin/fwrulesadm.cgi
===================================================================
--- ipcop/trunk/html/cgi-bin/fwrulesadm.cgi 2014-05-14 09:38:21 UTC (rev
7533)
+++ ipcop/trunk/html/cgi-bin/fwrulesadm.cgi 2014-05-14 14:34:12 UTC (rev
7534)
@@ -108,6 +108,7 @@
$ifacePolicies{$cgiparams{'IFACE_NAME'}}{'POLICY'} =
$cgiparams{'POLICY'};
$ifacePolicies{$cgiparams{'IFACE_NAME'}}{'DEFAULT_LOG'} =
$cgiparams{'DEFAULT_LOG'};
+ $ifacePolicies{$cgiparams{'IFACE_NAME'}}{'DEFAULT_LOGBC'} =
$cgiparams{'DEFAULT_LOGBC'};
$ifacePolicies{$cgiparams{'IFACE_NAME'}}{'DEFAULT_ACTION'} =
$cgiparams{'DEFAULT_ACTION'};
$ifacePolicies{$cgiparams{'IFACE_NAME'}}{'ADDRESSFILTER'} =
$cgiparams{'ADDRESSFILTER'};
@@ -218,42 +219,44 @@
my $blueblob = ' ';
my %selected;
- $selected{'DEFAULT_ACTION'}{'reject'}
= '';
- $selected{'DEFAULT_ACTION'}{'drop'}
= '';
+ $selected{'DEFAULT_ACTION'}{'reject'} = '';
+ $selected{'DEFAULT_ACTION'}{'drop'} = '';
$selected{'DEFAULT_ACTION'}{$ifacePolicies{$cgiparams{'IFACE_NAME'}}{'DEFAULT_ACTION'}}
= "selected='selected'";
- $selected{'POLICY'}{'open'} =
'';
- $selected{'POLICY'}{'half-open'} =
'';
- $selected{'POLICY'}{'addressfilter'}
= '';
- $selected{'POLICY'}{'closed'} =
'';
+ $selected{'POLICY'}{'open'} = '';
+ $selected{'POLICY'}{'half-open'} = '';
+ $selected{'POLICY'}{'addressfilter'} = '';
+ $selected{'POLICY'}{'closed'} = '';
$selected{'POLICY'}{$ifacePolicies{$cgiparams{'IFACE_NAME'}}{'POLICY'}} =
"selected='selected'";
- $checked{'DEFAULT_LOG'}{'off'}
= '';
- $checked{'DEFAULT_LOG'}{'on'}
= '';
+ $checked{'DEFAULT_LOG'}{'off'} = '';
+ $checked{'DEFAULT_LOG'}{'on'} = '';
$checked{'DEFAULT_LOG'}{$ifacePolicies{$cgiparams{'IFACE_NAME'}}{'DEFAULT_LOG'}}
= "checked='checked'";
- $checked{'ADDRESSFILTER'}{'off'}
= '';
- $checked{'ADDRESSFILTER'}{'on'}
= '';
+ $checked{'DEFAULT_LOGBC'}{'off'} = '';
+ $checked{'DEFAULT_LOGBC'}{'on'} = '';
+
$checked{'DEFAULT_LOGBC'}{$ifacePolicies{$cgiparams{'IFACE_NAME'}}{'DEFAULT_LOGBC'}}
= "checked='checked'";
+
+ $checked{'ADDRESSFILTER'}{'off'} = '';
+ $checked{'ADDRESSFILTER'}{'on'} = '';
$checked{'ADDRESSFILTER'}{$ifacePolicies{$cgiparams{'IFACE_NAME'}}{'ADDRESSFILTER'}}
= "checked='checked'";
print <<END;
<form method='post' action='$ENV{'SCRIPT_NAME'}'>
-<table width='100%' cellpadding='0' cellspacing='5' border='0'>
+<table width='100%'>
<tr>
- <td align='left' class='base' width='15%' nowrap='nowrap'>
+ <td align='left' class='base' width='25%' nowrap='nowrap'>
$Lang::tr{'interface'}:
</td>
- <td align='left' class='base'>
+ <td align='left' class='base' width='25%'>
<b>$tr_iface</b>
<input type='hidden' name='IFACE_NAME'
value='$cgiparams{'IFACE_NAME'}' />
</td>
-</tr>
-</table>
-
-<table width='100%' cellpadding='0' cellspacing='5' border='0'>
-<tr>
- <td width='15%'>$Lang::tr{'policy'}:</td>
- <td align='left' width='85%'>
+ <td width='25%'> </td>
+ <td width='25%'> </td>
+</tr><tr>
+ <td width='25%'>$Lang::tr{'policy'}:</td>
+ <td align='left' colspan='3'>
END
# RED and Custom Interfaces (do not have COLOR defined) always have
'Closed' policy
@@ -280,40 +283,43 @@
}
print <<END;
</td>
-</tr>
-<tr>
- <td class='base'><br/>$Lang::tr{'logging'}:</td>
- <td align='left'>
+</tr><tr>
+ <td class='base'>$Lang::tr{'logging'}:</td>
+ <td align='left' colspan='3'>
<input type="checkbox" name="DEFAULT_LOG"
$checked{'DEFAULT_LOG'}{'on'} />
$Lang::tr{'enable logging not matched packets'}
</td>
-</tr>
-<tr>
- <td class='base'><br/>$Lang::tr{'default action'}:</td>
- <td align='left'>
+</tr><tr>
+ <td class='base'> </td>
+ <td align='left' colspan='3'>
+ <input type="checkbox" name="DEFAULT_LOGBC"
$checked{'DEFAULT_LOGBC'}{'on'} />
+ $Lang::tr{'enable logging not matched broadcast packets'}
+ </td>
+</tr><tr>
+ <td class='base'>$Lang::tr{'default action'}:</td>
+ <td align='left' colspan='3'>
<select name='DEFAULT_ACTION'>
<option value='drop'
$selected{'DEFAULT_ACTION'}{'drop'}>DROP</option>
<option value='reject'
$selected{'DEFAULT_ACTION'}{'reject'}>REJECT</option>
</select>
$Lang::tr{'default action not matched packets'}
</td>
-</tr>
-<tr>
+</tr><tr>
END
if (defined($FW::interfaces{$cgiparams{'IFACE_NAME'}}{'COLOR'}) &&
($FW::interfaces{$cgiparams{'IFACE_NAME'}}{'COLOR'} eq 'BLUE_COLOR')) {
$blueblob = "<img src='/blob.gif' align='top' alt='*'
/> $Lang::tr{'use addressfilter for this interface'}";
print <<END;
- <td class='base'><br/>$Lang::tr{'addressfilter'}: <img
src='/blob.gif' alt='*' /></td>
- <td align='left'>
+ <td class='base'>$Lang::tr{'addressfilter'}: <img src='/blob.gif'
alt='*' /></td>
+ <td align='left' colspan='3'>
<input type="checkbox" name="ADDRESSFILTER"
$checked{'ADDRESSFILTER'}{'on'} />
</td>
END
}
else {
print <<END;
- <td class='base' colspan='2'>
+ <td class='base' colspan='4'>
<input type='hidden' name='ADDRESSFILTER' value='-' />
</td>
END
@@ -414,7 +420,7 @@
<td align='left' class='base' nowrap='nowrap'>
<input type="checkbox" name="SHOW_COLORS"
$checked{'SHOW_COLORS'}{'on'} />
- $Lang::tr{'show interface colors'} <br />
+ $Lang::tr{'show interface colors'}
</td>
</tr>
</table>
Modified: ipcop/trunk/src/libs/DataAccess.pl
===================================================================
--- ipcop/trunk/src/libs/DataAccess.pl 2014-05-14 09:38:21 UTC (rev 7533)
+++ ipcop/trunk/src/libs/DataAccess.pl 2014-05-14 14:34:12 UTC (rev 7534)
@@ -16,7 +16,7 @@
# along with IPCop. If not, see <http://www.gnu.org/licenses/>.
#
# Copyright (C) 2005 Achim Weber <[email protected]>
-# (c) 2007-2012, the IPCop team
+# (c) 2007-2014, the IPCop team
#
# $Id$
#
@@ -909,7 +909,8 @@
$policygRef->{$iface}{'POLICY'} = $policy;
$policygRef->{$iface}{'DEFAULT_LOG'} = 'on';
$policygRef->{$iface}{'DEFAULT_ACTION'} = $action;
- $policygRef->{$iface}{'ADDRESSFILTER'} = $addressfilter;
+ $policygRef->{$iface}{'ADDRESSFILTER'} = $addressfilter;
+ $policygRef->{$iface}{'DEFAULT_LOGBC'} = 'off';
}
my %custIfaces = ();
@@ -919,7 +920,8 @@
$policygRef->{$iface}{'POLICY'} = 'closed';
$policygRef->{$iface}{'DEFAULT_LOG'} = 'on';
$policygRef->{$iface}{'DEFAULT_ACTION'} = 'drop';
- $policygRef->{$iface}{'ADDRESSFILTER'} = '-';
+ $policygRef->{$iface}{'ADDRESSFILTER'} = '-';
+ $policygRef->{$iface}{'DEFAULT_LOGBC'} = 'off';
}
open(FILE, $DATA::policyFile) or die 'Unable to open policy file.';
@@ -933,7 +935,8 @@
$policygRef->{$tmp[0]}{'POLICY'} = $tmp[1];
$policygRef->{$tmp[0]}{'DEFAULT_LOG'} = $tmp[2];
$policygRef->{$tmp[0]}{'DEFAULT_ACTION'} = $tmp[3];
- $policygRef->{$tmp[0]}{'ADDRESSFILTER'} = $tmp[4];
+ $policygRef->{$tmp[0]}{'ADDRESSFILTER'} = $tmp[4];
+ $policygRef->{$tmp[0]}{'DEFAULT_LOGBC'} = $tmp[5] if
(defined($tmp[5]));
}
}
@@ -949,7 +952,8 @@
print FILE "$policygRef->{$iface}{'POLICY'},";
print FILE "$policygRef->{$iface}{'DEFAULT_LOG'},";
print FILE "$policygRef->{$iface}{'DEFAULT_ACTION'},";
- print FILE "$policygRef->{$iface}{'ADDRESSFILTER'}\n";
+ print FILE "$policygRef->{$iface}{'ADDRESSFILTER'},";
+ print FILE "$policygRef->{$iface}{'DEFAULT_LOGBC'}\n";
}
close(FILE);
Modified: ipcop/trunk/src/scripts/puzzleFwRules.pl
===================================================================
--- ipcop/trunk/src/scripts/puzzleFwRules.pl 2014-05-14 09:38:21 UTC (rev
7533)
+++ ipcop/trunk/src/scripts/puzzleFwRules.pl 2014-05-14 14:34:12 UTC (rev
7534)
@@ -59,6 +59,7 @@
# Init these settings, so we do not get a warning when settings are bad
$FW::fwSettings{'ADV_MODE_ENABLE'} = 'off';
$FW::fwSettings{'DEFAULT_LOG'} = 'off';
+$FW::fwSettings{'DEFAULT_LOGBC'} = 'off';
$FW::fwSettings{'CON_STATE'} = 'off';
&FW::readValidSettings();
@@ -1097,13 +1098,19 @@
} # if ($ifacePolicies{$inIface}{'POLICY'} eq 'open') {
# default Logging (if enabled) + DROP/REJECT rules per interface
- $defaultRule = "-A FW_LOG -i $FW::interfaces{$inIface}{'IFACE'} -j";
+ $defaultRule = "-A FW_LOG -i $FW::interfaces{$inIface}{'IFACE'}";
my $defaultAction = 'DROP';
$defaultAction = 'REJECT' if
($ifacePolicies{$inIface}{'DEFAULT_ACTION'} eq 'reject');
if ($ifacePolicies{$inIface}{'DEFAULT_LOG'} eq 'on') {
- &prepareRule("$defaultRule LOG --log-prefix \"\U$inIface\E
$defaultAction \" ");
+ if ($ifacePolicies{$inIface}{'DEFAULT_LOGBC'} eq 'on') {
+ &prepareRule("$defaultRule -j LOG --log-prefix \"\U$inIface\E
$defaultAction \" ");
+ }
+ else {
+ # do not log broadcasts
+ &prepareRule("$defaultRule -m pkttype ! --pkt-type broadcast
-j LOG --log-prefix \"\U$inIface\E $defaultAction \" ");
+ }
}
- &prepareRule("$defaultRule $defaultAction");
+ &prepareRule("$defaultRule -j $defaultAction");
} # foreach (source) interface END
Modified: ipcop/trunk/updates/2.1.6/ROOTFILES.i486-2.1.6
===================================================================
--- ipcop/trunk/updates/2.1.6/ROOTFILES.i486-2.1.6 2014-05-14 09:38:21 UTC
(rev 7533)
+++ ipcop/trunk/updates/2.1.6/ROOTFILES.i486-2.1.6 2014-05-14 14:34:12 UTC
(rev 7534)
@@ -4,8 +4,11 @@
/etc/rc.d/rc.sysinit
/etc/ssl/openssl.cnf
/home/httpd/cgi-bin/changepw.cgi
+/home/httpd/cgi-bin/fwrulesadm.cgi
/home/httpd/cgi-bin/proxy.cgi
/home/httpd/cgi-bin/vpnca.cgi
+/usr/lib/ipcop/DataAccess.pl
+/usr/local/bin/puzzleFwRules.pl
/usr/local/bin/restarthttpd
/usr/local/bin/setreservedports.pl
##
This was sent by the SourceForge.net collaborative development platform, the
world's largest Open Source development site.
------------------------------------------------------------------------------
"Accelerate Dev Cycles with Automated Cross-Browser Testing - For FREE
Instantly run your Selenium tests across 300+ browser/OS combos.
Get unparalleled scalability from the best Selenium testing platform available
Simple to use. Nothing to install. Get started now for free."
http://p.sf.net/sfu/SauceLabs
_______________________________________________
Ipcop-svn mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/ipcop-svn