Blame SOURCES/firewalld-0.4.4.5-ipv6_icmptype_only_rich_rule_fix_rhbz#1459921.patch

843f86
From cf50bd0004418abe1294f53b58387a181dfd2b51 Mon Sep 17 00:00:00 2001
843f86
From: Thomas Woerner <twoerner@redhat.com>
843f86
Date: Thu, 8 Jun 2017 17:44:32 +0200
843f86
Subject: [PATCH] firewall.core.fw_zone: Rich-rule ICMP type: Error only for
843f86
 conflicting family
843f86
843f86
Only raise error for an ICMP block in a rich-rule if a family has been
843f86
specified and conflicts with the ICMP destination.
843f86
843f86
Fixes: RHBZ#1459921
843f86
---
843f86
 src/firewall/core/fw_zone.py | 3 +++
843f86
 1 file changed, 3 insertions(+)
843f86
843f86
diff --git a/src/firewall/core/fw_zone.py b/src/firewall/core/fw_zone.py
843f86
index 4f3f18c0..f47222e4 100644
843f86
--- a/src/firewall/core/fw_zone.py
843f86
+++ b/src/firewall/core/fw_zone.py
843f86
@@ -1425,6 +1425,9 @@ def __rule_prepare(self, enable, zone, rule, mark_id, zone_transaction):
843f86
                     raise FirewallError(errors.INVALID_RULE,
843f86
                                         "IcmpBlock not usable with accept action")
843f86
                 if ict.destination and ipv not in ict.destination:
843f86
+                    if rule.family is None:
843f86
+                        # Add for IPv4 or IPv6 depending on ict.destination
843f86
+                        continue
843f86
                     raise FirewallError(
843f86
                         errors.INVALID_RULE,
843f86
                         "Icmp%s %s not usable with %s" % \