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

810 Commits

Author SHA1 Message Date
Vadim Kurland
baba332a12 test examples for bug 2822098 2009-07-15 22:39:11 +00:00
Vadim Kurland
1f29579740 added comments to rules per bug #2822098 2009-07-15 20:56:21 +00:00
Vadim Kurland
92abc2b58e * PolicyCompiler_ipt.cpp (singleItfNegation::processNext): fixed
bug #2819901: "sub-optimal expansion of negated interface". Policy
rules with single interface object in "interface" rule element
with negation should generate iptables commands using "-i ! itf"
or "-o ! itf" rather than multiply the rule using all other
interfaces of the firewall. Note that for iptables v1.4.3 and
later, extrapositioned syntax is used, such as "! -i itf".
2009-07-14 23:59:02 +00:00
Vadim Kurland
ef15df93fc * PolicyCompiler_PrintRule.cpp, NATCompiler_PrintRule.cpp: fixed
bug #2821050: "loading new fw rules on iptables 1.4.3.2+ gives
warnings". starting with v1.4.3.1 iptables started giving warnings
when negation ("!")  is used after --option. This fix adds version
"1.4.3" to the list of recognized iptables versions in fwbuilder
and makes compiler generate extrapositioned version of the option
such as "!  --option arg".
2009-07-14 21:26:34 +00:00
Vadim Kurland
8ae2ef2d9c * iptAdvancedDialog.cpp (iptAdvancedDialog::iptAdvancedDialog):
fixed bug #2820840: "IPT: prolog script+iptables-restore silent
incompatibility". With this fix the GUI does not allow for the
prolog script to be placed after policy reset if iptables-restore
is used to activate iptables rules. Also policy compiler for
iptables checks for this condition and aborts with an error
message if prolog place is set to "after reset" but
iptables-restore is used to activate policy. Configuration may end
up with this combination of options if user set prolog place to
"after reset" first and switched activation method to
iptables-restore later.
2009-07-13 23:14:55 +00:00
Vadim Kurland
a08e47cc69 * ACL.cpp (ciscoACL::addRemark): fixed bug #1778536 "IOSACL -
remark command". Remarks now include rule comments; if comment
consists of several lines, each line is added using separate
remark statement. This works for both IOS ACL and PIX platforms.
2009-07-13 15:45:49 +00:00
Vadim Kurland
caf536c8f4 using pointers instead of "&" 2009-07-12 19:52:11 +00:00
Vadim Kurland
2927b4188b * printerStream.cpp (printerStream::printQTable): fix bug
#2807724: "Print out FWB still not ok". Taking into account hidden
rable rows associated with rule groups while printing rule sets.
Before this fix some rules disappeared between pages in the
printout.
2009-07-12 19:13:18 +00:00
Vadim Kurland
2673abb494 * OSConfigurator_openbsd.cpp (OSConfigurator_openbsd::processFirewallOptions):
fixed bug #2820162 "Bad sysctl name for OpenBSD pf" - the sysctl
argument for IPv6 forwarding was incorrect.
2009-07-12 02:21:32 +00:00
Vadim Kurland
251aaddd54 started 3.0.6
2009-07-11  vadim  <vadim@vk.crocodile.org>

* AddressRange.h (libfwbuilder): fixed bug #2820152: "Address
ranges and other such need IPv4/v6 typing". AddressRange object
should be recognized and removed from the rule if it is used in
ipv6 rule set. To do this, add virtual method
hasInetAddress() (should return true) to indicate that this object
has an address. This works since virtual method getAddressPtr()
has been implemented anyway.
2009-07-12 02:03:46 +00:00
Vadim Kurland
405aa3d937 more test cases for bug #2820152 2009-07-12 00:02:51 +00:00
Vadim Kurland
f2428e7962 test case for bug #2820152 2009-07-11 22:39:00 +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
e83104f3fe print ccache stats from configure.in 2009-06-10 20:55:06 +00:00
Vadim Kurland
8093777d9e removed deprecation warnings, added ccache stats print 2009-06-10 20:28:00 +00:00
Vadim Kurland
f9eb5e1a8c 2009-06-09 vadim <vadim@vk.crocodile.org>
* NATCompiler_pf_writers.cpp (PrintRule::_printSrcPort): fixed bug
#2803702 "NAT rule with source port range in TSrv is broken for
PF".  NAT rules matching source port ranges and translating source
port ranges should be possible.

* NATCompiler.cpp (classifyNATRule::processNext): (change in
libfwbuilder) fixed bug #2803689 "NAT rule matching dport but
chaning sport is broken".  NAT rules that match destination port
but translate source port should be possible (and the opposite
too).
2009-06-09 22:36:41 +00:00
Vadim Kurland
7c2a21cf01 additional checks for empty interface element, removed "in/out" controls from the advanced dialog for ipf 2009-06-08 21:43:16 +00:00
Vadim Kurland
37cb4e4afa 2009-06-08 vadim <vadim@vk.crocodile.org>
* NATCompiler_ipt.cpp (splitSDNATRule::processNext): Improved
support for NAT rules that translate both source and destination:
now a rule like this can translate both source and destination
addresses and at the same time source and destination port ranges.
Compiler generates two iptables commands, one with SNAT and
another with DNAT translation for a rule like this.
2009-06-08 20:03:24 +00:00
Vadim Kurland
71ca455795 2009-06-08 vadim <vadim@vk.crocodile.org>
* NATCompiler_PrintRule.cpp (PrintRule::processNext): Added
support for SNAT rules that translate only source port of udp or
tcp packets. This rule generate "-j SNAT --to-source :<port>"
with no address part.


;
2009-06-08 17:04:53 +00:00
Vadim Kurland
ba1cd11057 better check if ip service object with options is being used in ipv6 policy 2009-06-06 22:19:19 +00:00
Vadim Kurland
34be1c5f47 2009-06-06 vadim <vadim@vk.crocodile.org>
* PolicyCompiler_pf.cpp (PolicyCompiler_pf::compile): fixed
bug (no #): compiler for PF did not remove rules using IPv4
objects while compiling policy set to be "combined IPv4 and IPv6"
for IPv6 and vice versa. As the result, it used to double some
rules because the would appear both in IPv4 and IPv6 sections of
generated .conf file.
2009-06-06 20:19:10 +00:00
Vadim Kurland
0815275873 2009-06-05 vadim <vadim@vk.crocodile.org>
* PolicyCompiler_PrintRule.cpp (PrintRule::_printIP): fixed bug
#2801548 "fwb_ipt should issue error for ipsrv with options for
ipv6". Since IP options lsrr, ssrr, rr do not exist in ipv6,
compiler should refuse to compile rules that request matching
these options.

* PolicyCompiler_iosacl_writers.cpp (PrintRule::_printIPServiceOptions):
fixed bug #2801547 "fwb_iosacl should issue an error for ipservice
with options". IOS access lists can not match source routing
options set in IPService object, compiler should issue an error
and abort processing when an object like this is encountered in a
rule.

* IPServiceDialog.cpp (IPServiceDialog::loadFWObject): fixed bug
#2801545 "IP Service object: lsrr, ssrr, rr options not saved".

* PolicyCompiler_pf_writers.cpp (PrintRule::_printDstService):
fixed bug #2801544 "missing space after tos option in pf config"
2009-06-05 16:58:28 +00:00
Vadim Kurland
94ac7dd955 2009-06-04 vadim <vadim@vk.crocodile.org>
* IPTImporter.cpp (IPTImporter::pushPolicyRule): fixed bug
#2801362 "Iptables policy import does not handle rules with
ESTABLISED". Policy importer for iptables should properly
handle rules that use combination of a "-p protocol" and
match state "RELATED,ESTABLISHED". Example:
-A INBOUND -p tcp -m state --state RELATED,ESTABLISHED -j ACCEPT
This rule should translate into fwbuilder rule using CustomService
object with code "-m state --state RELATED,ESTABLISHED"
and protocol spec "tcp".
2009-06-04 20:35:53 +00:00
Vadim Kurland
9ac1a7801b 2009-06-03 vadim <vadim@vk.crocodile.org>
* ObjectManipulator.cpp (ObjectManipulator::findWhereUsedRecursively):
fixed bug #2800625 "recursive groups cause infinite loop and crash
in compiler". When a group included itself, compiler used to go
into infinite loop and crash. The fix in this function also takes
care of the situation when group A referenced group B, which in
turn referenced group A again.
2009-06-03 18:24:14 +00:00
Vadim Kurland
1c0c8b2010 2009-06-01 vadim <vadim@vk.crocodile.org>
* newHostDialog.cpp (newHostDialog::selectedInterface): fixed the
same error reported in bug #2799163: "crash on correcting an
error". The GUI crashed if user tried to add, then delete
interfaces in the new firewall wizard. The crash occurred when the
last interface was deleted on the page where interfaces can be
configured manually. This needed to be fixed in both "new
firewall" and "new host" dialogs.
2009-06-01 14:48:12 +00:00
Vadim Kurland
d5ba3cfbaa * FindObjectWidget.cpp (FindObjectWidget::findNext): fixed bug
#2799315 "Find object" cant find object in rules of opened
firewall.  If scope was set to "policy of the opened firewall",
"Find object" function could not find anything. It worked when
scope was set to "policy of all firewalls".
2009-06-01 06:04:35 +00:00
Vadim Kurland
86c7378f24 2009-05-31 vadim <vadim@vk.crocodile.org>
* RuleSetView.cpp (RuleSetView::contextMenu): fixed bug #2799254
"Erratic behavior when rule is removed from the group". If user
tried to remove a rule from the middle of a group of rules, the
GUI behaved erratically. It showed two groups with the same name,
each of these two groups claimed to have more rules than it really
did. Also only one of these two groups could be collapsed at the
time. Other weird things also happened. The fix is to not allow
removing a rule from the rule group if the rule is in the middle.


;
2009-06-01 01:25:06 +00:00
Vadim Kurland
2592bada0a 2009-05-31 vadim <vadim@vk.crocodile.org>
* newFirewallDialog.cpp (newFirewallDialog::selectedInterface):
fixed bug #2799163: "crash on correcting an error". The GUI
crashed if user tried to add, then delete interfaces in the new
firewall wizard. The crash occurred when the last interface was
deleted on the page where interfaces can be configured manually.

* ObjectTreeView.cpp (ObjectTreeView::dragMoveEvent): fixed bug
#2799174: "Multiple instance crashes a bug". The GUI crashed if
user tried to drag and drop an object between two different
running copies. Copy/Paste and Drag&Drop between separate copies
are not supported at this time.

;
2009-05-31 21:22:59 +00:00
Vadim Kurland
95776701ce 2009-05-29 vadim <vadim@vk.crocodile.org>
* newFirewallDialog.cpp (newFirewallDialog::finishClicked): better
fix for the bug #2796760 "Display error when adding new FW with
multiple interfaces".
2009-05-29 16:15:31 +00:00
Vadim Kurland
823517ab96 2009-05-28 vadim <vadim@vk.crocodile.org>
* ObjectManipulator.cpp (ObjectManipulator::actuallyCreateObject):
fixed bug #2797791: "Display error when duplicating an object".

* InterfaceData.cpp (InterfaceData::guessSecurityLevel): (change
in libfwbuilder) set security level to 0 (insecure) by
default. This makes all interfaces of the newly created firewall
be "external" or "insecure" unless they were assigned labels or
addresses from the private address space in which case
guessSecurityLevel() assigns level 100. This addresses bug
#2796760 "Display error when adding new FW with multiple
interfaces".
2009-05-28 22:17:14 +00:00
Vadim Kurland
68103fe615 2009-05-27 vadim <vadim@vk.crocodile.org>
* RCSFilePreview.cpp (RCSViewItem::operator<): implemented feature
req. #2796238 "3.0.4 - FEAT REQ: Sort order for RCSFilePreview".
RCS file preview dialog (the one that shows RCS revisions and RCS
log records) can display revisions in the tree or list view style,
controlled by radio-buttons. Style setting is saved in user
preferences and persists from session to session. In both cases
the view can be sorted by revision number or data. Sort column
choice is also saved in preferences. By default program sorts by
date and selects the latest revision.

* ObjectManipulator.cpp (ObjectManipulator::actuallyPasteTo):
fixed bug (no #): the GUI did not allow to copy/paste an address
from one interface to another. This should be possible.
2009-05-27 20:40:51 +00:00
Vadim Kurland
0a191e2fdd 2009-05-27 vadim <vadim@vk.crocodile.org>
* PolicyCompiler_pf_writers.cpp (PrintRule::_printAddr): fixed
bug (no #): policy compiler for pf crashed when dynamic interface
was used in source or destination of a policy rule.

* ObjectManipulator.cpp (ObjectManipulator::contextMenuRequested):
fixed bug #2793144 "Context menu item for the new User Service
object is missing".
2009-05-27 16:37:35 +00:00
Vadim Kurland
c46b23de3a sending guid with update check 2009-05-27 06:03:41 +00:00
Vadim Kurland
65ce16dc55 2009-05-21 vadim <vadim@vk.crocodile.org>
* ProjectPanel_file_ops.cpp (ProjectPanel::fileOpen): (finally)
fixed the algorithm used to determine directory offered to the
user when they use main menu File/Open to open a file:
  1) if "work directory" is configured in preferences, always use
  it first;
  2) if it is blank, use the same directory where currently opened
  file is located;
  3) if this is the first file to be opened, use the same
  directory user used last time they ran the program (saved in user
  settings).
2009-05-21 17:55:48 +00:00
Vadim Kurland
0a9031a115 2009-05-21 vadim <vadim@vk.crocodile.org>
* RuleSetView.cpp (RuleSetView::pasteObject): fixed bug #2794827
"crash when pasting from a Library in a another file". The GUI
crashed if user tried to copy/paste an object from one data file
into a rule in another.
2009-05-21 17:20:24 +00:00
Vadim Kurland
9901ee70e5 2009-05-20 vadim <vadim@vk.crocodile.org>
* ObjectEditor.cpp (ObjectEditor::help): Added support for the
built-in help page for all objects dialogs, including rule
actions and options dialog. Implemented help pages for actions
"Route", "Branch", "Tag", "Classify" and rule options dialogs for
iptables and pf. Button "Help" is greyed out if corresponding help
page is unavailable.

* RuleSetView.cpp (RuleSetView::switchObjectInEditor): fixed bug
#2794484 "Crash after click in the "Options" col of rule group
title".
2009-05-20 21:54:45 +00:00
Vadim Kurland
b4d1dd35fa 2009-05-16 vadim <vadim@vk.crocodile.org>
* PolicyCompiler_ipt.cpp (checkInterfaceAgainstAddressFamily::processNext):
fixed bug #2792888: "interface with only v4 address is used in v6
rules". Compiler should drop rule if it is associate with an
interface that does not have address that belongs to the address
family declared for the rule set. If interface has only ipv4
address, it will never see ipv6 packets and therefore rules that
have this interface in the "interface" rule element should not be
included in the output generated for the ipv6 or combined
ipv4+ipv6 rule sets.
2009-05-17 05:54:30 +00:00
Vadim Kurland
b8d51e1b35 Implemented nice startup tip dialog; tips are downloaded from update.fwbuilder.org or if that is unavailable, the package comes with 10 tip files 2009-05-16 00:27:55 +00:00
Vadim Kurland
444dfb5bb2 2009-05-14 vadim <vadim@vk.crocodile.org>
* PolicyCompiler_pf.cpp (fillDirection::processNext): fixed bug
#2791950 "no way to generate "pass out" rule with no interface".
Compiler created two rules "pass out" and "pass in" for rules with
no interface and direction "in" or "out". It should create one
rule with direction defined by the rule in the GUI.
2009-05-14 21:54:42 +00:00
Vadim Kurland
331a1adaa9 2009-05-12 vadim <vadim@vk.crocodile.org>
* PolicyCompiler_pf_writers.cpp (PrintRule::processNext): fixed
bug #2790927: "Add support for "sloppy" state tracking for PF".
2009-05-12 22:43:57 +00:00
Vadim Kurland
68cd7c98c5 using better default value for table scaling factor 2009-05-12 22:08:42 +00:00
Vadim Kurland
dbe1c90354 2009-05-12 vadim <vadim@vk.crocodile.org>
* FWWindowPrint.cpp (FWWindow::tableResolutionSettingChanged):
Using slider widget to set table scaling factor; now user can
choose any scaling factor between 1 and 200%. This fixes bug
#2789903: "Table scaling when printing in 3.0.4"
2009-05-12 21:59:46 +00:00
Vadim Kurland
0f9d29d492 calling libtoolize properly so both old and new versions will work 2009-05-06 18:34:23 +00:00
Vadim Kurland
8bf5014ae1 2009-05-06 vadim <vadim@vk.crocodile.org>
* FirewallInstallerCisco.cpp (FirewallInstallerCisco::activatePolicy):
fixed bug #2787932 "External install script is not supported for
PIX".
2009-05-06 16:42:42 +00:00
Vadim Kurland
bcc9731dfb 2009-05-07 vadim <vadim@vk.crocodile.org>
* fixed bug #2787857: "b847 crashes on Start". v3.0.5 build 847
links with QtDBus framework as part of the future development but
the framework file was not included in the bundle. This caused
crash on Mac OS X.
2009-05-06 14:07:50 +00:00
Vadim Kurland
1cc876b463 fixed bug 2785671; added verbose error messages to autogen.sh for when autoconf and libtool are missing 2009-05-02 19:21:01 +00:00
Vadim Kurland
77a924bfdf merging fixes for autogen.sh and deleted files config.sub and config.guess 2009-05-02 17:39:06 +00:00
Vadim Kurland
bfc4848407 remove autogenerated file qmake.inc from svn 2009-05-02 16:51:05 +00:00
Vadim Kurland
00c5ce8f18 if ccache is present on the build system, passing "QMAKE_CXX=ccache g++" via qwmake.inc file rather than command line 2009-05-02 04:25:48 +00:00
Vadim Kurland
120ea1d149 2009-04-30 Vadim Kurland <vadim@vk.crocodile.org>
* ObjectManipulator.cpp (ObjectManipulator::addTreePage):
	references bug #2783780: trying QTreeWidget::sortItems() instead
	of sortByColumn
2009-05-01 05:37:36 +00:00