1
0
mirror of https://github.com/fwbuilder/fwbuilder synced 2026-03-21 02:37:16 +01:00

73 Commits

Author SHA1 Message Date
Vadim Kurland
6f6d9a0ef7 fixed broken host os in one of the test objects 2009-05-08 20:15:19 +00:00
Vadim Kurland
e59e06873e added test case for ip range 2009-04-24 15:14:45 +00:00
Vadim Kurland
fea4b8a892 2009-04-15 vadim <vadim@vk.crocodile.org>
* ipcopAdvancedDialog.cpp (ipcopAdvancedDialog::ipcopAdvancedDialog):
Integration with IPCOP, Endian and OneShield firewall apliances
(all based on linux/iptables). This sets generate file name to
"rc.firewall.local", destination directory on the firewall to
"/etc/rc.d/" and activation command to "/etc/rc.d/rc.firewall
restart".  Provided resource files for ipcop, endian and oneshield
platforms and os define default parameters, including path to
iptables and other command line tools. Generated script performs
minimal environment setting, because everything is supposed to be
set up by the aplpiance itself. Iptables commands are put in the
standard chains INPUT/OUTPUT/FORWARD, with user-defined chans
created as required. At this time policy and NAT rules work. Rules
added by fwbuilder are activated by the standard appliance
firewall script rc.firewall after all IPCOP rules are added and
before all hooks. This means rules created by fwbuilder do not
replace rules added by the appliance, but work together with
those. Prolog and epilog user-defined sections work as
well. Prolog is always added on top of the rules generated by
fwbuilder. Prolog and epilog sections can include any kind of
shell commands, not only iptables rules. Two new firewall
templates are provided: one for IPCOP/Endian firewall with two
interfaces (br0 is GREEN and eth1 is RED) and another for the
appliance with three interfaces (additionally eth2, as ORANGE).

* ipt.cpp (main): implemented feature request #2454447 "Standard
options for startup-script". Script generated by fwbuilder now
accepts standard arguments "start" and "stop". Running the script
with no argument is equivalent to "start" for backwards
compatibility. Running script with argument "stop" resets iptables
tables and chains and sets all to default policy DROP (beware!).
2009-04-15 19:32:34 +00:00
Vadim Kurland
4f49df2ea4 2009-04-10 vadim <vadim@vk.crocodile.org>
* ipt.cpp (dumpScript): fixed bug #2356131: "Iptables-restore
option broken for multiple policy sets". Compiler inserted
redundant line "echo COMMIT" to the iptables script if
iptables-restore was used and there were no rules in the mangle
table.
2009-04-11 00:53:50 +00:00
Vadim Kurland
b089416403 * RoutingCompiler_ipt.cpp (addressRangesInDst::processNext): fixed
bug #2666971 "fwb_ipt crashes when Address Range object in routing
rule". Policy compiler for iptables crashed if Address Range
object was used in "Destination" of a routing rule.
2009-03-06 04:47:58 +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
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
0516743140 bug #535146 2009-01-30 04:54:03 +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
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
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
31d4f59bef bug #2477775 2008-12-31 01:46:42 +00:00
Vadim Kurland
dde6bf116d added test case per question asked on the mailing list 2008-12-31 00:06:10 +00:00
Vadim Kurland
a720640ffe bugs 1111267, 2463048 2008-12-28 07:12:12 +00:00
Vadim Kurland
d720f16c7e test case for bug 2462927 2008-12-24 00:30:42 +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
1037ff3b0a properly using IP6TABLES in NAT rules 2008-12-16 05:15:07 +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
Vadim Kurland
0572a9850f * ipt.cpp (dumpScript): fixed bug 2356131 "Iptables-restore option
broken for multiple policy sets". If firewall was configured to
use iptables-restore to activate policy and if it had two or more
policy rule sets, compiler used to put "echo COMMIT" line at the
bottom of each ruleset. This was incorrect, iptables-restore
expects only one COMMIT line at the end of each table.
2008-11-28 18:05:31 +00:00
Vadim Kurland
21b6cf5084 2008-11-20 vadim <vadim@vk.crocodile.org>
* PolicyCompiler_PrintRule.cpp (PrintRule::_printLogPrefix): fixed
bug #2318639: "bug in logging (rule number)". Added logging prefix
macro %R that gets expanded to the ruleset name. This can be
useful in logging prefixes for rules in branch rulesets.

;
2008-11-21 06:40:07 +00:00
Vadim Kurland
88a6dadf4b icmpv6 test rules 2008-10-29 02:28:37 +00:00
Vadim Kurland
ef3ba6527d * PolicyCompiler_ipt.cpp (isChainDescendantOfOutput): more for the
bug #2186568 "Again User service - group/negate". Support for
groups of user service with negation. Now have a framework to keep
track of chain "descendants", so that compiler can tell if some
chain can be traced back to INPUT or OUTPUT through the sequence
of chains calling each other.
2008-10-24 02:22:46 +00:00
Vadim Kurland
e130f68d2e * various dialogs: fixed bug #2187094: "fwbuilder does not use
system colors for text boxes".  Some dialogs would not properly
pick up KDE theme. This was especially visible if theme used dark
background colors and white font, in which case many input fields
in dialogs would use white text on white background.

* PolicyCompiler_ipt.cpp (separateUserServices::processNext):
fixed bug #2186568 "Again User service - group/negate".  Compiler
for iptables did not support groups and negation of the
UserService objects.
2008-10-23 04:51:36 +00:00
Vadim Kurland
e3dc662a00 test case for rule in mangle-only ruleset with action Accept and direction Outbound 2008-10-20 02:44:42 +00:00
Vadim Kurland
2095091b80 * PolicyCompiler_PrintRule.cpp (PrintRule::_printTimeInterval):
fixed bug #2180556: "broken support for the "old" time module for
iptables". Compiler generated incorrect parameters for the "time"
module for versions <1.4.0
2008-10-19 20:05:38 +00:00
Vadim Kurland
ef3931f4da * PolicyCompiler_ipt.cpp (singleDstNegation::processNext): fixed
bug (no #): policy compiler for iptables did not handle correctly
rules where a host that has multiple addresses was a single object
in a rule element and had negation.

* NATCompiler_ipt.cpp (singleObjectNegation::processNext): added
support for single object negation in OSrc and ODst in NAT rules.
This provides for more compact iptables script in the often used
case where single object is used with negation in these elements
of a NAT rule. Other improvements in handling NAT rules with
negation.
2008-10-18 18:45:02 +00:00
Vadim Kurland
1da8f11f24 * PolicyCompiler_ipt.cpp (PolicyCompiler_ipt::compile): fixed
bug (no #): policy compiler for iptables would crash with
assertion when AddressTable or DNSName object was used in a rule
in pure mangle table ruleset. This can be related to crash
reported in bug #2157121.
2008-10-14 05:34:42 +00:00
Vadim Kurland
c710c1003d attribute "mangle_table_only" for iptables policy rulesets 2008-10-12 04:03:22 +00:00
Vadim Kurland
0f992a8c4a bug 2148378 2008-10-12 00:57:05 +00:00
Vadim Kurland
42de6ff13e * PolicyCompiler_PrintRule.cpp (PrintRule::_printTarget): fixed
bug #2141911: "no ULOG for ip6tables". ULOG target has not been
implemented for ip6tables yet, so the compiler should fall back to
LOG target while compiling ipv6 policy.
2008-10-02 11:31:03 +00:00
Vadim Kurland
bbb28ace8e generate unique string id on denand, compiler speed-up x3 2008-09-21 09:39:45 +00:00
Vadim Kurland
5ec121152e test case for bug 195431 2008-09-13 17:11:24 +00:00
Vadim Kurland
bb14529ff6 bug with --datestop in fwb_ipt 2008-09-13 16:49:36 +00:00
Vadim Kurland
148de24d59 changelog, fix in main::usage() 2008-08-23 23:49:17 +00:00
Vadim Kurland
514d417251 bug with --dports = for iptables 1.4.0 2008-08-19 18:55:57 +00:00
Vadim Kurland
8a17010872 changelog record 2008-08-19 04:36:21 +00:00
Vadim Kurland
c9f77a00e8 test case for address table 2008-08-16 04:02:05 +00:00
Vadim Kurland
0d1c8ce533 bug 2051629 ] group with dns names are handled as empty 2008-08-16 03:15:39 +00:00
Vadim Kurland
04da684784 2051005 ] install to localhost fails with pam_thinkfinger 2008-08-15 05:49:30 +00:00
Vadim Kurland
db56d1a73c 2047082 ] Beta 3.0 Build 456: IPv4 & IPv6 mixed firewall 2008-08-14 02:07:36 +00:00
Vadim Kurland
4a7c7af704 test cases for OUTPUT in mangle 2008-08-12 17:35:42 +00:00
Vadim Kurland
4aa22fde58 fixed bug 2047992 ] segfault cloning policies in version 3 2008-08-12 16:03:26 +00:00
Vadim Kurland
e0034a2d64 patch for preserving default route 2008-08-12 04:20:50 +00:00
Vadim Kurland
10e82070ae crash in fwb_ipt when interface is in dst and chain is INPUT 2008-07-26 05:42:55 +00:00
Vadim Kurland
46d9e07645 controls to turn ipv6 forwarding on/off for linux,openbsd and freebsd 2008-07-18 22:56:50 +00:00
Vadim Kurland
2a9dfe7664 added test case for missing COMMIT after *mangle 2008-07-18 19:40:34 +00:00
Vadim Kurland
80b389eaf6 fixed bug in fwb_ipt for activation with iptables-restore 2008-07-16 20:13:05 +00:00
Vadim Kurland
737069ccf1 fixes in installer dialog 2008-07-06 18:50:00 +00:00
Vadim Kurland
7304483a30 support for TOS and DSCP matching in iptables 2008-07-06 00:58:56 +00:00