diff mbox

setools: Add sctp portcon support

Message ID 20180320174930.3207-1-richard_c_haines@btinternet.com (mailing list archive)
State Not Applicable
Headers show

Commit Message

Jann Horn via Selinux March 20, 2018, 5:49 p.m. UTC
Allow setools to interpret SCTP portcon policy statements

Signed-off-by: Richard Haines <richard_c_haines@btinternet.com>
---
 libqpol/policy_define.c         | 2 ++
 setools/policyrep/netcontext.py | 3 ++-
 2 files changed, 4 insertions(+), 1 deletion(-)

Comments

Chris PeBenito March 21, 2018, 6:24 p.m. UTC | #1
On 03/20/2018 01:49 PM, Richard Haines via Selinux wrote:
> Allow setools to interpret SCTP portcon policy statements
> 
> Signed-off-by: Richard Haines <richard_c_haines@btinternet.com>
> ---
>   libqpol/policy_define.c         | 2 ++
>   setools/policyrep/netcontext.py | 3 ++-
>   2 files changed, 4 insertions(+), 1 deletion(-)
> 
> diff --git a/libqpol/policy_define.c b/libqpol/policy_define.c
> index dcc69fc..bffe451 100644
> --- a/libqpol/policy_define.c
> +++ b/libqpol/policy_define.c
> @@ -4933,6 +4933,8 @@ int define_port_context(unsigned int low, unsigned int high)
>   		protocol = IPPROTO_UDP;
>   	} else if ((strcmp(id, "dccp") == 0) || (strcmp(id, "DCCP") == 0)) {
>   		protocol = IPPROTO_DCCP;
> +	} else if ((strcmp(id, "sctp") == 0) || (strcmp(id, "SCTP") == 0)) {
> +		protocol = IPPROTO_SCTP;
>   	} else {
>   		yyerror2("unrecognized protocol %s", id);
>   		goto bad;
> diff --git a/setools/policyrep/netcontext.py b/setools/policyrep/netcontext.py
> index c7076d2..1793677 100644
> --- a/setools/policyrep/netcontext.py
> +++ b/setools/policyrep/netcontext.py
> @@ -17,7 +17,7 @@
>   # License along with SETools.  If not, see
>   # <http://www.gnu.org/licenses/>.
>   #
> -from socket import AF_INET, AF_INET6, IPPROTO_TCP, IPPROTO_UDP, getprotobyname
> +from socket import AF_INET, AF_INET6, IPPROTO_TCP, IPPROTO_UDP, IPPROTO_SCTP, getprotobyname
>   from collections import namedtuple
>   from ipaddress import ip_address, ip_network
>   
> @@ -196,6 +196,7 @@ class PortconProtocol(int, PolicyEnum):
>       tcp = IPPROTO_TCP
>       udp = IPPROTO_UDP
>       dccp = IPPROTO_DCCP
> +    sctp = IPPROTO_SCTP
>   
>   
>   class Portcon(NetContext):

Thanks for the patch, but I'm reimplementing the SETools policyrep, so 
I've added the equivalent support already.
diff mbox

Patch

diff --git a/libqpol/policy_define.c b/libqpol/policy_define.c
index dcc69fc..bffe451 100644
--- a/libqpol/policy_define.c
+++ b/libqpol/policy_define.c
@@ -4933,6 +4933,8 @@  int define_port_context(unsigned int low, unsigned int high)
 		protocol = IPPROTO_UDP;
 	} else if ((strcmp(id, "dccp") == 0) || (strcmp(id, "DCCP") == 0)) {
 		protocol = IPPROTO_DCCP;
+	} else if ((strcmp(id, "sctp") == 0) || (strcmp(id, "SCTP") == 0)) {
+		protocol = IPPROTO_SCTP;
 	} else {
 		yyerror2("unrecognized protocol %s", id);
 		goto bad;
diff --git a/setools/policyrep/netcontext.py b/setools/policyrep/netcontext.py
index c7076d2..1793677 100644
--- a/setools/policyrep/netcontext.py
+++ b/setools/policyrep/netcontext.py
@@ -17,7 +17,7 @@ 
 # License along with SETools.  If not, see
 # <http://www.gnu.org/licenses/>.
 #
-from socket import AF_INET, AF_INET6, IPPROTO_TCP, IPPROTO_UDP, getprotobyname
+from socket import AF_INET, AF_INET6, IPPROTO_TCP, IPPROTO_UDP, IPPROTO_SCTP, getprotobyname
 from collections import namedtuple
 from ipaddress import ip_address, ip_network
 
@@ -196,6 +196,7 @@  class PortconProtocol(int, PolicyEnum):
     tcp = IPPROTO_TCP
     udp = IPPROTO_UDP
     dccp = IPPROTO_DCCP
+    sctp = IPPROTO_SCTP
 
 
 class Portcon(NetContext):