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

36 Commits

Author SHA1 Message Date
Vadim Kurland
7ebdc6c238 see #2207, #2209, fixes #2213 all objects created by compilers are placed in persistent_objects library; CompilerDriver creates and manages persistent_objects lib; changes in libfwbuilder - an object can be a child of only one parent in the tree, method FWObject::add() enforces this and FWObject::findDuplicateLinks() can be used to find objects with multiple parents 2011-03-11 10:11:42 -08:00
Vadim Kurland
6f5f1ac075 fixes #153 Deprecate Rule::getInterfaceStr() fixes #2123 deprecate rule processor convertInterfaceIdToStr 2011-02-20 17:27:24 -08:00
Vadim Kurland
a8b65e6506 getting rid of sprintf where I can 2011-02-18 22:09:50 -08:00
Vadim Kurland
66681b9695 see #153 #133 got rid of getInterfaceStr and getInterfaceId in policy and nat compilers for PF 2011-02-18 18:54:21 -08:00
Vadim Kurland
5162212073 see #2097 #133 : no need to replace cluster interfaces with member interfaces in NATCompiler_pf::AssignInterface::processNext() since it was already done in replaceClusterInterfaceInItfOutb 2011-02-17 15:36:28 -08:00
Vadim Kurland
fdb899bdd2 * NATCompiler_ipf.cpp (processNext): see #133, fixes #2108 making
nat compiler for ipfilter work with interface column, however the
column is not exposed to the user. Compiler behavior should be
backwards compatible with older versions of fwbuilder.
2011-02-17 12:06:50 -08:00
Vadim Kurland
100dca74bb * NATCompiler_pf.cpp (processNext): see #133. MErged code from the
branch, running tests. Making sure rules that have firewall
object in ODst and interface columnblank end up with rdr command
without "on interface" clause as before.
2011-02-17 11:50:14 -08:00
Vadim Kurland
c042430cb2 merged from branch development; see #2095 "Support for interface groups in "nat" and "rdr" rules", see #2096 "support for negation in "Interface" column of PF NAT rules" 2011-02-16 19:55:07 -08:00
Vadim Kurland
6135cf8acb see #133 added support for inbound and outbound interfaces in nat rules (DTD, libfwbuilder API); added support for an interface column in PF NAT rules (using outbound interface rule element): changes in GUI and compiler 2011-02-15 18:56:05 -08:00
Vadim Kurland
383d9e41d9 see #2069 PF: allow multiple objects in ODst of redirecting nat rule 2011-02-10 11:25:52 -08:00
Vadim Kurland
24ac2b56ac fixed #1905, #1879 2011-01-10 16:43:43 -08:00
Vadim Kurland
433b8332a7 * NATCompiler_pf.cpp (VerifyRules::processNext): see #1401. Because
of the change in the nat and rdr rules syntax in 4.7, I can no
longer implement no-nat rules correctly for this version. They
dropped the "no" keyword and their examples suggest using "pass"
to implement exclusions for the nat rules. I need no-nat rule to
just not translate but not make a decision whether the packet
should be passed or dropped. In the new PF model, translation
rules are just options on the matching policy rules and they do
not offer any keyword or option to not translate.
2010-04-23 04:38:51 +00:00
Vadim Kurland
fdb388659d * NATCompiler_pf_writers.cpp (PrintRule::processNext): fixes #1401
nat rules syntax has changed in OpenBSD 4.7. Nat and rdr rules in
4.7 should be implemented using action "match" and keywords
"nat-to" and "rdr-to"

* PolicyCompiler_pf_writers.cpp (PrintRule::_printAction):
fixes #1414: use "match" action for tagging. Policy rules
with action Tag should use pf action "match" instead of "pass"
if version is 4.6 or later.
2010-04-23 04:10:59 +00:00
Vadim Kurland
33a1980b4d * NATCompiler_pf.cpp (ReplaceFirewallObjectsODst::processNext):
fixes #1397   PF compiler fix: destination nat rule with fw object
in ODst should skip "on intf"
2010-04-09 20:11:16 +00:00
Vadim Kurland
a63382fe48 * NATCompiler_pf.cpp (NATCompiler_pf::assignInterfaceToNATRule):
fixes #1240 nat rule should get "on interface" when cluster
interface is used in TSrc.
2010-02-17 02:43:23 +00:00
Vadim Kurland
0ee88506b5 * ../src/iptlib/NATCompiler_ipt.cpp (VerifyRules2::processNext):
fixes #1109: "rules that do not pass verifyRules() checks may
cause compiler crash in test mode or gui crash in single rule
compile mode"
2010-01-20 02:55:38 +00:00
Vadim Kurland
2e27954947 * PolicyCompiler_ipt.cpp (PolicyCompiler_ipt::compile): Using rule
processor Compiler::checkForObjectsWithErrors to find objects with
errors and generate proper calls to abort(). This exposes errors
that happened when Preprocessor failed to resolve compile-time
AddressTable and DNSName objects. If compiler runs in test mode,
preprocessor did not abort but used dummy substitution addresses
and continued. Call to checkForObjectsWithErrors generates proper
error messages tied to rules. Using this rule processor in all
compilers. Fixes #1087
2010-01-16 00:26:01 +00:00
Vadim Kurland
883c5c2926 fixes #1071 can't use dynamic cluster interface in NAT rules for PF 2010-01-10 19:36:41 +00:00
Vadim Kurland
2e6c6d9de6 merge from v3 r1685:1687 2009-11-06 18:09:27 +00:00
Vadim Kurland
7971502d72 * NATCompiler_pf.cpp (NATCompiler_pf::compile): fixed bug
#2889579: "fwb_pf crash when unnumbered interface is used in nat
        rule". Compiler for PF crashed when unnumbered interface was used
        in TSrc element of a NAT rule.
2009-11-06 14:09:34 +00:00
Vadim Kurland
19183a0aa1 fixes #549 fixed crash of policy compilers fwb_ipt and fwb_pf and the GUI in single rule compile mode on branching rules with no target ruleset 2009-10-27 18:57:34 +00:00
Vadim Kurland
a47cd5c817 Support for branching NAT rules for PF. Refs #84 2009-10-21 00:14:22 +00:00
Vadim Kurland
e837cdea65 fixes #437 - got rid of "_()" everywhere (finally) 2009-09-25 22:50:14 +00:00
Vadim Kurland
23ee2d9531 merge from v3_1_merge 2009-09-23 17:00:48 +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
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
990be44f07 support for attr top_rule_set in Policy, NAT and Routing 2008-07-07 18:29:33 +00:00
Vadim Kurland
cf2622da34 turn on svn Id tags 2008-07-05 17:40:12 +00:00
Vadim Kurland
b0fc8dfa5f integer IDs and member-vars ports in TCP/UDP services in compiler for PD 2008-06-09 21:58:48 +00:00
Vadim Kurland
0457709b97 support for multiple rule sets in PF 2008-05-30 22:00:45 +00:00
Vadim Kurland
5ef33f87e4 compiler for pf works with getAddressPtr() 2008-05-19 04:25:42 +00:00
Vadim Kurland
568c0ca1b6 getting rid of getAddress() and getNetmask methods, using getAddressPtr() and getNetmaskPtr(). Tested and debugged GUI and compiler for iptables 2008-05-19 02:58:20 +00:00
Vadim Kurland
f5cebe98e2 merge -r62:HEAD from branch inet-addr-changes 2008-04-26 19:13:45 +00:00
Vadim Kurland
1cafbf3e39 merging -r62:HEAD from branch inet-addr-changes 2008-04-14 04:14:51 +00:00
Vadim Kurland
58355d5aab ********************************
Merge branch inet-addr-changes r61
********************************
2008-04-13 07:06:30 +00:00
Vadim Kurland
fcfedad398 Initial import into v3 branch 2007-12-25 22:25:59 +00:00