Dominick Grift 15056a9
policy_module(mailscanner, 1.0.0)
Dominick Grift 15056a9
Dominick Grift 15056a9
########################################
Dominick Grift 15056a9
#
Dominick Grift 15056a9
# Declarations
Dominick Grift 15056a9
#
Dominick Grift 15056a9
Dominick Grift 15056a9
type mscan_t;
Dominick Grift 15056a9
type mscan_exec_t;
Dominick Grift 15056a9
init_daemon_domain(mscan_t, mscan_exec_t)
Dominick Grift 15056a9
Dominick Grift 15056a9
type mscan_initrc_exec_t;
Dominick Grift 15056a9
init_script_file(mscan_initrc_exec_t)
Dominick Grift 15056a9
Dominick Grift 15056a9
type mscan_etc_t;
Dominick Grift 15056a9
files_config_file(mscan_etc_t)
Dominick Grift 15056a9
Dominick Grift 15056a9
type mscan_tmp_t;
Dominick Grift 15056a9
files_tmp_file(mscan_tmp_t)
Dominick Grift 15056a9
Dominick Grift 15056a9
type mscan_var_run_t;
Dominick Grift 15056a9
files_pid_file(mscan_var_run_t)
Dominick Grift 15056a9
Dominick Grift 15056a9
########################################
Dominick Grift 15056a9
#
Dominick Grift 15056a9
# Local policy
Dominick Grift 15056a9
#
Dominick Grift 15056a9
Dominick Grift 15056a9
allow mscan_t self:capability { setuid chown setgid dac_override };
Dominick Grift 15056a9
allow mscan_t self:process signal;
Dominick Grift 15056a9
allow mscan_t self:fifo_file rw_fifo_file_perms;
Dominick Grift 15056a9
Dominick Grift 15056a9
read_files_pattern(mscan_t, mscan_etc_t, mscan_etc_t)
Dominick Grift 15056a9
Dominick Grift 15056a9
manage_files_pattern(mscan_t, mscan_var_run_t, mscan_var_run_t)
Dominick Grift 15056a9
files_pid_filetrans(mscan_t, mscan_var_run_t, file)
Dominick Grift 15056a9
Dominick Grift 15056a9
manage_dirs_pattern(mscan_t, mscan_tmp_t, mscan_tmp_t)
Dominick Grift 15056a9
manage_files_pattern(mscan_t, mscan_tmp_t, mscan_tmp_t)
Dominick Grift 15056a9
files_tmp_filetrans(mscan_t, mscan_tmp_t, { dir file })
Dominick Grift 15056a9
Dominick Grift 15056a9
can_exec(mscan_t, mscan_exec_t)
Dominick Grift 15056a9
Dominick Grift 15056a9
kernel_read_system_state(mscan_t)
Dominick Grift 15056a9
Dominick Grift 15056a9
corecmd_exec_bin(mscan_t)
Dominick Grift 15056a9
corecmd_exec_shell(mscan_t)
Dominick Grift 15056a9
Dominick Grift 15056a9
corenet_all_recvfrom_netlabel(mscan_t)
Dominick Grift 15056a9
corenet_all_recvfrom_unlabeled(mscan_t)
Dominick Grift 15056a9
corenet_tcp_bind_generic_node(mscan_t)
Dominick Grift 15056a9
corenet_tcp_sendrecv_generic_if(mscan_t)
Dominick Grift 15056a9
corenet_tcp_sendrecv_generic_node(mscan_t)
Dominick Grift 15056a9
Dominick Grift 15056a9
dev_read_urand(mscan_t)
Dominick Grift 15056a9
Dominick Grift 15056a9
files_read_usr_files(mscan_t)
Dominick Grift 15056a9
Dominick Grift 15056a9
fs_getattr_xattr_fs(mscan_t)
Dominick Grift 15056a9
Dominick Grift 15056a9
auth_dontaudit_read_shadow(mscan_t)
Dominick Grift 15056a9
auth_use_nsswitch(mscan_t)
Dominick Grift 15056a9
Dominick Grift 15056a9
logging_send_syslog_msg(mscan_t)
Dominick Grift 15056a9
Dominick Grift 15056a9
miscfiles_read_localization(mscan_t)
Dominick Grift 15056a9
Dominick Grift 15056a9
optional_policy(`
Dominick Grift 15056a9
	clamav_domtrans_clamscan(mscan_t)
Dominick Grift 15056a9
	clamav_manage_pid_content(mscan_t)
Dominick Grift 15056a9
')
Dominick Grift 15056a9
Dominick Grift 15056a9
optional_policy(`
Dominick Grift 15056a9
	mta_send_mail(mscan_t)
Dominick Grift 15056a9
	mta_manage_queue(mscan_t)
Dominick Grift 15056a9
')
Dominick Grift 15056a9
Dominick Grift 15056a9
optional_policy(`
Dominick Grift 15056a9
	procmail_domtrans(mscan_t)
Dominick Grift 15056a9
')
Dominick Grift 15056a9
Dominick Grift 15056a9
optional_policy(`
Dominick Grift 15056a9
	spamassassin_read_lib_files(mscan_t)
Dominick Grift 15056a9
')