policy_module(kerneloops, 1.9.0)

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

type kerneloops_t;
type kerneloops_exec_t;
init_daemon_domain(kerneloops_t, kerneloops_exec_t)

type kerneloops_initrc_exec_t;
init_script_file(kerneloops_initrc_exec_t)

type kerneloops_tmp_t;
files_tmp_file(kerneloops_tmp_t)

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

allow kerneloops_t self:capability sys_nice;
allow kerneloops_t self:process { getcap setcap setsched getsched signal };
allow kerneloops_t self:fifo_file rw_fifo_file_perms;

manage_files_pattern(kerneloops_t, kerneloops_tmp_t, kerneloops_tmp_t)
files_tmp_filetrans(kerneloops_t, kerneloops_tmp_t, file)

kernel_read_ring_buffer(kerneloops_t)
kernel_read_system_state(kerneloops_t)

dev_read_urand(kerneloops_t)

domain_use_interactive_fds(kerneloops_t)

corenet_all_recvfrom_netlabel(kerneloops_t)
corenet_tcp_sendrecv_generic_if(kerneloops_t)
corenet_tcp_sendrecv_generic_node(kerneloops_t)

corenet_sendrecv_http_client_packets(kerneloops_t)
corenet_tcp_connect_http_port(kerneloops_t)

auth_use_nsswitch(kerneloops_t)

logging_send_syslog_msg(kerneloops_t)
logging_read_generic_logs(kerneloops_t)

miscfiles_read_localization(kerneloops_t)

optional_policy(`
	dbus_system_domain(kerneloops_t, kerneloops_exec_t)
')
