policy_module(hddtemp, 1.2.0)

########################################
#
# Declarations
#
attribute_role hddtemp_roles;

type hddtemp_t;
type hddtemp_exec_t;
init_daemon_domain(hddtemp_t, hddtemp_exec_t)
role hddtemp_roles types hddtemp_t;

type hddtemp_initrc_exec_t;
init_script_file(hddtemp_initrc_exec_t)

type hddtemp_etc_t;
files_config_file(hddtemp_etc_t)

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

allow hddtemp_t self:capability sys_rawio;
dontaudit hddtemp_t self:capability sys_admin;
allow hddtemp_t self:tcp_socket { accept listen };

allow hddtemp_t hddtemp_etc_t:file read_file_perms;

corenet_all_recvfrom_netlabel(hddtemp_t)
corenet_tcp_sendrecv_generic_if(hddtemp_t)
corenet_tcp_sendrecv_generic_node(hddtemp_t)
corenet_tcp_bind_generic_node(hddtemp_t)

corenet_tcp_bind_hddtemp_port(hddtemp_t)
corenet_sendrecv_hddtemp_server_packets(hddtemp_t)
corenet_tcp_sendrecv_hddtemp_port(hddtemp_t)

storage_raw_read_fixed_disk(hddtemp_t)
storage_raw_read_removable_device(hddtemp_t)

auth_use_nsswitch(hddtemp_t)

logging_send_syslog_msg(hddtemp_t)

