Blame SOURCES/firewalld-0.7-0001-nftables-move-OUR_CHAINS-inside-the-class.patch

21c891
From f20ba9f1493a31ca31ee071007533b4e35cb57a2 Mon Sep 17 00:00:00 2001
21c891
From: Eric Garver <eric@garver.life>
21c891
Date: Thu, 10 Jan 2019 13:29:12 -0500
21c891
Subject: [PATCH 1/3] nftables: move OUR_CHAINS inside the class
21c891
21c891
No reason for it to be at the file level. Lets move it inside the class.
21c891
21c891
(cherry picked from commit 37606c1eca2b247e648c658ea29af5b5194447e9)
21c891
---
21c891
 src/firewall/core/nftables.py | 47 +++++++++++++++++------------------
21c891
 1 file changed, 23 insertions(+), 24 deletions(-)
21c891
21c891
diff --git a/src/firewall/core/nftables.py b/src/firewall/core/nftables.py
21c891
index 1d0ce24d68a2..1eb9c3fb94c2 100644
21c891
--- a/src/firewall/core/nftables.py
21c891
+++ b/src/firewall/core/nftables.py
21c891
@@ -76,13 +76,6 @@ IPTABLES_TO_NFT_HOOK = {
21c891
     },
21c891
 }
21c891
 
21c891
-OUR_CHAINS = { # chains created by firewalld
21c891
-    # family: { chains ...}
21c891
-    "inet": {},
21c891
-    "ip": {},
21c891
-    "ip6": {},
21c891
-}
21c891
-
21c891
 # Most ICMP types are provided by nft, but for the codes we have to use numeric
21c891
 # values.
21c891
 #
21c891
@@ -163,6 +156,12 @@ class nftables(object):
21c891
         self.rule_to_handle = {}
21c891
         self.rule_ref_count = {}
21c891
         self.rich_rule_priority_counts = {}
21c891
+        self.our_chains = { # chains created by firewalld
21c891
+            # family: { chains ...}
21c891
+            "inet": {},
21c891
+            "ip": {},
21c891
+            "ip6": {},
21c891
+        }
21c891
 
21c891
     def fill_exists(self):
21c891
         self.command_exists = os.path.exists(self._command)
21c891
@@ -359,7 +358,7 @@ class nftables(object):
21c891
         self.rich_rule_priority_counts = {}
21c891
 
21c891
         rules = []
21c891
-        for family in OUR_CHAINS.keys():
21c891
+        for family in self.our_chains.keys():
21c891
             rules.append(["delete", "table", family, "%s" % TABLE_NAME])
21c891
         return rules
21c891
 
21c891
@@ -399,13 +398,13 @@ class nftables(object):
21c891
 
21c891
     def build_default_tables(self):
21c891
         default_tables = []
21c891
-        for family in OUR_CHAINS.keys():
21c891
+        for family in self.our_chains.keys():
21c891
             default_tables.append("add table %s %s" % (family, TABLE_NAME))
21c891
         return map(splitArgs, default_tables)
21c891
 
21c891
     def build_default_rules(self, log_denied="off"):
21c891
         default_rules = []
21c891
-        OUR_CHAINS["inet"]["raw"] = set()
21c891
+        self.our_chains["inet"]["raw"] = set()
21c891
         for chain in IPTABLES_TO_NFT_HOOK["raw"].keys():
21c891
             default_rules.append("add chain inet %s raw_%s '{ type filter hook %s priority %d ; }'" %
21c891
                                  (TABLE_NAME, chain,
21c891
@@ -417,9 +416,9 @@ class nftables(object):
21c891
             default_rules.append("add chain inet %s raw_%s_ZONES" % (TABLE_NAME, chain))
21c891
             default_rules.append("add rule inet %s raw_%s jump raw_%s_ZONES_SOURCE" % (TABLE_NAME, chain, chain))
21c891
             default_rules.append("add rule inet %s raw_%s jump raw_%s_ZONES" % (TABLE_NAME, chain, chain))
21c891
-            OUR_CHAINS["inet"]["raw"].update(set(["%s_ZONES_SOURCE" % chain, "%s_ZONES" % chain]))
21c891
+            self.our_chains["inet"]["raw"].update(set(["%s_ZONES_SOURCE" % chain, "%s_ZONES" % chain]))
21c891
 
21c891
-        OUR_CHAINS["inet"]["mangle"] = set()
21c891
+        self.our_chains["inet"]["mangle"] = set()
21c891
         for chain in IPTABLES_TO_NFT_HOOK["mangle"].keys():
21c891
             default_rules.append("add chain inet %s mangle_%s '{ type filter hook %s priority %d ; }'" %
21c891
                                  (TABLE_NAME, chain,
21c891
@@ -430,10 +429,10 @@ class nftables(object):
21c891
             default_rules.append("add chain inet %s mangle_%s_ZONES" % (TABLE_NAME, chain))
21c891
             default_rules.append("add rule inet %s mangle_%s jump mangle_%s_ZONES_SOURCE" % (TABLE_NAME, chain, chain))
21c891
             default_rules.append("add rule inet %s mangle_%s jump mangle_%s_ZONES" % (TABLE_NAME, chain, chain))
21c891
-            OUR_CHAINS["inet"]["mangle"].update(set(["%s_ZONES_SOURCE" % chain, "%s_ZONES" % chain]))
21c891
+            self.our_chains["inet"]["mangle"].update(set(["%s_ZONES_SOURCE" % chain, "%s_ZONES" % chain]))
21c891
 
21c891
-        OUR_CHAINS["ip"]["nat"] = set()
21c891
-        OUR_CHAINS["ip6"]["nat"] = set()
21c891
+        self.our_chains["ip"]["nat"] = set()
21c891
+        self.our_chains["ip6"]["nat"] = set()
21c891
         for family in ["ip", "ip6"]:
21c891
             for chain in IPTABLES_TO_NFT_HOOK["nat"].keys():
21c891
                 default_rules.append("add chain %s %s nat_%s '{ type nat hook %s priority %d ; }'" %
21c891
@@ -445,9 +444,9 @@ class nftables(object):
21c891
                 default_rules.append("add chain %s %s nat_%s_ZONES" % (family, TABLE_NAME, chain))
21c891
                 default_rules.append("add rule %s %s nat_%s jump nat_%s_ZONES_SOURCE" % (family, TABLE_NAME, chain, chain))
21c891
                 default_rules.append("add rule %s %s nat_%s jump nat_%s_ZONES" % (family, TABLE_NAME, chain, chain))
21c891
-                OUR_CHAINS[family]["nat"].update(set(["%s_ZONES_SOURCE" % chain, "%s_ZONES" % chain]))
21c891
+                self.our_chains[family]["nat"].update(set(["%s_ZONES_SOURCE" % chain, "%s_ZONES" % chain]))
21c891
 
21c891
-        OUR_CHAINS["inet"]["filter"] = set()
21c891
+        self.our_chains["inet"]["filter"] = set()
21c891
         for chain in IPTABLES_TO_NFT_HOOK["filter"].keys():
21c891
             default_rules.append("add chain inet %s filter_%s '{ type filter hook %s priority %d ; }'" %
21c891
                                  (TABLE_NAME, chain,
21c891
@@ -486,12 +485,12 @@ class nftables(object):
21c891
             default_rules.append("add rule inet %s filter_%s %%%%LOGTYPE%%%% log prefix '\"FINAL_REJECT: \"'" % (TABLE_NAME, "FORWARD"))
21c891
         default_rules.append("add rule inet %s filter_%s reject with icmpx type admin-prohibited" % (TABLE_NAME, "FORWARD"))
21c891
 
21c891
-        OUR_CHAINS["inet"]["filter"] = set(["INPUT_ZONES_SOURCE",
21c891
-                                            "INPUT_ZONES",
21c891
-                                            "FORWARD_IN_ZONES_SOURCE",
21c891
-                                            "FORWARD_IN_ZONES",
21c891
-                                            "FORWARD_OUT_ZONES_SOURCE",
21c891
-                                            "FORWARD_OUT_ZONES"])
21c891
+        self.our_chains["inet"]["filter"] = set(["INPUT_ZONES_SOURCE",
21c891
+                                                 "INPUT_ZONES",
21c891
+                                                 "FORWARD_IN_ZONES_SOURCE",
21c891
+                                                 "FORWARD_IN_ZONES",
21c891
+                                                 "FORWARD_OUT_ZONES_SOURCE",
21c891
+                                                 "FORWARD_OUT_ZONES"])
21c891
 
21c891
         return map(splitArgs, default_rules)
21c891
 
21c891
@@ -610,7 +609,7 @@ class nftables(object):
21c891
 
21c891
         _zone = DEFAULT_ZONE_TARGET.format(chain=SHORTCUTS[chain], zone=zone)
21c891
 
21c891
-        OUR_CHAINS[family][table].update(set([_zone,
21c891
+        self.our_chains[family][table].update(set([_zone,
21c891
                                          "%s_log" % _zone,
21c891
                                          "%s_deny" % _zone,
21c891
                                          "%s_pre" % _zone,
21c891
-- 
21c891
2.18.0
21c891