policy_module(consolekit,1.1.1)
########################################
#
# Declarations
#
type consolekit_t;
type consolekit_exec_t;
init_daemon_domain(consolekit_t, consolekit_exec_t)
# pid files
type consolekit_var_run_t;
files_pid_file(consolekit_var_run_t)
########################################
#
# consolekit local policy
#
allow consolekit_t self:capability { setuid setgid sys_tty_config dac_override sys_nice sys_ptrace };
allow consolekit_t self:process { getsched signal };
allow consolekit_t self:fifo_file rw_fifo_file_perms;
allow consolekit_t self:unix_stream_socket create_stream_socket_perms;
allow consolekit_t self:unix_dgram_socket create_socket_perms;
# pid file
manage_files_pattern(consolekit_t,consolekit_var_run_t,consolekit_var_run_t)
files_pid_filetrans(consolekit_t,consolekit_var_run_t, file)
kernel_read_system_state(consolekit_t)
corecmd_exec_bin(consolekit_t)
dev_read_urand(consolekit_t)
dev_read_sysfs(consolekit_t)
domain_read_all_domains_state(consolekit_t)
domain_use_interactive_fds(consolekit_t)
files_read_etc_files(consolekit_t)
# needs to read /var/lib/dbus/machine-id
files_read_var_lib_files(consolekit_t)
fs_list_inotifyfs(consolekit_t)
term_use_all_terms(consolekit_t)
libs_use_ld_so(consolekit_t)
libs_use_shared_libs(consolekit_t)
miscfiles_read_localization(consolekit_t)
optional_policy(`
dbus_system_bus_client_template(consolekit, consolekit_t)
dbus_send_system_bus(consolekit_t)
dbus_connect_system_bus(consolekit_t)
hal_dbus_chat(consolekit_t)
optional_policy(`
unconfined_dbus_chat(consolekit_t)
')
')
optional_policy(`
xserver_read_all_users_xauth(consolekit_t)
xserver_stream_connect_xdm_xserver(consolekit_t)
')