1
0
mirror of https://github.com/fwbuilder/fwbuilder synced 2026-03-19 01:37:17 +01:00

65 Commits

Author SHA1 Message Date
Vadim Kurland
7f2dbe58e9 See #2367 upgraded all test files to the latest dtd v21 2011-05-06 16:07:55 -07:00
Vadim Kurland
e24a73a560 see #2385 "PF action Classify uses
wrong parameter". This change fixes a bug introduced in 4.2.0
that affects rules with action Classify in PF firewalls.
2011-05-05 18:50:32 -07:00
Vadim Kurland
0e3bf10cb9 see #2252 compilers for iosacl and pix automatically increment/decrement port range boundaries to make tcp/udp port ranges defined in tcp/udp service objects inclusive 2011-03-21 12:56:37 -07:00
Vadim Kurland
0aa3eac4d4 * Compiler.cpp (expandGroupsInRuleElement): sorting objects in the
rule element by name after group is expanded, this helps ensure
stable ordering of objects in generated configuration.

* Compiler.cpp (replaceClusterInterfaceInItfRE::processNext):
sorting objects in rule element after cluster interfaces have been
replaced, this helps ensure stable ordering of objects in generated
configuration.

* FWObject.h (FWObjectNameCmpPredicate): moved this class from
gui-specific module to libfwbuilder as it is universally useful.
It can compare FWObject objects by name and can optionally can
follow references; it can be used with std::sort() to sort lists
of FWObject pointers or directly sort rule elements.
2011-03-12 19:50:24 -08:00
Vadim Kurland
72f75c8f9b see #2220 AutomaticRuls classes for iosacl, pix, procurve_acl 2011-03-12 16:13:17 -08:00
Vadim Kurland
1638eb4bd1 see #2207 finished fixes in all compilerts to enforce changes per #2209; regression tests for all platforms pass 2011-03-11 12:22:11 -08:00
Vadim Kurland
56f81407f1 fixes #2124 some error messages get multiplied when compiler splits rules 2011-02-20 21:32:58 -08:00
Vadim Kurland
ccbe413c22 upgraded regression tests data fles 2011-02-19 16:29:43 -08:00
Vadim Kurland
58ed0f4df2 re-ran tests 2011-02-03 10:06:20 -08:00
Vadim Kurland
78e177f759 see #1890 re-ran tests 2011-01-31 18:38:08 -08:00
Vadim Kurland
d331ee7840 fixes #1966 IOSACL: object-group can get name that consists of only suffix 2011-01-24 18:28:48 -08:00
Vadim Kurland
555e9425eb see #1968, #1972 object group deduplication finally works 2011-01-22 10:18:19 -08:00
Vadim Kurland
12d93a54c0 fixes #1963 move printing of object-group definitions to
NamedObjectManager::getNamedObjectsDefinitions(); also refactoring of the code that generates "clear" commands
2011-01-20 17:25:09 -08:00
Vadim Kurland
6b2d2c3a86 minor fix for iosacl 2011-01-20 14:41:44 -08:00
Vadim Kurland
139d5ce2de * NamedObjectsAndGroupsSupport.cpp (processNext): Added support for
CustomService objects in policy and nat rules for asa 8.3 using
named objects and object-groups.
 -- see #1942 "ASA NAT - if custom service is included in service
group incorrect config generated"
 -- see #1929 "move map named_objects inside class NamedObjectManager"
 -- see #1946 "restrict generation of the named objects by
PolicyCompiler_pix to ASA 8"
 -- see #1885 "named network and service objects in pix8"
2011-01-16 23:02:49 -08:00
Vadim Kurland
77690478f4 see #1940 ASA NAT - fwbuilder host objects interface ip is reserved keyword 2011-01-16 16:42:29 -08:00
Vadim Kurland
63257170e8 refs #1885 using named objects and object groups when multiple objects are found in TSrc; this fixes issue with address ranges 2011-01-13 12:49:25 -08:00
Vadim Kurland
24ac2b56ac fixed #1905, #1879 2011-01-10 16:43:43 -08:00
Vadim Kurland
00127aac9f fixes #1892 move rule processor class separateServiceObject to PolicyCompiler 2011-01-04 12:00:09 -08:00
Vadim Kurland
d3bfdcf0f7 removed {{$build}} from top_comment configlets since we do not have build number variable anymore 2011-01-03 13:23:17 -08:00
Vadim Kurland
abf2b3b2be checking in "golden" test files 2011-01-03 13:01:06 -08:00
Vadim Kurland
b6a003bac5 debugging algorithm that choses interface for ios acl rules with ipv6
Added test object for this
2010-11-16 19:18:56 -08:00
Vadim Kurland
d672e836f7 set version to 4.1.1; working implementation of policy installer for ProCurve 2010-08-15 06:12:52 +00:00
Vadim Kurland
8a4fb97afe upgraded test data files for 4.1 2010-07-20 23:45:05 +00:00
Vadim Kurland
e75d3ccdb0 minor updates in test data files after they were loaded in the latest version of the gui 2010-07-15 17:09:55 +00:00
Vadim Kurland
23a0cd7bc5 * RoutingCompiler_iosacl_writers.cpp (PrintRule::_printRItf):
fixed #1379 "Should be able to build routing rules with interface
as gateway for IOS". Routing rules for IOS now have column
"Interface". Rules can be built either with explicit address of
the gateway or interface.
2010-03-29 21:36:28 +00:00
Vadim Kurland
3cad647465 added test cases for #1377 and #1378; fixed #1378 see #1377 2010-03-29 20:38:31 +00:00
Vadim Kurland
c3db0a64f1 * PolicyCompiler_iosacl.cpp (splitTCPServiceWithFlags::processNext):
fixed #1247 incorrect use of tcp service with flags in
object-group.  "object-group service" does not seem to support tcp
flags and "established"
2010-02-19 04:33:13 +00:00
Vadim Kurland
570496c6c1 more tests for mirring rules for IOS ACL 2010-02-19 00:43:00 +00:00
Vadim Kurland
c4f4e5324b fixes #1241 implemented "add mirror rule" checkbox for IOSACL 2010-02-18 04:59: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
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
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
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
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
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
005507969c fixes #712 (ipt_mangle_only_rulesets option converted) fixes #713 2009-11-26 02:37:38 +00:00
Vadim Kurland
301a4ed864 fixes #614 Use FatalErrorInSingleRuleCompleMode in all compilers 2009-11-13 19:30:17 +00:00
Vadim Kurland
ba1f3c9166 vlan interface name patterns for Cisco IOS and PIX 2009-11-09 17:01:10 +00:00
Vadim Kurland
33fac22504 * PolicyCompiler_iosacl_writers.cpp (PrintRule::_printTCPFlags):
Implemented TCP flag matching per #2865044: "Add TCP options
support for IOS ACL". Uses extended ACL option "match-all" that
supports list of TCP flags that should be set and cleared. This
requires IOS v12.4 or later even though Cisco documentation seems
to indicate this option was introduced in 12.3(4)T. Fixes #455
2009-11-08 06:21:39 +00:00
Vadim Kurland
9750dea494 * PolicyCompiler_pix_writers.cpp (PrintRule::_printDstService): PIX
does not support IP options matching, compiler issues warning.
        Fixes #567

        * res/platform/iosacl.xml: Recognized IOS versions: 12.1, 12.2,
        12.3

        * PolicyCompiler_iosacl_writers.cpp (PrintRule::_printIPServiceOptions):
        Added support for IP options matching, requires IOS v12.3 or
        later. Fixes #566, #568
2009-11-07 02:32:50 +00:00
Vadim Kurland
0b55b0b734 data file upgrade 2009-11-02 15:29:24 +00:00
Vadim Kurland
23ee2d9531 merge from v3_1_merge 2009-09-23 17:00:48 +00:00
Vadim Kurland
a8393d34d7 2009-06-11 vadim <vadim@vk.crocodile.org>
* PolicyCompiler_iosacl_writers.cpp (PrintRule::_printRule):
implemented feature request #1778536: "IOSACL - remark command".
This adds support for the "remark" command in generated IOS
ACL configuration. Controlled by the checkbox "Add ACL remarks"
in the "Script" tab of the firewall object settings dialog.
2009-06-11 20:17:10 +00:00
Vadim Kurland
908af65de5 2009-03-19 vadim <vadim@vk.crocodile.org>
* iosacl.cpp (safetyNetInstall): fixed bug #2694146: "IPv6
temporary ACL blocks ICMPv6". Temporary ipv6 access list created
for the "safety net install" should permit icmp.
2009-03-19 14:42:35 +00:00
Vadim Kurland
4ac2dd549b * iosacl.cpp (safetyNetInstall): fixed bug (no #): when "safety
net install" option is used, temporary access list must be
generated only once even when firewall object has multiple
rulesets.



;
2009-03-19 05:03:02 +00:00
Vadim Kurland
0732f536ee 2009-03-18 vadim <vadim@vk.crocodile.org>
* PolicyCompiler_iosacl.cpp (PolicyCompiler_iosacl::prolog): fixed
bug (no #): temporary access list created for IOS when option
"safety net install" is used and ipv6 address is provided should
use keyword "host" if provided address does not specify netmask.


* fwbedit: properly saving data file after "checktree" operation
2009-03-19 04:40:55 +00:00
Vadim Kurland
db7b0961bf test case for iosacl using ccie4u router setup 2009-03-16 05:13:07 +00:00
Vadim Kurland
3ac34b8c2d 2009-03-12 vadim <vadim@vk.crocodile.org>
* PolicyCompiler_iosacl.cpp (PolicyCompiler_iosacl::prolog): fixed
few bugs (no #) in policy compiler for Cisco IPv6 ACLs:

  - The "extended" keyword is not supported by IOS for IPv6 ACLs

  - keyword "established" is only valid in combination with
protocol tcp. If standard CustomService objects "ESTABLISHED" and
"ESTABLISHED ipv6" are used in a rule, enforce protocol to "tcp".

  - command to clear ipv6 access lists should be "no ipv6
access-list ipv6_management_in"

  - command to assign ipv6 acl to interface should be "ipv6
traffic-filter ipv6_acl in"
2009-03-13 05:04:54 +00:00
Vadim Kurland
067cfb650e * objects_init.xml.in: Added CustomService object "ESTABLISHED
ipv6" which defines code for iptables, ipfw and IOS extended
access lists for IPv6.

* PolicyCompiler_ipfw_writers.cpp (PrintRule::_printProtocol):
fixed behavior or policy compiler for ipfw which was broken in
rev714 - it should print protocol "tcp" when custom service object
that adds option "established" is used. This compiler worked like
that before attribute "protocol" was added to the CustomService
object.
2009-01-25 06:35:06 +00:00