bug 2051629 ] group with dns names are handled as empty

This commit is contained in:
Vadim Kurland
2008-08-16 03:15:39 +00:00
parent 04da684784
commit 0d1c8ce533
3 changed files with 111 additions and 12 deletions
+11
View File
@@ -1,3 +1,14 @@
2008-08-15 Vadim Kurland <vadim@vk.crocodile.org>
* Preprocessor.cpp (Preprocessor::isUsedByThisFirewall): fixed bug
#2051629: "group with dns names are handled as empty". This bug
triggered when object group that consisted of DNSName objects set
to resolve at compile time was used in policy rule and at the same
none of these DNSName objects were used in rules. If an object
from the group was itself used in a rule, compiler properly
converted it to address. But object was never used in rules by
itself, it was not converted.
2008-08-14 Vadim Kurland <vadim@vk.crocodile.org> 2008-08-14 Vadim Kurland <vadim@vk.crocodile.org>
* SSHUnx.cpp (SSHUnx::SSHUnx): fixed bug #2051005: "install to * SSHUnx.cpp (SSHUnx::SSHUnx): fixed bug #2051005: "install to
+1
View File
@@ -599,6 +599,7 @@ _("Dynamic interface %s should not have an IP address object attached to it. Thi
Preprocessor* prep = new Preprocessor( Preprocessor* prep = new Preprocessor(
objdb , fwobjectname, ipv6_policy); objdb , fwobjectname, ipv6_policy);
if (test_mode) prep->setTestMode();
prep->compile(); prep->compile();
+99 -12
View File
@@ -1,6 +1,6 @@
<?xml version="1.0" encoding="utf-8"?> <?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE FWObjectDatabase SYSTEM "fwbuilder.dtd"> <!DOCTYPE FWObjectDatabase SYSTEM "fwbuilder.dtd">
<FWObjectDatabase xmlns="http://www.fwbuilder.org/1.0/" version="10" lastModified="1218778321" id="root"> <FWObjectDatabase xmlns="http://www.fwbuilder.org/1.0/" version="10" lastModified="1218856340" id="root">
<Library id="sysid99" name="Deleted Objects" ro="False"> <Library id="sysid99" name="Deleted Objects" ro="False">
<ICMP6Service id="idE0C27650" name="ipv6 dest unreachable" comment="No route to destination" code="0" type="1"/> <ICMP6Service id="idE0C27650" name="ipv6 dest unreachable" comment="No route to destination" code="0" type="1"/>
<IPv4 id="id41D295E2" name="firewall30:ppp.200*:ip" address="192.168.1.1" netmask="255.255.255.0"/> <IPv4 id="id41D295E2" name="firewall30:ppp.200*:ip" address="192.168.1.1" netmask="255.255.255.0"/>
@@ -596,7 +596,10 @@
<IPv4 id="id30492X26784" name="firewall20-ipv6:ppp*:ip" address="192.168.1.1" netmask="255.255.255.0"/> <IPv4 id="id30492X26784" name="firewall20-ipv6:ppp*:ip" address="192.168.1.1" netmask="255.255.255.0"/>
<ObjectRef ref="id43869E8D18346"/> <ObjectRef ref="id43869E8D18346"/>
<ObjectRef ref="id4387287A18346"/> <ObjectRef ref="id4387287A18346"/>
<ObjectRef ref="sysid0"/> <ObjectRef ref="id43869E8C18346"/>
<ObjectRef ref="id4387287918346"/>
<ObjectRef ref="id43869E8D18346"/>
<ObjectRef ref="id4387287A18346"/>
</Library> </Library>
<Library id="syslib001" name="User" comment="User defined objects" color="#d2ffd0"> <Library id="syslib001" name="User" comment="User defined objects" color="#d2ffd0">
<ObjectGroup id="stdid01_1" name="Objects"> <ObjectGroup id="stdid01_1" name="Objects">
@@ -615,6 +618,10 @@
<DNSName id="id4387287918346" name="google (ct)" dnsrec="www.google.com" dnsrectype="A" run_time="False"/> <DNSName id="id4387287918346" name="google (ct)" dnsrec="www.google.com" dnsrectype="A" run_time="False"/>
<DNSName id="id4387287A18346" name="google (rt)" dnsrec="www.google.com" dnsrectype="A" run_time="True"/> <DNSName id="id4387287A18346" name="google (rt)" dnsrec="www.google.com" dnsrectype="A" run_time="True"/>
<DNSName id="id44EC181D8791" name="heise" dnsrec="www.heise.de" dnsrectype="A" run_time="True"/> <DNSName id="id44EC181D8791" name="heise" dnsrec="www.heise.de" dnsrectype="A" run_time="True"/>
<DNSName id="id30878X4903" name="6bone.net (ct)" comment="there are both A and AAAA records for this name&#10;" dnsrec="6bone.net" dnsrectype="A" run_time="False"/>
<DNSName id="id44749X4903" name="6bone.net (rt)" comment="there are both A and AAAA records for this name&#10;" dnsrec="6bone.net" dnsrectype="A" run_time="True"/>
<DNSName id="id44910X6795" name="ny6ix.net (ct)" dnsrec="ny6ix.net" run_time="False"/>
<DNSName id="id44911X6795" name="ny6ix.net (rt)" dnsrec="ny6ix.net" run_time="True"/>
</ObjectGroup> </ObjectGroup>
<ObjectGroup id="stdid16_1" name="Addresses"> <ObjectGroup id="stdid16_1" name="Addresses">
<IPv4 id="id417B3641" name="net_address" address="192.168.1.0" netmask="255.255.255.255"/> <IPv4 id="id417B3641" name="net_address" address="192.168.1.0" netmask="255.255.255.255"/>
@@ -704,9 +711,9 @@
<ObjectRef ref="id3AFB6706"/> <ObjectRef ref="id3AFB6706"/>
<ObjectRef ref="id3AFB68D2"/> <ObjectRef ref="id3AFB68D2"/>
</ObjectGroup> </ObjectGroup>
<ObjectGroup id="id47CBF5D129252" name="DNS objects" comment="a group of run-time dns objects"> <ObjectGroup id="id47CBF5D129252" name="DNS objects" comment="a group of run-time dns objects&#10;that have both A and AAAA records">
<ObjectRef ref="id43869E8D18346"/> <ObjectRef ref="id44749X4903"/>
<ObjectRef ref="id4387287A18346"/> <ObjectRef ref="id44911X6795"/>
</ObjectGroup> </ObjectGroup>
<ObjectGroup id="id4834A2238571" name="ipv6 addresses"> <ObjectGroup id="id4834A2238571" name="ipv6 addresses">
<ObjectRef ref="id48416A7016880"/> <ObjectRef ref="id48416A7016880"/>
@@ -719,9 +726,9 @@
<ObjectRef ref="id48416A7216880"/> <ObjectRef ref="id48416A7216880"/>
<ObjectRef ref="id48416A7116880"/> <ObjectRef ref="id48416A7116880"/>
</ObjectGroup> </ObjectGroup>
<ObjectGroup id="id30841X361" name="DNS objects compile time" comment="a group of run-time dns objects"> <ObjectGroup id="id30841X361" name="DNS objects compile time" comment="a group of run-time dns objects&#10;that have both A and AAAA records">
<ObjectRef ref="id43869E8C18346"/> <ObjectRef ref="id30878X4903"/>
<ObjectRef ref="id4387287918346"/> <ObjectRef ref="id44910X6795"/>
</ObjectGroup> </ObjectGroup>
</ObjectGroup> </ObjectGroup>
<ObjectGroup id="stdid02_1" name="Hosts"> <ObjectGroup id="stdid02_1" name="Hosts">
@@ -17532,7 +17539,7 @@ echo '%FWBPROMPT%'; sh /tmp/%FWSCRIPT%
<Option name="verify_interfaces">False</Option> <Option name="verify_interfaces">False</Option>
</FirewallOptions> </FirewallOptions>
</Firewall> </Firewall>
<Firewall id="id43867C1018346" name="firewall33" comment="testing DNSName object" host_OS="linux24" lastCompiled="1215360262" lastInstalled="1142003872" lastModified="1218778321" platform="iptables" ro="False" version=""> <Firewall id="id43867C1018346" name="firewall33" comment="testing DNSName object" host_OS="linux24" inactive="False" lastCompiled="1215360262" lastInstalled="1142003872" lastModified="1218856268" platform="iptables" ro="False" version="">
<NAT id="id43867C4818346" name="NAT" ipv6_rule_set="False" top_rule_set="True"> <NAT id="id43867C4818346" name="NAT" ipv6_rule_set="False" top_rule_set="True">
<NATRule id="id43867C4918346" disabled="False" position="0"> <NATRule id="id43867C4918346" disabled="False" position="0">
<OSrc neg="False"> <OSrc neg="False">
@@ -25487,9 +25494,9 @@ echo '%FWBPROMPT%'; sh /tmp/%FWSCRIPT%
<Option name="verify_interfaces">False</Option> <Option name="verify_interfaces">False</Option>
</FirewallOptions> </FirewallOptions>
</Firewall> </Firewall>
<Firewall id="id4833F62B6131" name="firewall-ipv6-1" host_OS="linux24" inactive="False" lastCompiled="1216420816" lastInstalled="0" lastModified="1218514743" platform="iptables" ro="False" version=""> <Firewall id="id4833F62B6131" name="firewall-ipv6-1" host_OS="linux24" inactive="False" lastCompiled="1216420816" lastInstalled="0" lastModified="1218856340" platform="iptables" ro="False" version="">
<NAT id="id4833F62F6131" name="NAT" ipv6_rule_set="False" top_rule_set="True"/> <NAT id="id4833F62F6131" name="NAT" ipv6_rule_set="False" top_rule_set="True"/>
<Policy id="id483F5B7623190" name="Policy_ipv6" ipv6_rule_set="True" top_rule_set="False"> <Policy id="id483F5B7623190" name="Policy_ipv6" ipv6_rule_set="True" top_rule_set="True">
<PolicyRule id="id30141X31704" comment="for bug 2047082&#10;&#10;" action="Accept" direction="Outbound" disabled="False" log="False" position="0"> <PolicyRule id="id30141X31704" comment="for bug 2047082&#10;&#10;" action="Accept" direction="Outbound" disabled="False" log="False" position="0">
<Src neg="False"> <Src neg="False">
<ObjectRef ref="id4833F62B6131"/> <ObjectRef ref="id4833F62B6131"/>
@@ -25510,7 +25517,47 @@ echo '%FWBPROMPT%'; sh /tmp/%FWSCRIPT%
<Option name="stateless">False</Option> <Option name="stateless">False</Option>
</PolicyRuleOptions> </PolicyRuleOptions>
</PolicyRule> </PolicyRule>
<PolicyRule id="id43597X31704" action="Accept" direction="Outbound" disabled="False" log="False" position="1"> <PolicyRule id="id72496X4903" action="Accept" direction="Both" disabled="False" group="" log="False" position="1">
<Src neg="False">
<ObjectRef ref="sysid0"/>
</Src>
<Dst neg="False">
<ObjectRef ref="id47CBF5D129252"/>
</Dst>
<Srv neg="False">
<ServiceRef ref="sysid1"/>
</Srv>
<Itf neg="False">
<ObjectRef ref="sysid0"/>
</Itf>
<When neg="False">
<IntervalRef ref="sysid2"/>
</When>
<PolicyRuleOptions>
<Option name="stateless">False</Option>
</PolicyRuleOptions>
</PolicyRule>
<PolicyRule id="id72509X4903" action="Deny" direction="Both" disabled="False" group="" log="True" position="2">
<Src neg="False">
<ObjectRef ref="sysid0"/>
</Src>
<Dst neg="False">
<ObjectRef ref="id30841X361"/>
</Dst>
<Srv neg="False">
<ServiceRef ref="sysid1"/>
</Srv>
<Itf neg="False">
<ObjectRef ref="sysid0"/>
</Itf>
<When neg="False">
<IntervalRef ref="sysid2"/>
</When>
<PolicyRuleOptions>
<Option name="stateless">True</Option>
</PolicyRuleOptions>
</PolicyRule>
<PolicyRule id="id43597X31704" action="Accept" direction="Outbound" disabled="False" log="False" position="3">
<Src neg="False"> <Src neg="False">
<ObjectRef ref="id4833F6316131"/> <ObjectRef ref="id4833F6316131"/>
</Src> </Src>
@@ -25893,6 +25940,46 @@ echo '%FWBPROMPT%'; sh /tmp/%FWSCRIPT%
<Option name="stateless">False</Option> <Option name="stateless">False</Option>
</PolicyRuleOptions> </PolicyRuleOptions>
</PolicyRule> </PolicyRule>
<PolicyRule id="id86421X4903" action="Accept" direction="Both" disabled="False" group="" log="False" position="18">
<Src neg="False">
<ObjectRef ref="sysid0"/>
</Src>
<Dst neg="False">
<ObjectRef ref="id47CBF5D129252"/>
</Dst>
<Srv neg="False">
<ServiceRef ref="sysid1"/>
</Srv>
<Itf neg="False">
<ObjectRef ref="sysid0"/>
</Itf>
<When neg="False">
<IntervalRef ref="sysid2"/>
</When>
<PolicyRuleOptions>
<Option name="stateless">False</Option>
</PolicyRuleOptions>
</PolicyRule>
<PolicyRule id="id86438X4903" action="Deny" direction="Both" disabled="False" group="" log="True" position="19">
<Src neg="False">
<ObjectRef ref="sysid0"/>
</Src>
<Dst neg="False">
<ObjectRef ref="id30841X361"/>
</Dst>
<Srv neg="False">
<ServiceRef ref="sysid1"/>
</Srv>
<Itf neg="False">
<ObjectRef ref="sysid0"/>
</Itf>
<When neg="False">
<IntervalRef ref="sysid2"/>
</When>
<PolicyRuleOptions>
<Option name="stateless">True</Option>
</PolicyRuleOptions>
</PolicyRule>
</Policy> </Policy>
<Routing id="id4833F6306131" name="Routing" ipv6_rule_set="False" top_rule_set="True"/> <Routing id="id4833F6306131" name="Routing" ipv6_rule_set="False" top_rule_set="True"/>
<Interface id="id4833F6316131" name="eth0" bridgeport="False" dyn="False" label="" security_level="50" unnum="False" unprotected="False"> <Interface id="id4833F6316131" name="eth0" bridgeport="False" dyn="False" label="" security_level="50" unnum="False" unprotected="False">