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

319 Commits

Author SHA1 Message Date
Vadim Kurland
8bf0b719b3 script output redirection in the routing section 2009-03-03 05:26:43 +00:00
Vadim Kurland
0264476556 changelog rrecord 2009-02-28 06:58:12 +00:00
Vadim Kurland
0ff42b7fff * RoutingCompiler_ipt_writers.cpp (PrintRule::processNext): fixed
bug #2540389: "Routing Broken from 2.1 to 3.0.3". Generated script
preserved default route when it deleted route entries before
installing new ones. This was different compared to the behavior
of the v2.1 where default was deleted together with other routing
entries. The reason for this change (made some time in summer of
2008) was that if user did not define default route in their
routing ruleset, the script would delete existing default without
installing new one, leaving firewall with no default route at all.
Now the script deletes default if there is new one to install and
preserves it otherwise.

* RoutingCompiler_ipt_writers.cpp (PrintRule::processNext): fixed
bug (no #): if generated firewall script detects an error from one
of the commands that install routing rules and runs function that
restores previous routing entries, it should also run epilog
commands.
2009-02-28 06:55:33 +00:00
Vadim Kurland
31ef42f3a1 * FirewallInstaller.cpp (FirewallInstaller::getDestinationDir):
bugfix (bug was introduced in build 768). If user entered
alternative activation command in the "installer" tab of the
firewall object settings dialog, the program confused it with
destination directory and tried to execute incorrect command to
copy files to the firewall. This build (770) fixes this problem.
2009-02-21 23:06:50 +00:00
Vadim Kurland
0bf9408448 2009-02-21 vadim <vadim@vk.crocodile.org>
* SSHUnx.cpp (SSHUnx::SSHUnx): New feature: built-in installer can
now enter sudo password. There is no need to configure firewall
management account for password-less sudo access anymore.
2009-02-21 22:42:38 +00:00
Vadim Kurland
bddc4c6726 2009-02-19 vadim <vadim@vk.crocodile.org>
* FirewallInstaller.cpp (FirewallInstaller::getDestinationDir):
fixed bug #2618772 ""test install" option does not work". If "test
install" checkbox was checked in the installer options dialog, the
program copied file to directory /etc/fw on the firewall but tried
to find it in /etc/fw/tmp to run.
2009-02-20 06:49:12 +00:00
Vadim Kurland
6a0e4d9f58 2009-02-19 vadim <vadim@vk.crocodile.org>
* FirewallInstaller.cpp (FirewallInstaller::packSCPArgs): fix bug
#2618686 "built-in installer can not handle ipv6 management
address". Built-in installer did not properly for scp and ssh
command like when it had to use IPv6 address to communicate with
firewall.
2009-02-20 05:10:52 +00:00
Vadim Kurland
dad78e4890 2009-02-17 vadim <vadim@vk.crocodile.org>
* Management.cpp (Management::fromXML): (change in libfwbuilder):
fixed bug #2609796 "internal object Management does not accept
ipv6 address". Class Management should accept ipv6 address. The
problem was that if an interface of the firewall had only ipv6
address and was marked as "management" interface, saving such
configuration to .fwb file created broken data file that could not
be loaded back. The error was:

The program encountered error trying to load data file.
The file has not been loaded. Error:
Exception: Invalid IP address: aaaa:bbbb:cccc::1
XML element : Management

where aaaa:bbbb:cccc: is ipv6 address.
2009-02-17 18:26:01 +00:00
Vadim Kurland
735a8468e7 2009-02-13 vadim <vadim@vk.crocodile.org>
* PolicyCompiler_ipt.cpp (finalizeChain::processNext): fixed bug
#2597959 "rules disappear in ipv6 policy unless ipv4 forwarding is
on". Example: IPv6 policy, rule where fw object and internal
network are in source, destination is "any". If option "assume
firewall is part of any" was turned off and ipv6 forwarding was on
but ipv4 forwarding was off, this rule did not yield any iptables
commands in generated script.

* iosaclAdvancedDialog.cpp (iosaclAdvancedDialog::accept): fixed
bug #2597949 "GUI crash in IOS ACL "advanced" settings
dialog". GUI crashed upon click OK in the firewall settings dialog
for the IOS ACL firewall.
2009-02-14 01:57:41 +00:00
Vadim Kurland
fce91ac02b * src/gui/Icons/accept_25.png: fixed bug #2565164 "Colorblind
friendly Accept & Deny Icons". Accept and Deny icons were
indistinguishable for red-green colorblind people. New icons
incorporate standard symbolics for the "Aceept" and "deny"
functions to make them sufficiently different besides the color.
2009-02-06 14:29:08 +00:00
Vadim Kurland
e099726bef * OSConfigurator_linux24.cpp: add empty line after user's code
in prolog and epilog shell functions to make sure shell syntax
        is not violated if user does not end prolog or epilog code
        with linefeed.
2009-02-06 00:58:01 +00:00
Vadim Kurland
c654b0b698 fixed bug #2568819 "generated script
created on windows is not executable".
2009-02-05 16:22:48 +00:00
Vadim Kurland
d591159ebf 2009-01-31 Vadim Kurland <vadim@vk.crocodile.org>
* ipt.cpp (processPolicyRuleSet): fixed bug #2550074: "Automatic
	rules for filter table included twice in iptables". If user had
	two policy ruleset objects marked as "top" rule set, then
	automaitc rules were added twice.
2009-01-31 08:40:25 +00:00
Vadim Kurland
0516743140 bug #535146 2009-01-30 04:54:03 +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
Vadim Kurland
076864e9e3 2009-01-24 vadim <vadim@vk.crocodile.org>
* platforms.cpp (getReadableRuleElementName): code refactoring:
made it possible to translate ruleset table column
names ("Source", "Destination" etc.). Currently only Russian
translation is provided.
2009-01-24 08:01:32 +00:00
Vadim Kurland
ac34c6f2a1 2009-01-23 vadim <vadim@vk.crocodile.org>
* FindWhereUsedWidget.cpp (FindWhereUsedWidget::createQTWidgetItem):
        fixed bug #2412334: "feature request: where used ->
        directly". There has been a change in the "Where used" function in
        v3.0 compared to the implementation in v2.1. New version showed
        not only rule elements and groups that referred to the given
        object, but also found all groups that referred to other groups
        that referred to the given object. Such recursive action was not
        always obvious to the user and was inconvenient when the function
        was used to find all places where given object was used with the
        goal to replace it with some other object. This fix reverts to the
        old behavior where only direct usages are reported by the "Where
        used" function. Elements of UI in this function have also been
        cleaned up and further unified with confirmation dialog shown when
        user tries to delete an object that is used in some groups and
        rules.
2009-01-24 07:17:05 +00:00
Vadim Kurland
f1dded95b3 2009-01-23 vadim <vadim@vk.crocodile.org>
* PolicyCompiler_PrintRule.cpp (PrintRule::_printAddr): fixed bug
#2526173: "fwb_ipt crashes due to old-broadcast". This bug was
introduced when support for module iprange was sadded. Need
special check for AddressRange objects where start and end of
range addresses are equal.

* NetworkDialog.cpp (NetworkDialog::addressEntered): fixed bug (no
#): the GUI used to check ip address entered for the network
object whenever user switched focus from the address input widget
in the network object dialog to another widget or even a different
application to look up the address. This caused the program to
show error dialog if this happened when the address was
incomplete. This change makes the program verify the address only
when user clicks "Apply".
2009-01-23 21:37:12 +00:00
Vadim Kurland
61b8f43035 changelog rec correction 2009-01-19 10:54:08 +00:00
Vadim Kurland
7d1206afdc 2009-01-19 Vadim Kurland <vadim@vk.crocodile.org>
* FWWindow.cpp (FWWindow::prepareFileOpenRecentMenu): Added menu
	Files/Open Recent.

	* FWWindow.cpp (FWWindow::startupLoad): open StartTipDialog from
	FWWindow rather than main() to make sure this dialog always
	remains on top of the main window.
2009-01-19 08:50:59 +00:00
Vadim Kurland
385a6afc9d 2009-01-19 Vadim Kurland <vadim@vk.crocodile.org>
* ProjectPanel_file_ops.cpp (ProjectPanel::autoSave): fixed bug
	#2499569: "fwbuilder crashes after some hours". The auto-save
	function now saves data file only if it has been
	modified. Frequent saves exasperate small memory leaks that appear
	in some old versions of libxml2.

Also, some clean up in libfwbuilder in data file writing
2009-01-18 22:25:10 +00:00
Vadim Kurland
90744bc6af 2009-01-17 Vadim Kurland <vadim@vk.crocodile.org>
* FWWindowPrint.cpp (FWWindow::filePrint): fixed bug (no #): the
        GUI crashed if user tried to use File/Print function when no
        ruleset was opened in the right hand panel.

        * printerStream.cpp (printerStream::printQTable): Applied patch by
        Paul@Auroragrp.Com that fixes problems with printing long rule
        sets. If rule set printout exceeded the length of the page, some
        rules at the bottom were cut off and lost. The patch corrects the
        problem by taking into account printer dpi while calculating
        position for page breaks.
2009-01-17 23:15:47 +00:00
Vadim Kurland
7fe497a77e 2009-01-11 vadim <vadim@vk.crocodile.org>
* unknown.xml.in: fixed bug #2486558 "firewall platform "unknown"
should support basic actions".
2009-01-11 17:03:20 +00:00
Vadim Kurland
339108e4ad changelog record 2009-01-10 23:59:18 +00:00
Vadim Kurland
8ae096a772 discovery of ipv6 addresses of interfaces; support in DiscoveryDruid and newFirewall, newHost 2009-01-10 23:58:44 +00:00
Vadim Kurland
d3b2c58bc0 changelog record 2009-01-06 08:13:31 +00:00
Vadim Kurland
8bb882cccd 2009-01-05 vadim <vadim@vk.crocodile.org>
* RoutingCompiler_cisco.cpp (RoutingCompiler_cisco::compile):
fixed bug (no #): routing compiler for pix refused to add more
than one routing rule with an error saying that other rules were
duplicates. Error was introduced in build 732.
2009-01-06 03:56:35 +00:00
Vadim Kurland
743c601984 2009-01-02 vadim <vadim@vk.crocodile.org>
* RoutingCompiler_iosacl.cpp (RoutingCompiler_iosacl::compile):
Added support for generation of "ip route" commands for Cisco IOS.
Variant of Cisco IOS "ip route" command where gateway is the name
of one of the interfaces of the router is also supported. To get
this, put interface object in the "gateway" column of the routing
rule.

* pix.xml.in, RuleSetView.cpp: Routing ruleset view shows column
"interface" only for platforms that require it. Currently IOS does
not require it, while other platforms for which routing commands
generation is supported require it (iptables and PIX).
2009-01-02 08:26:24 +00:00
Vadim Kurland
42dee41104 * RoutingCompiler_cisco.cpp: refactored PIX routing compiler by
steven@openbsd.org to use it as a foundation of the routing
compiler for both PIX and Cisco IOS (r731).
2009-01-02 06:54:03 +00:00
Vadim Kurland
7d9c7890e9 added README.pix_routing 2009-01-01 20:57:59 +00:00
Vadim Kurland
56212319d6 2009-01-01 vadim <vadim@vk.crocodile.org>
* RoutingCompiler_pix.cpp: applied patch by Steven Mestdagh
<steven@openbsd.org> that adds support for static routing
configuration for PIX.
2009-01-01 20:55:43 +00:00
Vadim Kurland
afc322befd 2008-12-31 vadim <vadim@vk.crocodile.org>
* RuleSetView.cpp (RuleSetView::copyRule): fixed bug #2478528:
"Crash when copying multiple policy rules". GUI crashed if user
tried to copy/paste several rules, some of which belonged to rule
group and some did not.
2008-12-31 20:32:08 +00:00
Vadim Kurland
31d4f59bef bug #2477775 2008-12-31 01:46:42 +00:00
Vadim Kurland
6dcb383084 making sure we do not change reference to libnetsnmp in libfwbuilder via install_name_tool 2008-12-30 16:45:42 +00:00
Vadim Kurland
e580398e84 bug #2474949 2008-12-30 02:55:58 +00:00
Vadim Kurland
1fb523806b changelog rec 2008-12-30 02:45:01 +00:00
Vadim Kurland
a3dbdebccc changes to be able to build universal binary on mac os x, also to use ccache on mac os x 2008-12-29 17:49:20 +00:00
Vadim Kurland
78a73c0e58 support for custom service in ios acl compiler 2008-12-28 22:58:55 +00:00
Vadim Kurland
1166213ef8 support for protocol in CustomService in compilers for ipf and ipfw 2008-12-28 21:06:00 +00:00
Vadim Kurland
53844b8060 checking for "proto ..." in the custom service code string before printing protocol in policy and nat compilers for pf" 2008-12-28 12:17:26 +00:00
Vadim Kurland
a720640ffe bugs 1111267, 2463048 2008-12-28 07:12:12 +00:00
Vadim Kurland
5ef36c5a52 2008-12-25 vadim <vadim@vk.crocodile.org>
* All policy compilers: using FWObjectDatabase::createClass
methods to create rules and other objects in compilers wherever
the type is known at the (code) compile time. This makes code
cleaner and speeds it up a little because of eliminated cast() and
string comparison.

* changes in libfbuilder: eliminated excessive use of dynamic_cast
and long chains of "if" comparing object type names in
FWObjectDatabase in methods that create new objects of given type.
2008-12-25 20:38:53 +00:00
Vadim Kurland
fdcce42e35 2008-12-23 vadim <vadim@vk.crocodile.org>
* PolicyCompiler_PrintRule.cpp (PrintRule::_printSrcAddr):
implemented feature req. #2353737 "use -m iprange". Using module
iprange for AddressRange objects if iptables version is set to
>=1.2.11.
2008-12-23 08:21:10 +00:00
Vadim Kurland
b62891ba69 * SSHSession.cpp (SSHSession::heartBeat): built-in installer
periodically "pings" the other end to keep ssh session alive. This
helps recreate state in the firewall state table if it is cleared
when rules are reloaded, which in turn prevents installer from
hanging.
2008-12-22 05:10:11 +00:00
Vadim Kurland
c3542157e6 2008-12-21 vadim <vadim@vk.crocodile.org>
* PolicyCompiler_pf.cpp (PolicyCompiler_pf::addDefaultPolicyRule):
Deprecated options "generate commands for both in and out" and
"pass all outgoing" in compiler for PF. Before, user could choose
whether compiler was to generate only commands to match inbound
packets or both inbound and outbound. The distinction between
these two modes became very minimal in the recent versions of
fwbuilder because algorithm was mostly controlled by the setting
of "direction" in the policy rules. Now these two options have
been removed completely, the behavior of the compiler is as if
option "generate both in and out" was used.

* pf.cpp (main): Compiler can add command "pfctl -F states" after
command "pfctl -f file.conf" to flush states that existed in
memory from sessions opened prior to the policy reload. The reason
is that some of these sessions might be denied by the new policy,
but if state is not flushed, they will still work after policy
reload. This is optireloand is controller by checkbox in the
"Script" tab of the "advanced" settings dialog for the PF
firewall.
2008-12-21 20:48:24 +00:00
Vadim Kurland
718cc7469d 2008-12-20 vadim <vadim@vk.crocodile.org>
* PrintingController.cpp (PrintingController::addObjectsToTable):
fixed bug #2388067: "Print out FWB 3.0.3 not ok". File/Print
function failed to print objects used by rules of the firewall.


;
2008-12-20 23:16:29 +00:00
Vadim Kurland
b8b0c8c687 2008-12-19 vadim <vadim@vk.crocodile.org>
* ProjectPanel_file_ops.cpp (ProjectPanel::loadFile): Implemented
feature request #2412323: "feature request: command line flag to
skip RCSFilePreview". New command line switch "-r" makes the GUI
automatically open RCS head revision of the file given on command
line if the file is in RCS. If the file is not in RCS, the new
switch does nothing and the file is opened as usual.
2008-12-20 07:37:17 +00:00
Vadim Kurland
d929b73f14 bug 2412310 2008-12-19 07:15:51 +00:00
Vadim Kurland
636840f051 changelog record 2008-12-16 05:30:56 +00:00
Vadim Kurland
1ac206288e 2008-12-15 vadim <vadim@vk.crocodile.org>
* ipt.cpp, ipfw.cpp, pf.cpp, iosacl.cpp: changes for FR #2431602:
support for rulesets configured as "dual address family", that is,
rulesets that should be compiled for both ipv4 and ipv6.

* RuleSetDialog.cpp (RuleSetDialog::applyChanges): implemented
feature request #2431602: "Feature request: Unified
policies (IPv4/v6)". RuleSet object now has two variables that
define which address family it should be compiled for - ipv4 or
ipv6. It is possible to have both set, in which case the same
ruleset will be compiled for both address families.
2008-12-16 05:03:50 +00:00