selinux: Support for the new TUN LSM hooks
Add support for the new TUN LSM hooks: security_tun_dev_create(), security_tun_dev_post_create() and security_tun_dev_attach(). This includes the addition of a new object class, tun_socket, which represents the socks associated with TUN devices. The _tun_dev_create() and _tun_dev_post_create() hooks are fairly similar to the standard socket functions but _tun_dev_attach() is a bit special. The _tun_dev_attach() is unique because it involves a domain attaching to an existing TUN device and its associated tun_socket object, an operation which does not exist with standard sockets and most closely resembles a relabel operation. Signed-off-by: Paul Moore <paul.moore@hp.com> Acked-by: Eric Paris <eparis@parisplace.org> Signed-off-by: James Morris <jmorris@namei.org>
This commit is contained in:
@ -15,6 +15,7 @@
|
||||
S_(SECCLASS_KEY_SOCKET, socket, 0x00400000UL)
|
||||
S_(SECCLASS_UNIX_STREAM_SOCKET, socket, 0x00400000UL)
|
||||
S_(SECCLASS_UNIX_DGRAM_SOCKET, socket, 0x00400000UL)
|
||||
S_(SECCLASS_TUN_SOCKET, socket, 0x00400000UL)
|
||||
S_(SECCLASS_IPC, ipc, 0x00000200UL)
|
||||
S_(SECCLASS_SEM, ipc, 0x00000200UL)
|
||||
S_(SECCLASS_MSGQ, ipc, 0x00000200UL)
|
||||
|
@ -423,6 +423,28 @@
|
||||
#define UNIX_DGRAM_SOCKET__RECV_MSG 0x00080000UL
|
||||
#define UNIX_DGRAM_SOCKET__SEND_MSG 0x00100000UL
|
||||
#define UNIX_DGRAM_SOCKET__NAME_BIND 0x00200000UL
|
||||
#define TUN_SOCKET__IOCTL 0x00000001UL
|
||||
#define TUN_SOCKET__READ 0x00000002UL
|
||||
#define TUN_SOCKET__WRITE 0x00000004UL
|
||||
#define TUN_SOCKET__CREATE 0x00000008UL
|
||||
#define TUN_SOCKET__GETATTR 0x00000010UL
|
||||
#define TUN_SOCKET__SETATTR 0x00000020UL
|
||||
#define TUN_SOCKET__LOCK 0x00000040UL
|
||||
#define TUN_SOCKET__RELABELFROM 0x00000080UL
|
||||
#define TUN_SOCKET__RELABELTO 0x00000100UL
|
||||
#define TUN_SOCKET__APPEND 0x00000200UL
|
||||
#define TUN_SOCKET__BIND 0x00000400UL
|
||||
#define TUN_SOCKET__CONNECT 0x00000800UL
|
||||
#define TUN_SOCKET__LISTEN 0x00001000UL
|
||||
#define TUN_SOCKET__ACCEPT 0x00002000UL
|
||||
#define TUN_SOCKET__GETOPT 0x00004000UL
|
||||
#define TUN_SOCKET__SETOPT 0x00008000UL
|
||||
#define TUN_SOCKET__SHUTDOWN 0x00010000UL
|
||||
#define TUN_SOCKET__RECVFROM 0x00020000UL
|
||||
#define TUN_SOCKET__SENDTO 0x00040000UL
|
||||
#define TUN_SOCKET__RECV_MSG 0x00080000UL
|
||||
#define TUN_SOCKET__SEND_MSG 0x00100000UL
|
||||
#define TUN_SOCKET__NAME_BIND 0x00200000UL
|
||||
#define PROCESS__FORK 0x00000001UL
|
||||
#define PROCESS__TRANSITION 0x00000002UL
|
||||
#define PROCESS__SIGCHLD 0x00000004UL
|
||||
|
@ -77,3 +77,4 @@
|
||||
S_(NULL)
|
||||
S_(NULL)
|
||||
S_("kernel_service")
|
||||
S_("tun_socket")
|
||||
|
@ -53,6 +53,7 @@
|
||||
#define SECCLASS_PEER 68
|
||||
#define SECCLASS_CAPABILITY2 69
|
||||
#define SECCLASS_KERNEL_SERVICE 74
|
||||
#define SECCLASS_TUN_SOCKET 75
|
||||
|
||||
/*
|
||||
* Security identifier indices for initial entities
|
||||
|
Reference in New Issue
Block a user