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

1296 Commits

Author SHA1 Message Date
Vadim Kurland
15bab71f49 * NATCompiler_ipt.cpp (compile): see #2456 Added support for
single object negation in "Inbound Interface" and "Outbound
Interface" columns in compiler for iptables.

* NATCompiler_pf.cpp (compile): see #2456 Added support for single
object negation in "Interface" rule element of PF NAT rules. Now
compiler can produce PF commands such as "nat on ! em0 ... " (for
PF <4.7) or "match on ! em0 ..." (for PF >= 4.7)

* Compiler.cpp (singleObjectNegation::processNext): moved rule
processor that processes single object negation in any rule
element to the base class Compiler.
2011-06-03 17:54:14 -07:00
Vadim Kurland
a0da65ddc9 see #2464 implemented import of PF "set timeout",
"set limit" and other "set" commands. Known limitations:

 - commands "set ruleset-optimization", "set loginterface",
   "set block-policy", "set state-defaults", "set require-order",
   "set fingerprints", "set reassemble", "set hostid" are not supported.
2011-06-02 17:18:37 -07:00
Vadim Kurland
52ea731f92 refactored useful classes AddressSpec, PortSpec, InterfaceSpec, IcmpSpec and RouteSpec to separate modules so they can be used with other installers 2011-05-31 16:31:05 -07:00
Vadim Kurland
1ed2581dd1 see #2449 import of "nat" rules. First implementation. Restrictions are listed in ChangeLog 2011-05-30 21:49:46 -07:00
Vadim Kurland
a3a07b4b42 see #2394 documenting import limitations in ChangeLog 2011-05-27 14:50:28 -07:00
Vadim Kurland
a544492ced see #2434 "PF compiler should use 'self' keyword where
appropriate". Compiler for PF now uses keyword 'self' in rules
where firewall object is used in Source or Destination.
2011-05-26 14:13:26 -07:00
Vadim Kurland
ea7f28e1ef * FWObjectDatabase_tree_ops.cpp (merge): see #2420 "Crash when
selecting New Firewall and existing firewall has interface that is
locked". Fixed GUI crash that happened on some operations if an
object in the tree was locked. For example, if the user locked an
interface of one of the firewall objects that then proceeded to
create new firewall object, the GUI would crash. The problem was
not limited to locking specifically interface objects.
2011-05-17 11:56:21 -07:00
Vadim Kurland
ac4e1bfb62 see #2411 implemented import of iptables rules with target CLASSIFY 2011-05-15 22:47:55 -07:00
Vadim Kurland
1199fd926a see #2405 "Tag and classify actions dont work properly with branches".
When branching rule points to a rule set that has rules with Tag and
Classify options, branching should occur in mangle table even when
checkbox "create branch in mangle table" is not checked. The fix in
this change is tentative as it creates branch in chains PREROUTING,
POSTROUTING and OUTPUT. Since target CLASSIFY is only allowed in
POSTROUTING, this may create conflict. Need to test more.
2011-05-14 15:46:23 -07:00
Vadim Kurland
f0dc79359e * AttachedNetworks.cpp (AttachedNetworks): see #1580 New object
type: network object that automatically matches subnets an
interface is attached to. The object can be a child of an
interface. The object is optional and is not created automatically
for all interfaces; user can add it using context menu associated
with an interface. Dialog for this object allows editing of the
name and comment. List of network addresses represented by this
object is always generated automatically. Compiler for PF
translates this object to "en0:network" construct that is
supported by PF. Compiler for iptables expands it to the list of
ipv4 and ipv6 networks defined by the addresses of the parent
interface if interface has static addresses. If interface is
confgiured as "dynamic" and has no address in fwbuilder, then
compiler treats AttachedNetworks object as run-time and uses shell
function to determine network addresses during activation of the
firewall script. Compilers for other firewall platforms always
treat this object as compile-time and abort if it is used with
dynamic interface.
2011-05-14 14:44:00 -07:00
Vadim Kurland
6f9add86c3 * PolicyCompiler_ipt.cpp (processNext): see #2402 "Tag action
should be done in PREROUTING so it can be acted on later". If a
rule has both tagging and classification options, the rule should
be split so that iptables command doing tagging goes in PREROUTING
and rule doing classification goes into POSTROUTING chain.
;
2011-05-13 18:21:56 -07:00
Vadim Kurland
a787f35fd0 see #2401 "Deprecating
Route option for iptables"
2011-05-13 16:14:34 -07:00
Vadim Kurland
2b67a0a491 see #2399, #2340 rules that require tagging, classification or routing are now split so that regular actions such as Accept are implemented using normal rules in the table "filter" and rules in table "mangle" only implement tagging, classification and routing. See ChangeLog for longer description 2011-05-13 13:06:42 -07:00
Vadim Kurland
83cc8b4b3f merge from the latest changes in release-4.2.1 2011-05-11 22:43:01 -07:00
Vadim Kurland
a2d64c733a set version to 4.2.2
see #2395, #2396  need to call fixTree() to fix pointers to the root of the tree after merge()
2011-05-11 09:53:11 -07:00
Vadim Kurland
e706c96473 v 4.3.0.3541; merged from multiple_actions 2011-05-10 16:33:34 -07:00
Vadim Kurland
38540cec7c merge from development 4.2.1.3540 2011-05-09 17:08:17 -07:00
Vadim Kurland
3b70160562 * FWCmdAddObject.cpp (redo): fixes #2391 "selecting 'new library'
when editor panel not on 'editor' tab causes crash"
2011-05-09 11:27:57 -07:00
Vadim Kurland
880cfb13fc * PolicyCompiler_pf_writers.cpp (_printQueue): see #2390 Classify
does not generate "queue" string for rules created in V4.2.1.3538
This completes the fix for the bug #2385.
2011-05-06 18:36:23 -07:00
Vadim Kurland
8773642198 see #2367 merge from development 2011-05-05 19:16:47 -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
c096684c20 see #2367 merged latest changes from development branch; this merged transformation for v18->v19 XML file upgrades; upgraded test files for PF 2011-05-04 16:44:08 -07:00
Vadim Kurland
d14a984f85 * FWObjectDatabase_18.xslt: XSLT transformation to upgrade data
files from DTD v18 to DTD v19. This transformation finds
"PolicyRule" elements with missing "Itf" child elements and fixes
them by adding such element with a reference pointint to "any".
Fixes #2383

* fwbuilder.dtd.in: Element "Itf" (an interface) of "PolicyRule"
should be required. DTD version increment.
2011-05-04 15:23:46 -07:00
Vadim Kurland
a694b9a93d merged latest changes from development branch 2011-05-03 11:48:20 -07:00
Vadim Kurland
350c40030e * newFirewallDialog.cpp (finishClicked): see #2380 "Firewall
object is created in the middle of the "new firewall" wizard and
clicking Back creates two firewall objects". If user chose to
create new firewall object from a template and clicked Back after
choosing the template, the program actually created two firewall
objects but only one was visible in the tree.
2011-05-03 11:28:13 -07:00
Vadim Kurland
13a897452d * PolicyCompiler_ipt.cpp (processNext): see #2367 "Multiple
actions per policy rule". Options "Tag", "Classify" and "Route"
work with iptables in a combination with any action. This
implementation has one restriction: option Route can not be used
in combination with options Tag or Classify and any action that is
not Continue. This is because option Route can yield rules in
PREROUTING or POSTROUTING chains that are also used by options Tag
and Classify. For this combination we create two user-defined
chains that perform routing and tagging (or classification). In
case of a terminating action both chains end with it. This means
if one matches the packet, the other is never going to see it.
Non-terminating action "Continue" does not create this problem.
This limitation may be removed in future versions of fwbuilder.
2011-05-03 10:30:55 -07:00
Vadim Kurland
32302739fd see #2373 using different signal to call RuleSetView::updateAllColumnsSize() only once instead of doing it for each rule using object that changed 2011-04-30 12:48:47 -07:00
Vadim Kurland
7627a82cfe see #2373 first fix for this problem
The change in UsageResolver
eliminates unnecessary scanning of all rule sets to check if the
affected rule set might be used as a branch. The program used to
scan the same objects many times.
.
2011-04-29 18:50:37 -07:00
Vadim Kurland
a62f914887 * iosaclAdvancedDialog.cpp (accept): fixes #2368 and SF bug
3294457 "External install script". External install script name
and arguments werent saved for IOS firewall objects.
2011-04-29 12:06:16 -07:00
Vadim Kurland
bb5abafe5b * snmpNetworkDiscoveryWizard/ND_ProgressPage.h: fixes #2370, #2371
"broken signals in network discovery wizard". Network discovery
wizard was not correctly initializased and did not work.
2011-04-29 11:49:06 -07:00
Vadim Kurland
339079da7b * instDialog_ui_ops.cpp (readInstallerOptionsFromDialog):
tentative fix for SF bug 3169045 "Batch installer lists IPv4
address as management address". Built-in installer wanted to use
management interface address in batch mode even when alternative
address or putty session name was provided. This happens only in
batch mode install.
2011-04-25 12:00:54 -07:00
Vadim Kurland
856126c1cc started 4.2.1 2011-04-25 11:58:14 -07:00
Vadim Kurland
103c06aec0 added changelog record for the latest fix 2011-04-20 10:48:53 -07:00
Vadim Kurland
9ba2dc42ee * RoutingCompiler_ipt.cpp (compile): see #2359 "Crash when
compiling single rule with IPv6 destination and IPv4 gateway or
interface". Routing compiler for iptables does not support ipv6 at
this time and will issue a warning when user tries to place ipv6
address or network in a routing rule. The warning does not appear
when ipv6 address is a member of a group used in the rule. Also
see #1575.
2011-04-19 14:18:33 -07:00
Vadim Kurland
25633190e0 release notes for 4.2.0 2011-04-17 16:50:26 -07:00
Vadim Kurland
5e1e377c6a * fwbedit.cpp (main): added command line switch "-d" to function
"import" in fwbedit. This switch activates object deduplication
on import.
2011-04-17 12:30:31 -07:00
Vadim Kurland
94379ed9b5 * fwbedit.cpp (main): see #2328 "Add ability to run firewall import
from the command line". This has been implemented as a new function
"import" in fwbedit. See man page fwbedit(1) and "fwbuilder -h" for
more details.
2011-04-15 18:34:53 -07:00
Vadim Kurland
6185a88ceb * iptables.g (multiport_tcp_udp_port_spec): see #2245 fixed bug in
parser for iptables that prevented correct import of iptables rules
using module "multiport" with port range matches.
2011-04-15 12:27:43 -07:00
Vadim Kurland
14258139ee * CompilerDriver_pix_run.cpp (pixSecurityLevelChecks): see #2351
Security levels of ASA and FWSM interfaces do not have to be
unique. Removed check that enforced this.
2011-04-14 18:58:36 -07:00
Vadim Kurland
838116ab50 * IPTImporterRun.cpp (run): see #2275 Importer for iptables now
correctly handles both "intrapositioned" ("-s ! address") and
"extrapositioned" ("! -s address") negation.
2011-04-14 18:19:54 -07:00
Vadim Kurland
0a50274c28 see #2295 added FWSM version 3.2 2011-04-14 16:34:38 -07:00
Vadim Kurland
1223e94ebf * platform/pix.xml: see #2348: "Accounting action is not valid for
FWSM platform". Actions "Accounting" and "Reject" should not
appear in the drop-down list of actions in the GUI if platform is
pix or fwsm.
2011-04-14 12:27:21 -07:00
Vadim Kurland
59f40e5d71 * PolicyCompiler_pix.cpp (printPreambleCommands): see #2347 "FWSM
move up the "access-list mode auto-commit" command". Command that
configures access list commit mode should be issued before any
commands that clear and configure access lists. Also in this
change moving commands that set up temporary access list to the
top of the script.
2011-04-14 12:11:15 -07:00
Vadim Kurland
3c0554c003 * PolicyCompiler_pix.cpp (printClearCommands): see #2322 If this
is FWSM and if manual commit mode is used, need to commit after
clearing ACLs before we clear object groups.
2011-04-14 11:47:05 -07:00
Vadim Kurland
d066f567f5 * IPTImporter.cpp (pushPolicyRule): see #2338 "Empty Mangle Policy
object created on import". Iptables rules in the table mangle
will be imported in the dedicated Policy rule set with name
"Mangle". Rules that use chains FORWARD and POSTROUTING in table
mangle can not be reproduced and will be marked as "bad" (color
red and corresponding comment).
2011-04-13 19:09:30 -07:00
Vadim Kurland
457fcd1660 see #2344 disabled ntp configuraton when host os is FWSM 2011-04-13 17:24:55 -07:00
Vadim Kurland
c93421f0e3 * OSConfigurator_pix_os.cpp (_printSysopt): see #2345 More fixes for
FWSM 4.x: "service resetoutbound", "timeout xlate", "timeout sunrpc"
2011-04-13 17:10:16 -07:00
Vadim Kurland
6cc059b91c * OSConfigurator_pix_os.cpp (_printInterfaceConfiguration): see #2343
"Interface nameif error when installing generated config for FWSM".
Use correct  "nameif" command sytax  in FWSM 2.x and 4.x.
2011-04-13 15:33:50 -07:00
Vadim Kurland
5c07a81c7b * OSConfigurator_pix_os.cpp (_printSSHConfiguration): see #2344
"FWSM install errors for clear commands". Using correct syntax for
"clear" commands for FWSM v4.x
2011-04-13 12:27:52 -07:00
Vadim Kurland
d64b12221a * PolicyCompiler_PrintRule.cpp (_printTarget): see #2235 "Modified
rule action for Continue". Rules with action "Continue" should
translate into iptables commands without "-j TARGET" parameter. If
such rule also has logging enabled, it should use target "-j LOG"
instead of generating additional chain.
2011-04-11 19:35:42 -07:00