Re: [PATCH] selinux-testsuite: extend sockcreate to support other address families

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Fri, Jan 13, 2017 at 2:10 PM, Stephen Smalley <sds@xxxxxxxxxxxxx> wrote:
> Extend the sockcreate test program to support other address families.
> This is what I used to manually confirm the other extended socket classes.
> However, to avoid bloating the required kernel configuration for the
> selinux-testsuite and because some of the required kernel config options
> are not enabled in current Fedora kernels, I am not adding tests of these
> individual address families to the test script or policy.  We already test
> a representative sampling of the extended socket classes.
>
> IUCV is only supported on s390 and QIPCRTR is only supported on qcom.
> I did not test creating sockets with these two families but confirmed
> that they are supported socket families from the sources.
>
> Config options not already enabled in the Fedora kernel configs required
> to test creating sockets with these address families:
> CONFIG_CAIF=m
> CONFIG_DECNET=m
> CONFIG_LLC2=m
> CONFIG_PHONET=m
> CONFIG_X25=m
> CONFIG_AF_RXRPC=m
>
> Config options already enabled in the Fedora kernel configs required to
> test creating sockets with these address families:
> CONFIG_AX25=m
> CONFIG_NETROM=m
> CONFIG_ROSE=m
> CONFIG_ATM=m
> CONFIG_RDS=m
> CONFIG_IRDA=m
> CONFIG_MISDN=m
> CONFIG_LLC=m
> CONFIG_IPX=m
> CONFIG_CAN=m
> CONFIG_CAN_RAW=m
> CONFIG_TIPC=m
> CONFIG_L2TP=m
> CONFIG_L2TP_PPPOL2TP=m
> CONFIG_IEEE802154=m
> CONFIG_IEEE802154_SOCKET=m
> CONFIG_NFC=m
> CONFIG_VSOCKETS=m
> CONFIG_VMWARE_VMCI_VSOCKETS=m
> CONFIG_AF_KCM=m
>
> Sample invocation of sockcreate for each address family that should
> succeed (no output, exit 0):
> sockcreate atmpvc dgram default
> sockcreate atmsvc dgram default
> sockcreate ax25 dgram default
> sockcreate caif stream default
> sockcreate can raw can_raw
> sockcreate decnet stream default
> sockcreate ieee802154 dgram default
> sockcreate ipx dgram default
> sockcreate irda stream default
> sockcreate isdn raw default
> sockcreate kcm dgram default
> sockcreate llc stream default
> sockcreate netrom seqpacket default
> sockcreate nfc seqpacket default
> sockcreate phonet dgram default
> sockcreate pppox stream default
> sockcreate rds seqpacket default
> sockcreate rose seqpacket default
> sockcreate rxrpc dgram default
> sockcreate tipc stream default
> sockcreate vsock stream default
> sockcreate x25 seqpacket default
>
> Note that CAN required adding an explicit protocol value since it
> did not support creating sockets with the default/0 protocol value.
>
> Signed-off-by: Stephen Smalley <sds@xxxxxxxxxxxxx>
> ---
>  tests/extended_socket_class/sockcreate.c | 34 ++++++++++++++++++++++++++++++++
>  1 file changed, 34 insertions(+)

Thanks, merged.  This will be more interesting once the system
policies support the new object classes, in the meantime it should be
harmless.

> diff --git a/tests/extended_socket_class/sockcreate.c b/tests/extended_socket_class/sockcreate.c
> index c5802ae..ee1d8f3 100644
> --- a/tests/extended_socket_class/sockcreate.c
> +++ b/tests/extended_socket_class/sockcreate.c
> @@ -17,6 +17,36 @@ static struct nameval domains[] = {
>         { "inet6", AF_INET6 },
>         { "bluetooth", AF_BLUETOOTH },
>         { "alg", AF_ALG },
> +       { "ax25", AF_AX25 },
> +       { "ipx", AF_IPX },
> +       { "netrom", AF_NETROM },
> +       { "atmpvc", AF_ATMPVC },
> +       { "x25", AF_X25 },
> +       { "rose", AF_ROSE },
> +       { "decnet", AF_DECnet },
> +       { "atmsvc", AF_ATMSVC },
> +       { "rds", AF_RDS },
> +       { "irda", AF_IRDA },
> +       { "pppox", AF_PPPOX },
> +       { "llc", AF_LLC },
> +       { "can", AF_CAN },
> +       { "tipc", AF_TIPC },
> +       { "iucv", AF_IUCV },
> +       { "rxrpc", AF_RXRPC },
> +       { "isdn", AF_ISDN },
> +       { "phonet", AF_PHONET },
> +       { "ieee802154", AF_IEEE802154 },
> +       { "caif", AF_CAIF },
> +       { "nfc", AF_NFC },
> +       { "vsock", AF_VSOCK },
> +#ifndef AF_KCM
> +#define AF_KCM 41
> +#endif
> +       { "kcm", AF_KCM },
> +#ifndef AF_QIPCRTR
> +#define AF_QIPCRTR 42
> +#endif
> +       { "qipcrtr", AF_QIPCRTR },
>         { NULL, 0 }
>  };
>
> @@ -32,6 +62,10 @@ static struct nameval protocols[] = {
>         { "icmp", IPPROTO_ICMP },
>         { "icmpv6", IPPROTO_ICMPV6 },
>         { "sctp", IPPROTO_SCTP },
> +#ifndef CAN_RAW
> +#define CAN_RAW 1
> +#endif
> +       { "can_raw", CAN_RAW },
>         { "default", 0 },
>         { NULL, 0 }
>  };
> --
> 2.7.4
>



-- 
paul moore
www.paul-moore.com
_______________________________________________
Selinux mailing list
Selinux@xxxxxxxxxxxxx
To unsubscribe, send email to Selinux-leave@xxxxxxxxxxxxx.
To get help, send an email containing "help" to Selinux-request@xxxxxxxxxxxxx.



[Index of Archives]     [Selinux Refpolicy]     [Linux SGX]     [Fedora Users]     [Fedora Desktop]     [Yosemite Photos]     [Yosemite Camping]     [Yosemite Campsites]     [KDE Users]     [Gnome Users]

  Powered by Linux