Blame SOURCES/0020-fix-direct-removeRules-was-mistakenly-removing-all-r.patch

8a3219
From b91b7cbeeb62cb2ba316918acd0e60a53ed676aa Mon Sep 17 00:00:00 2001
8a3219
From: Eric Garver <eric@garver.life>
8a3219
Date: Fri, 26 Jul 2019 13:32:44 -0400
8a3219
Subject: [PATCH 20/26] fix: direct: removeRules() was mistakenly removing all
8a3219
 rules
8a3219
8a3219
Only remove the rules that match the specified criteria (ipv, table,
8a3219
chain).
8a3219
8a3219
Fixes: #385
8a3219
Fixes: rhbz 1723610
8a3219
(cherry picked from commit 174005b15059db054b2f8dcf3b35c23fcbaf44ec)
8a3219
---
8a3219
 src/firewall/server/config.py | 4 +++-
8a3219
 1 file changed, 3 insertions(+), 1 deletion(-)
8a3219
8a3219
diff --git a/src/firewall/server/config.py b/src/firewall/server/config.py
8a3219
index e03c4984e058..b1b839da82ea 100644
8a3219
--- a/src/firewall/server/config.py
8a3219
+++ b/src/firewall/server/config.py
8a3219
@@ -1422,7 +1422,9 @@ class FirewallDConfig(slip.dbus.service.Object):
8a3219
                    (ipv, table, chain, ))
8a3219
         self.accessCheck(sender)
8a3219
         settings = list(self.getSettings())
8a3219
-        settings[1] = []
8a3219
+        for rule in settings[1]:
8a3219
+            if (ipv, table, chain) == (rule[0], rule[1], rule[2]):
8a3219
+                settings[1].remove(rule)
8a3219
         self.update(tuple(settings))
8a3219
 
8a3219
     @dbus_service_method(config.dbus.DBUS_INTERFACE_CONFIG_DIRECT,
8a3219
-- 
8a3219
2.20.1
8a3219