policy_module(usbmuxd)

########################################
#
# Declarations
#

attribute_role usbmuxd_roles;
roleattribute system_r usbmuxd_roles;

type usbmuxd_t;
type usbmuxd_exec_t;
application_domain(usbmuxd_t, usbmuxd_exec_t)
role usbmuxd_roles types usbmuxd_t;

type usbmuxd_runtime_t alias usbmuxd_var_run_t;
files_runtime_file(usbmuxd_runtime_t)

########################################
#
# Local policy
#

allow usbmuxd_t self:capability { kill setgid setuid };
allow usbmuxd_t self:process { signal signull };
allow usbmuxd_t self:fifo_file rw_fifo_file_perms;

manage_dirs_pattern(usbmuxd_t, usbmuxd_runtime_t, usbmuxd_runtime_t)
manage_files_pattern(usbmuxd_t, usbmuxd_runtime_t, usbmuxd_runtime_t)
manage_sock_files_pattern(usbmuxd_t, usbmuxd_runtime_t, usbmuxd_runtime_t)
files_runtime_filetrans(usbmuxd_t, usbmuxd_runtime_t, { file dir sock_file })

kernel_read_kernel_sysctls(usbmuxd_t)
kernel_read_system_state(usbmuxd_t)

dev_read_sysfs(usbmuxd_t)
dev_rw_generic_usb_dev(usbmuxd_t)

auth_use_nsswitch(usbmuxd_t)

miscfiles_read_localization(usbmuxd_t)

logging_send_syslog_msg(usbmuxd_t)
