Blame SOURCES/0030-python-semanage-Add-support-for-DCCP-and-SCTP-protoc.patch

c33c08
From 7cbfcec89a6972f9c700687ed3cef25ff0846461 Mon Sep 17 00:00:00 2001
c33c08
From: Vit Mojzis <vmojzis@redhat.com>
c33c08
Date: Tue, 8 Oct 2019 14:22:13 +0200
c33c08
Subject: [PATCH] python/semanage: Add support for DCCP and SCTP protocols
c33c08
c33c08
Fixes:
c33c08
   # semanage port -a -p sctp -t port_t 1234
c33c08
   ValueError: Protocol udp or tcp is required
c33c08
   # semanage port -d -p sctp -t port_t 1234
c33c08
   ValueError: Protocol udp or tcp is required
c33c08
c33c08
Signed-off-by: Vit Mojzis <vmojzis@redhat.com>
c33c08
---
c33c08
 python/semanage/seobject.py | 14 ++++++++------
c33c08
 1 file changed, 8 insertions(+), 6 deletions(-)
c33c08
c33c08
diff --git a/python/semanage/seobject.py b/python/semanage/seobject.py
c33c08
index 16edacaa..70ebfd08 100644
c33c08
--- a/python/semanage/seobject.py
c33c08
+++ b/python/semanage/seobject.py
c33c08
@@ -1058,13 +1058,15 @@ class portRecords(semanageRecords):
c33c08
             pass
c33c08
 
c33c08
     def __genkey(self, port, proto):
c33c08
-        if proto == "tcp":
c33c08
-            proto_d = SEMANAGE_PROTO_TCP
c33c08
+        protocols = {"tcp": SEMANAGE_PROTO_TCP,
c33c08
+                     "udp": SEMANAGE_PROTO_UDP,
c33c08
+                     "sctp": SEMANAGE_PROTO_SCTP,
c33c08
+                     "dccp": SEMANAGE_PROTO_DCCP}
c33c08
+
c33c08
+        if proto in protocols.keys():
c33c08
+            proto_d = protocols[proto]
c33c08
         else:
c33c08
-            if proto == "udp":
c33c08
-                proto_d = SEMANAGE_PROTO_UDP
c33c08
-            else:
c33c08
-                raise ValueError(_("Protocol udp or tcp is required"))
c33c08
+            raise ValueError(_("Protocol has to be one of udp, tcp, dccp or sctp"))
c33c08
         if port == "":
c33c08
             raise ValueError(_("Port is required"))
c33c08
 
c33c08
-- 
c33c08
2.21.0
c33c08