1
0
mirror of https://github.com/fwbuilder/fwbuilder synced 2026-03-19 09:47:20 +01:00

224 Commits

Author SHA1 Message Date
Vadim Kurland
c83b04f36b Fixes SF bug #3036541 "IPV6
only firewall resets ipv4 stack" only reset ipv4 iptables when there are some ip4 rules; also added action block to usage string of the generated iptables script
2010-07-29 18:12:06 +00:00
Vadim Kurland
89d504f639 better algorithm to find loops in rule branches and a test case for it for iptables; als fix for SF bug 3034628 "iptables does not allow target REJECT in mangle table" 2010-07-29 01:57:28 +00:00
Vadim Kurland
a51d1733fc fixed #1640 "default policy when the script is stopped should be
optional".
2010-07-27 22:10:53 +00:00
Vadim Kurland
1a8d8cd1ea fixed #1633 use ipset module in NATCompiler_ipt 2010-07-24 06:03:48 +00:00
Vadim Kurland
e82f770956 * PolicyCompiler_PrintRule.cpp: added support for iptables module
"set" used to generate iptables command for rules with run-time
AddressTable objects. This module is only available in iptables
1.4.1.1 and later, however some embedded platforms do not have it
even though they ship later versions ofiptables (e.g. OpenWRT).
Use of this module is controlled by a checkbox in the iptables 
"advanced" settings dialog which is off by default. This checkbox
becomes disabled when iptables version is set to < 1.4.1.1.
2010-07-23 05:15:05 +00:00
Vadim Kurland
8a4fb97afe upgraded test data files for 4.1 2010-07-20 23:45:05 +00:00
Vadim Kurland
1ee9ca248d * PolicyCompiler_ipt.cpp (specialCaseWithFWInDstAndOutbound::processNext):
fixed #1523 "outbound ipv6 rule matching multicast ipv6 destination
is not generated". The rule with network object fe80::/10 in source
and ipv6 muticast ff00::/8 in destination did not produce correspondign
ip6tables command. The change affects other cases with rules using
broadcast or multicast objects that should be considered matching
the firewall object.
2010-06-17 23:58:17 +00:00
Vadim Kurland
d670e07a6a test case for #1523 2010-06-16 15:18:07 +00:00
Vadim Kurland
4ecb807f23 * IPTImporter.cpp (IPTImporter::finalize): see #1513 iptables
importer should check default policy in standard chains.
2010-06-11 20:27:35 +00:00
Vadim Kurland
d57bd1cf0b * Preprocessor.cpp (Preprocessor::findMultiAddressObjectsUsedInRules):
change in libfwbuilder: fixed #1485 "dns name object is recognized
as an empty group when it appears in shared rule set"
2010-06-02 16:51:58 +00:00
Vadim Kurland
fe5a13d1b5 * iptables.g (MATCH_RECENT_SET): see #1451 "policy importer should
support some popular iptables modules". Added support for module
"recent" and rules that match standard ip/icmp/udp/tcp protocols
and at the same time module "mark", "length", "limit" or "recent".
Rules like these are translated into a combination of a branching
rule and additional rule in a branch rule set that implements
module match.
2010-05-14 00:54:03 +00:00
Vadim Kurland
388f69537c * CompilerDriver_ipt_policy.cpp (CompilerDriver_ipt::processPolicyRuleSet):
fixes #1432 "automatic rule with --restore-mark is missing if
rules using action Tag are not in the default Policy rule set".
2010-05-01 22:23:01 +00:00
Vadim Kurland
f78933dd91 * PolicyCompiler_ipt.cpp (PolicyCompiler_ipt::insertFailoverRule):
fixed #1411 outbound rule that permits VRRP should be added
outside the loop to avoid duplicate rules for clusters with 3 or
more members.
2010-05-01 16:44:45 +00:00
Vadim Kurland
034dd2bfea see #1432 : added test case for the ticket 2010-05-01 00:42:18 +00:00
Vadim Kurland
64bbe7fdb9 fixes #1425 iptables script generated for the empty rule set is broken 2010-04-28 00:38:52 +00:00
Vadim Kurland
b1df2d8932 * SSHSession.cpp (SSHSession::terminate): see #1426, #1428 use
QProcess::waitForFinished() instead of just sleep() after we send
TERM signal to the background process. Also let Qt process events
to update the GUI while waiting.

* instDialog_installer.cpp (instDialog::stopInstall): fixed #1428
button "Stop" in the installer dialog does not stop installer
process
2010-04-27 23:10:46 +00:00
Vadim Kurland
3cfd19c79b * PolicyCompiler_ipt.cpp (PolicyCompiler_ipt::checkForShadowingPlatformSpecific):
see #1417 (SF bug 2992177) rule with greater limit module rate
value shadows rule with lower rate value. Comments in the code explain
why.
2010-04-27 16:58:05 +00:00
Vadim Kurland
ef2d783888 added comment to explain the logic behind shadowing detection with iptables limit modules 2010-04-27 16:15:20 +00:00
Vadim Kurland
72307e1bfa see #1417 (SF bug 2992177): compiler should compare
limit rate value and other parameters set for modules limit, connlimit
and hashlimit while deciding if rules shadow each other.
2010-04-26 16:27:57 +00:00
Vadim Kurland
b9cfc1f5b8 * PolicyCompiler_ipt.cpp (PolicyCompiler_ipt::checkForShadowingPlatformSpecific):
fixes #1417 rule shadowing detection should recognize different rule options.
Policy compiler for iptables takes into account rule options for modules
limit, connlimit and hashlimit when it considers rules for rule shadowing.
2010-04-25 03:00:05 +00:00
Vadim Kurland
5f58d6bcf2 * instDialog.cpp (instDialog::show): fixed #1419: clear progress
log display when instDialog is opened
2010-04-25 01:54:41 +00:00
Vadim Kurland
3360977c2d * MangleTableCompiler_ipt.cpp (keepMangleTableRules::processNext):
fixed #1415 "action branch that creates branch in mangle table
should branch in FORWARD chain". Rule with "any" in src and dst
and action Branch with option "branch in mangle table" will go
into FORWARD chain in addition to the PREROUTING and POSTROUTING
chains as before. Note that choice of PREROUTING or POSTROUTING
chains depends on direction.
2010-04-24 01:41:47 +00:00
Vadim Kurland
4c6518d5d3 * PolicyCompiler_PrintRule.cpp (PrintRule::_printTarget): fixes #1416
leading blank space in front of the custom action is missing.
SF bug 2991397.
2010-04-23 18:22:08 +00:00
Vadim Kurland
3df762b301 * RoutingCompiler.cpp (reachableAddressInRGtw::checkReachableIPAddress):
fixes #1410 "Problem with route for 4.0.0-b2809". Compiler did
not allow vlan subinterface as a gateway in a routing rule.
2010-04-20 18:07:05 +00:00
Vadim Kurland
f05f657700 * RoutingCompiler_ipt.cpp (RoutingCompiler_ipt::epilog): fixed #1404
call to function restore_script_output in the generated iptables
script is sometimes added without function definition
2010-04-09 21:29:29 +00:00
Vadim Kurland
4bbe1c2b12 * NATCompiler_ipt.cpp (AssignInterface::processNext): fixes #1403
refs #1150  "Using ip address of wrong interface" is broken in v4.0.
2010-04-09 19:50:03 +00:00
Vadim Kurland
c1708d457a fixes #1394 using existing virtual functions that expand multiple addresses to expand cluster interfaces. Now it is possible to use interface of a cluster different from the one being compiled in rules 2010-04-09 02:29:27 +00:00
Vadim Kurland
65a0f408a7 * ProjectPanel_file_ops.cpp (ProjectPanel::exportLibraryTest):
fixed #1395 "routing rules are not reported properly while
exporting library"
2010-04-08 22:53:47 +00:00
Vadim Kurland
e7cf79af49 fixed #1374 Rule with group of interfaces in the "Interface" column is not compiled the same as when the same interfaces are placed there without group 2010-03-29 19:44:02 +00:00
Vadim Kurland
3aec315ac0 fixed #1360 "negation of cluster interfaces is broken" 2010-03-27 21:41:04 +00:00
Vadim Kurland
a6c0b0f1ee working on #1360 "negation of cluster interfaces is broken" 2010-03-27 20:39:20 +00:00
Vadim Kurland
a0e953a5b8 tests for anti-spoofing rules when ip forwarding and "assume fw is part of any" are turned off. See #1338 2010-03-18 18:27:39 +00:00
Vadim Kurland
d02fd7a11e * PolicyCompiler_PrintRule.cpp (PrintRule::_printTimeInterval):
fixed time format for the iptables parameters --datestart,
--datestop which is supposed to be ISO 8601 "T" notation but
apparently with no support for time zone designators.  Timezone
desginators are an error in iptables 1.4.1.1 and 1.4.5, did not
test newer versions.  Fixes #1286 SourceForge bug #2961532
2010-03-01 22:52:06 +00:00
Vadim Kurland
93ee898670 minor fixes in tutorial page layout, getting started tutorial page text editing 2010-02-26 00:06:48 +00:00
Vadim Kurland
20efef1287 test for when the name of the script on the firewall is different 2010-02-19 19:08:37 +00:00
Vadim Kurland
72165862ca test for when the name of the script on the firewall is different 2010-02-19 19:05:49 +00:00
Vadim Kurland
17de7d3fe2 * fixes #1235 "cluster with dynamic interface can not be used in
rules". Fixes this and several other problems with policy and nat
rules that use cluster inetrfaces with dynamic addresses.
PolicyCompiler_ipt.cpp
NATCompiler_ipt.cpp
2010-02-17 05:37:55 +00:00
Vadim Kurland
09f29554c8 * PolicyCompiler_ipt.cpp (PolicyCompiler_ipt::_expand_interface):
fixes #1234 When failover group object is used in the rule, rule
gets placed in FORWARD chain. Working implementation follows these
rules: 1) if cluster interface obejct is used in the rule, it is
expanded to the set of addresses including cluster virtual IP
address and all addresses of the corresponding member firewall
interface; 2) Failover Group is treated as any regular object
group. Expanding Failover group to the address of its
parent (cluster interface) would work but seems counter-intuitive
2010-02-14 22:02:57 +00:00
Vadim Kurland
76dd6e285c * PolicyCompiler_ipt.cpp (decideOnChainIfDstFW::processNext):
fixes #1231 rules are placed FORWARD chain if firewall object is
"bridging firewall". This bugfix concerns specific rule
configuration used with bridging firewall where firewall object or
one of its interfaces is used in "destination" and an interface
which is not a bridge port is in the "interface" rule column. Rule
like this should go into INPUT chain but compiler used to splut it
and put generated iptables rules in both INPUT and FORWARD chains.
Rule should be placed in the FORWARD chain only if interface in
"interface" column is bridge port. The same algorithm also applies
to rules with firewall or one if its interfaces in the "Source"
column.
2010-02-14 18:54:47 +00:00
Vadim Kurland
9757f61c34 add missing #include, add test rules for bug 1231 2010-02-14 17:34:58 +00:00
Vadim Kurland
c73c00658f * PolicyCompiler_ipt.cpp (specialCaseWithFWInDstAndOutbound::processNext):
fixes #1220 "bridging fw rule using all multicast object in
destination does not produce any iptables rules".
2010-02-10 22:10:44 +00:00
Vadim Kurland
e50fcd4beb * PolicyCompiler_ipt.cpp (PolicyCompiler_ipt::insertConntrackRule):
fixes #1175 "There is no option for unicast on conntrac
sync-group (like heartbeat)". User can now choose between multicast
and unicast for conntrackd communication.
2010-02-07 04:31:52 +00:00
Vadim Kurland
35be1caa53 fixes #1185 "do not include member ip addresses for cluster NAT
policies". For NAT rules in a cluster, make it use only cluster ip
and ignore member ips.
2010-02-01 07:00:31 +00:00
Vadim Kurland
945fa9191b * NATCompiler_ipt.cpp (AssignInterface::processNext): fixes #1184
"compiler/GUI crash compiling cluster NAT rule when cluster and
members have dynamic interface". It should be possible to have
cluster interface that is mapped to dynamic interfaces of the
member firewalls and then use this interface or whole cluster
object in rules. Compiler should expand cluster object and replace
it with its interfaces and corresponding interfaces of the member
firewall and then correctly handle dynamic ones.
2010-02-01 00:42:35 +00:00
Vadim Kurland
2b8a352c58 * NATCompiler_PrintRule.cpp (PrintRule::processNext): fixes #1147
--persistent option for DNAT and SNAT
2010-01-27 01:06:12 +00:00
Vadim Kurland
f0a11a64b4 * NATCompiler_PrintRule.cpp (PrintRule::processNext): fixes #1146
support for NAT MASQUERADE source port randomization. This adds
support for the "--random" option for SNAT, DNAT and MASQUERADE
targets in iptables NAT rules. User needs to turn on the checkbox
that adds this option in NAT rules again
2010-01-27 00:39:17 +00:00
Vadim Kurland
1687a2efcb fixes #1150
"fwb_ipt should check AddressRange in TSrc against addresses of
interfaces".
2010-01-26 03:39:52 +00:00
Vadim Kurland
df34d27ca0 * PolicyCompiler_PrintRule.cpp (PrintRule::_printModules): fixes
#1123, #1124: Text label next to the option that translates into
--connlimit-above clause for the iptables "connlimit" module
now matches description in the iptables manual. Added checkbox
that allows the user to add negation to the generated code

fixes #1123, #1124
2010-01-21 03:50:38 +00:00
Vadim Kurland
c2ac334627 * CompilerDriver.cpp (CompilerDriver::validateClusterGroups):
fixes #1119 "add test for the integrity of failover cluster
groups".  Compilers require all failover group objects to be
configured with interfaces of member firewalls.
2010-01-20 20:50:04 +00:00
Vadim Kurland
0ee88506b5 * ../src/iptlib/NATCompiler_ipt.cpp (VerifyRules2::processNext):
fixes #1109: "rules that do not pass verifyRules() checks may
cause compiler crash in test mode or gui crash in single rule
compile mode"
2010-01-20 02:55:38 +00:00