# Network namespace transitions type execns, domain; type execns_exec, exec_type, vendor_file_type, file_type; init_daemon_domain(execns) allow execns varrun_file:dir search; allow execns varrun_file:file r_file_perms; allow execns self:capability sys_admin; allow execns nsfs:file { open read }; #Allow execns itself to be run by init in its own domain domain_auto_trans(init, execns_exec, execns); # Allow dhcpclient to be run by execns in its own domain domain_auto_trans(execns, dhcpclient_exec, dhcpclient); # Allow dhcpserver to be run by execns in its own domain domain_auto_trans(execns, dhcpserver_exec, dhcpserver); # Rules to allow execution of hostapd and allow it to run allow execns hal_wifi_hostapd_default_exec:file { execute_no_trans }; allow execns self:capability { net_admin net_raw }; allow execns self:netlink_generic_socket { bind create getattr read setopt write }; allow execns self:netlink_route_socket { bind create read write nlmsg_write }; allow execns execns:udp_socket { create ioctl }; allow execns self:packet_socket { create setopt }; allow execns sysfs_net:dir { search }; allowxperm execns self:udp_socket ioctl priv_sock_ioctls; # Allow execns to read createns proc file to get the namespace file allow execns createns:file read; allow execns createns:dir search; allow execns createns:lnk_file read;