diff --git a/clatd.te b/clatd.te index 5483f4aa76d5e6c305d93a557837eaff33bcd33f..ec2df7e044be169f7212ac9efcdffb866007f4c3 100644 --- a/clatd.te +++ b/clatd.te @@ -3,5 +3,23 @@ type clatd, domain; permissive_or_unconfined(clatd) type clatd_exec, exec_type, file_type; -init_daemon_domain(clatd) net_domain(clatd) + +# Access objects inherited from netd. +allow clatd netd:fd use; +allow clatd netd:fifo_file { read write }; +allow clatd netd:netlink_kobject_uevent_socket { read write }; +allow clatd netd:netlink_nflog_socket { read write }; +allow clatd netd:netlink_route_socket { read write }; +allow clatd netd:udp_socket { read write }; +allow clatd netd:unix_stream_socket { read write }; + +allow clatd self:capability { net_admin setuid setgid }; + +# TODO: Run clatd in vpn group to avoid need for this on /dev/tun. +allow clatd self:capability dac_override; + +allow clatd self:netlink_route_socket { create_socket_perms nlmsg_write }; +allow clatd self:tun_socket create_socket_perms; +allow clatd tun_device:chr_file rw_file_perms; +allow clatd proc_net:file rw_file_perms;;