Fixes: # semanage port -a -p sctp -t port_t 1234 ValueError: Protocol udp or tcp is required # semanage port -d -p sctp -t port_t 1234 ValueError: Protocol udp or tcp is required Signed-off-by: Vit Mojzis <vmojzis@xxxxxxxxxx> --- python/semanage/seobject.py | 14 ++++++++------ 1 file changed, 8 insertions(+), 6 deletions(-) diff --git a/python/semanage/seobject.py b/python/semanage/seobject.py index f4c29854..dc413ca5 100644 --- a/python/semanage/seobject.py +++ b/python/semanage/seobject.py @@ -1058,13 +1058,15 @@ class portRecords(semanageRecords): pass def __genkey(self, port, proto): - if proto == "tcp": - proto_d = SEMANAGE_PROTO_TCP + protocols = {"tcp": SEMANAGE_PROTO_TCP, + "udp": SEMANAGE_PROTO_UDP, + "sctp": SEMANAGE_PROTO_SCTP, + "dccp": SEMANAGE_PROTO_DCCP} + + if proto in protocols.keys(): + proto_d = protocols[proto] else: - if proto == "udp": - proto_d = SEMANAGE_PROTO_UDP - else: - raise ValueError(_("Protocol udp or tcp is required")) + raise ValueError(_("Protocol has to be one of udp, tcp, dccp or sctp")) if port == "": raise ValueError(_("Port is required")) -- 2.21.0