1
0
mirror of https://github.com/fwbuilder/fwbuilder synced 2026-03-21 18:57:14 +01:00

1258 Commits

Author SHA1 Message Date
Vadim Kurland
e0be917ef2 * applied two patches by Vadim Zhukov persgray@gmail.com to
replace calls to sprintf with safer calls to snprintf and fix some
compiler warnings.
2011-07-06 16:43:38 -07:00
Vadim Kurland
6046524a37 see #2552 "PF import: add ability to suppress comments referring to
line numbers in the original file".
2011-07-06 16:13:59 -07:00
Vadim Kurland
fd63078a5e see #2551 "PF Import - source routing rules are not imported with rule
options set". Importer should import "route-to" rule parameters.
2011-07-06 14:36:47 -07:00
Vadim Kurland
2914c7f81a * PFImporter.cpp (newAddressTableObject): see #2546 "PF import -
negation inside of inline tables is ignored". We can not import
PF table definition that has some addresses negated.
2011-07-06 12:45:16 -07:00
Vadim Kurland
f45f9ccb4b * PFImporterRun.cpp (run): see #2550 "PF import - recursive macros
are not supported". Importer for PF should interpret macro
definitions that use other macros. See #2545 "PF import error when
using macro names with same base name and incrementing digit
suffix". Importer should correctly interpret a macro that has name
of another macro as a substring of its own name.
2011-07-06 12:14:06 -07:00
Vadim Kurland
531c5a83fe PolicyCompiler_pf_writers.cpp (processNext): see #2549 "Update
generated route-to configuration for PF versions 4.7 and later",
SF bug 3348931. The "route-to" parameter moved to the end of
pass rules in PF 4.7
2011-07-05 14:00:35 -07:00
Vadim Kurland
eb67ae82ff * pf.g: fixed bug in PF import: address lists such as "{ addr1,
addr2, ... }" defined as macros or inside the rule could not be
imported correctly.

* pf.g: we should be able to import both "block quick log" and
"block log quick".
2011-07-05 13:27:14 -07:00
Theron Tock
05e9a1e215 Made keyword add/remove buttons the same size.
Fixes #2547.
2011-06-30 11:35:40 -07:00
Theron Tock
d7ee7ebabb Adding new icons for dynamic groups.
Fixes #2544 partially.
2011-06-29 15:03:58 -07:00
Theron Tock
cad71437f3 Make sure user folders are added properly. Also deal with case of an
object that has a folder attribute that doesn't exist in the parent's
subfolders list (shouldn't ever happen, but in case it does it no longer
crashes).  Also make sure that subfolders don't have commas in them.

Fixes #2539.
2011-06-29 14:50:07 -07:00
Theron Tock
2ee4869fac Catch exception inside preprocessor loop so that loop continues after
error (for unit tests).  Also make sure to set ".loaded" variable before
calling loadFromSource so that if an exception happens we won't try to
load it again later.

Fixes #2542.
2011-06-29 14:28:33 -07:00
Theron Tock
57de77b341 On mac we can get a drop event even if dragMoveEvent() says the drop is
invalid.  So we validate the drop the same we validate in dragMove to
make sure we don't crash on an invalid drop.

Fixes #2540.
2011-06-29 12:58:55 -07:00
Theron Tock
872fd64cb6 Various places in the code had logic for what directory to display in
QFileDialog.  There is now a single function to call,
FWBSettings::getOpenFileDir() that will compute what directory to start
in.

Cleaned out some code using QFileDialog that is never used (execDialog
and file button in CommentEditor).

Fixes #2517
2011-06-27 16:51:21 -07:00
Theron Tock
69364a4ee9 Display little folder icon next to "add subfolder". I don't see these
icons on linux so hopefully this comes out looking right.  :-)

Fixes #2528.
2011-06-27 14:48:03 -07:00
Theron Tock
a82219e002 Recent changes. 2011-06-27 14:34:14 -07:00
Vadim Kurland
ae21e6228f see #2520 "Attached Network objects are not renamed if a firewall is
renamed"
2011-06-22 15:35:52 -07:00
Vadim Kurland
d7a749154f see #2519 Avoid creating duplicate network objects for the
AttachedNetwork object if the parent interface has multiple ip
addresses that belong to the same subnet.
2011-06-22 15:25:18 -07:00
Vadim Kurland
c940bed072 see #2521 "Compile fails if firewall has locked interface that is set
to dynamic".
2011-06-22 14:55:53 -07:00
Vadim Kurland
344a22feed see #2524 'avoid " {tcp udp icmp} " in place of protocol'. NAT
compiler for PF does not need to generate protocol match "proto {tcp
udp icmp}" when service object used in the NAT rule is "any". The
reason this was done this way is lost in the mist of time; it's been
like this since very early versions of fwbuilder.
2011-06-22 11:03:07 -07:00
Vadim Kurland
49eed4d5be fixes #2428 and SF bug 3305234; new build 3551 2011-06-21 12:49:17 -07:00
Vadim Kurland
b8abb51339 see #2493 implemented "forward" function in addition to the "back"
function, added a button to the roolbar, using new icons for Back and
Forward buttons.
2011-06-20 16:30:53 -07:00
Vadim Kurland
f5e22c040b see #2477 removed transfer agent classes and functions 2011-06-20 14:56:28 -07:00
Vadim Kurland
db233ee8e8 see #2506 removed incomplete and obsolete russian and japanese localization 2011-06-20 11:35:22 -07:00
Vadim Kurland
d4a8546b6b incremented DTD version to 22 necause changes made for keywords and DynamicGroup object are not backwards-compatible; removed contributed autoupgrade xslt script that is not being used anymore, see #2501 2011-06-10 15:26:06 -07:00
Vadim Kurland
d682785b63 see #2496 parsing, but not importing, "user" and "group" matches 2011-06-09 16:33:22 -07:00
Vadim Kurland
c77796ebd0 see #2497 added an error on import of "include" word in pf.conf files 2011-06-09 16:15:36 -07:00
Vadim Kurland
677173e030 see #2487 fixed crash that happened when user created new cluster from member firewalls that had locked interfaces
;
2011-06-09 14:01:17 -07:00
Vadim Kurland
8d80e04420 FWWindow_editor.cpp (openEditor): this change is a part of the
GUI usability improvements: when user double clicks on a firewall
object to open it in the editor, rule set view panel switches to
the rule set of that firewall. To decide which rule set to show,
the program scans history of the objects the user opened before in
the same GUI session and shows that firewall's rule set they
opened last. If user never opened any rule sets of this firewall,
then the first Policy object is shown. See #2465.
2011-06-04 17:04:29 -07:00
Vadim Kurland
5888835db7 see #2454 making "any" open in the editor upon double-click; added ChangeLog record 2011-06-04 16:16:48 -07:00
Vadim Kurland
6d6038370c * applied patch to provide configure command line option to specify
path to ccache. Thanks to user "a. k. huettel " on SourceForge.
2011-06-03 20:39:38 -07:00
Vadim Kurland
6a9fdbf3af NATCompiler_pf.cpp (_expand_addr): see #2455 NAT Compiler for PF
should use "(interface)" syntax to the right of "->" in NAT rules.
This now works for all interfaces, including those that have ip
addresses in fwbuilder configuration, when interface object appears in
"Translated Source" in a nat rule. When firewall object appears in
"Translated Source", it gets replaced with a set of its interfaces
which also get translated into "-> (interface)".
2011-06-03 18:59:44 -07:00
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