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

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