1
0
mirror of https://github.com/fwbuilder/fwbuilder synced 2026-03-20 18:27:16 +01:00

237 Commits

Author SHA1 Message Date
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
d6d0dd0e41 * OSConfigurator_bsd.cpp (OSConfigurator_bsd::configureInterfaces):
New feature: generated script adds and removes CARP interfaces
incrementally. This means it is not going to run ifconfig command
to create carp interface if it is already there and will run
"ifconfig carp1 destroy" command if interface carp1 has been
removed in fwbuilder GUI to delete it on the firewall.
2010-02-14 06:16:44 +00:00
Vadim Kurland
81ee822cd3 * OSConfigurator_bsd.cpp (OSConfigurator_bsd::configureInterfaces):
New feature: incremental VLAN interface management for OpenBSD and
FreeBSD. When user adds or removes VLAN subinterface in fwbuilder
GUI, geenrated script executes appropriate ifconfig commands to
add or remove corresponding vlan pseudo-interface on the firewall
machine.
2010-02-14 03:23:25 +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
a0314a7d97 * src/pflib/PolicyCompiler_pf_writers.cpp (PrintRule::processNext):
fixes #1210 "syntax error in PF rule - "modulate state" is
required".  Per bug reported in the mailing list (and according to
the pf.conf manual), pf.conf requires "keep state", "modulate
state" or "synproxy"if any of the stateful tracking options are
used in the rule. These include "max", "no-sync", "pflow",
"sloppy", "source-track" and others.
2010-02-07 05:24:21 +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
8f5f4b4f0e fixes #1187 regression in compiler for PIX 2010-02-01 06:39:24 +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
cb57f957aa fixes #1136 "install" checkbox appears next to the cluster object in instDialog 2010-01-23 19:51:47 +00:00
Vadim Kurland
f34268b74d fixes #1134 object-group can only be used with ipv4 extended acls 2010-01-22 20:39:24 +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
628b675846 * IOSObjectGroup.cpp (IOSObjectGroup::toString): Refs #1107: first
draft of the object-groups support for Cisco IOS. Controlled by a
checkbox in the "Advanced" settings dialog of the firewall object;
this feature requires IOS v12.4(20)T or later and is off by
default.
2010-01-21 03:19: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
0ded969b45 * PolicyCompiler_cisco_acls.cpp (setInterfaceAndDirectionBySrc::processNext):
fixes #1120 "redundant commands generated for ssh
access". Compiler for PIX generated two "ssh address netmask
inside" commands for the same rule that permits ssh to the firewall.
2010-01-20 20:06:32 +00:00
Vadim Kurland
7bcd04bac3 * Helper.cpp (Helper::findInterfaceByNetzone): fixes #1118
"fwb_pix uses wrong interface compiling the second cluster
member".  NAT compiler for PIX failed to find interface with
correct network zone if interface was a child of another
interface, e.g. vlan subinterface.
2010-01-20 19:12:39 +00:00
Vadim Kurland
482fc615e7 * NATCompiler_pix.cpp (NATCompiler_pix::_expand_interface): fixes
#1115: "fwb_pix crash compiling cluster NAT rule set with
interface in TSrc". A cluster interface was used in the TSrc rule
element of a NAT rule. Cluster interfaces of PIX cluster have no
ip addresses of their own (PIX HA pair uses ip addresses of the
master unit), this caused rule element to become empty after
interface object was supposed to be replaced with its ip address.

fixes #1115
2010-01-20 08:09:15 +00:00
Vadim Kurland
83cd816c40 * (createNATCmd::processNext): fixes #1114: "fwb_pix crash when fw
with dynamic interface is used in TDst".
2010-01-20 06:38:01 +00:00
Vadim Kurland
988b82f0a8 * ../src/cisco_lib/NATCompiler_pix.cpp (NATCompiler_pix::compile):
fixes #1108: fwb_pix: incorrect access list is generated for
"static". When a firewall or host object with an interface that
was configured with netmask that was not
255.255.255.255 (i.e. configured correctly) was used in TDst of a
NAT rule for PIX firewall, compiler generated configuration that
used subnet instead of just the address of the inetrface.
2010-01-20 05:59:30 +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
Vadim Kurland
6b95f0d8c4 refs #1109 dropping rules that cause fatal errors 2010-01-19 23:54:09 +00:00
Vadim Kurland
1a973c2fed * ../src/cisco_lib/Helper.cpp (triplet::hash): fixes #1104:
compiler for PIX crashed when interface with dynamic address
was used in ODst of a NAT rule.
2010-01-19 22:22:47 +00:00
Vadim Kurland
4a88afc651 fixes #1094 2010-01-17 23:09:51 +00:00
Vadim Kurland
2e27954947 * PolicyCompiler_ipt.cpp (PolicyCompiler_ipt::compile): Using rule
processor Compiler::checkForObjectsWithErrors to find objects with
errors and generate proper calls to abort(). This exposes errors
that happened when Preprocessor failed to resolve compile-time
AddressTable and DNSName objects. If compiler runs in test mode,
preprocessor did not abort but used dummy substitution addresses
and continued. Call to checkForObjectsWithErrors generates proper
error messages tied to rules. Using this rule processor in all
compilers. Fixes #1087
2010-01-16 00:26:01 +00:00
Vadim Kurland
5a39ed8f67 * PolicyCompiler_ipt.cpp (processMultiAddressObjectsInRE::processNext):
fixes #1086: incorrect processing of run time address tables.
SourceForge bug 2932680. Rules with two run-time AddressTable
objects in the same rule element (source or destination) were
converted to the shell script that read addresses from the address
table files, plus wrong iptables command that matched any to any.
This change removes this extra command.
2010-01-15 22:16:14 +00:00
Vadim Kurland
66856ab1f7 * OSConfigurator_linux24.cpp (OSConfigurator_linux24::printShellFunctions):
fixes #1084 "if all user turns off all interface management and
configuration checkboxes, the check_tools shell function is not
added to the script but still called". Shell function
"check_tools" verifies that system tools iptables script needs to
operate properly are installed on the firewall. These are: ip,
modprobe and optionally vconfig, brctl, ifenslave. The bug made
compiler for iptables to add the call to the function but function
definition was missing if user unchecked all "configure
interfaces" checkboxes in the Script tab of firewall object
settings dialog.
2010-01-15 20:39:34 +00:00
Vadim Kurland
8c84808bda 2010-01-15 vadim <vadim@vk.crocodile.org>
* CompilerDriver_ipt_run.cpp (CompilerDriver_ipt::run): Refs #869
making sure non-english comments appear correctly in the single
rule compile output and generated configuration files and scripts.
2010-01-15 20:31:33 +00:00
Vadim Kurland
836430513e * PolicyCompiler_pf_writers.cpp (PrintRule::processNext): Added
support for pf state tracking options "no-sync" and "pflow". Set
version to "4.5" or "4.6" in the firewall object to be able to use
these new options.
2010-01-14 20:07:04 +00:00
Vadim Kurland
4d4ae0b63e fixes #1080 2010-01-13 23:00:21 +00:00
Vadim Kurland
f6e1886d4f * PolicyCompiler_PrintRuleIptRst.cpp (PrintRuleIptRst::_printRuleLabel):
really fixed #869 "compile rule" should also print the comment.
Printing rule comment in the compiler output in the single rule
compile mode when firewall object is configured to use
iptables-restore. Code that prints rule label and comment has been
unified for compilers for all firewall platforms.
2010-01-13 21:21:07 +00:00
Vadim Kurland
3b3a4678e4 * NATCompiler_ipt.cpp (AssignInterface::processNext): fixed bug
#1064: "Dedicated IPv6 interfaces show up in IPv4-NAT rules". Use
interface only if it has addresses that match address family we
compile for.

fixes #1064
2010-01-08 19:32:20 +00:00
Vadim Kurland
c8f06769e1 see #1049 2010-01-06 23:56:08 +00:00
Vadim Kurland
5acc923883 * PolicyCompiler_iosacl.cpp (PolicyCompiler_iosacl::addDefaultPolicyRule):
compiler for IOS ACL added only inbound automatic rule to permit
ssh access from the management workstation but did not add a rule
to permit reply packets. This fixes #993
2009-12-28 02:02:33 +00:00
Vadim Kurland
2398f59273 fixes #1005 "Wrong optimization flag for PF" 2009-12-28 00:54:22 +00:00
Vadim Kurland
ffe230a9c2 speed up policy compile (changes in libfwbuilder:r499) 2009-12-24 22:22:22 +00:00
Vadim Kurland
5123414e03 fixes #918 test installer on PIX; refs #992 bugfixes in SSHPIX 2009-12-23 02:37:38 +00:00
Vadim Kurland
37db19faf9 fixes #939 Add backup ssh access rule to the "stop" section of generated iptables script. Now with dialog control to make this optional 2009-12-18 23:44:58 +00:00
Vadim Kurland
7c33c5a7df fixes #943 error message misses fw or cluster name 2009-12-18 21:29:49 +00:00
Vadim Kurland
89f0bea82e using correct path to remove file names in manifest in generated pf script 2009-12-18 04:31:28 +00:00
Vadim Kurland
98b396a255 fixes #894 Added explanation how user can override configlets to the comment in each configlet file; also removing comments from configlet before processing variables and ifs 2009-12-18 04:12:01 +00:00
Vadim Kurland
986bddd400 fixes #876 2009-12-15 22:08:26 +00:00
Vadim Kurland
493d22fd1c 2009-12-14 vadim <vadim@vk.crocodile.org>
* src/res/configlets/linux24/automatic_rules: Generation of the
automatic rules (matching ESTABLISHED and INVALID states,
backup ssh access and others) now uses configlet. Fixes #883

* src/res/configlets/linux24/automatic_rules: generated script can
now include automatic rules to match IPv6 neighbor discovery ICMP6
packets. This is controlled by a checkbox in the iptables
"advanced" settings dialog and is off by default. Fixes #878
2009-12-15 00:15:58 +00:00
Vadim Kurland
301d037988 see #803 take user name for the batch install from the dialog, overriding the name set in the fw object settings 2009-12-07 23:25:10 +00:00
Vadim Kurland
5001ba1d92 fixes #802 2009-12-07 21:12:26 +00:00
Vadim Kurland
ecfeec779b fixes #475 Added check for address a.b.c.d/0 in libfwbuilder and test for it in tets/ipt/ 2009-12-04 19:06:25 +00:00
Vadim Kurland
6934331544 fixes #97 2009-12-04 18:23:28 +00:00