166 lines
3.1 KiB
Plaintext
166 lines
3.1 KiB
Plaintext
## <summary>Procmail mail delivery agent.</summary>
|
|
|
|
########################################
|
|
## <summary>
|
|
## Execute procmail with a domain transition.
|
|
## </summary>
|
|
## <param name="domain">
|
|
## <summary>
|
|
## Domain allowed to transition.
|
|
## </summary>
|
|
## </param>
|
|
#
|
|
interface(`procmail_domtrans',`
|
|
gen_require(`
|
|
type procmail_exec_t, procmail_t;
|
|
')
|
|
|
|
corecmd_search_bin($1)
|
|
domtrans_pattern($1, procmail_exec_t, procmail_t)
|
|
')
|
|
|
|
########################################
|
|
## <summary>
|
|
## Execute procmail in the caller domain.
|
|
## </summary>
|
|
## <param name="domain">
|
|
## <summary>
|
|
## Domain allowed access.
|
|
## </summary>
|
|
## </param>
|
|
#
|
|
interface(`procmail_exec',`
|
|
gen_require(`
|
|
type procmail_exec_t;
|
|
')
|
|
|
|
corecmd_search_bin($1)
|
|
can_exec($1, procmail_exec_t)
|
|
')
|
|
|
|
########################################
|
|
## <summary>
|
|
## Create, read, write, and delete
|
|
## procmail home files.
|
|
## </summary>
|
|
## <param name="domain">
|
|
## <summary>
|
|
## Domain allowed access.
|
|
## </summary>
|
|
## </param>
|
|
#
|
|
interface(`procmail_manage_home_files',`
|
|
gen_require(`
|
|
type procmail_home_t;
|
|
')
|
|
|
|
userdom_search_user_home_dirs($1)
|
|
allow $1 procmail_home_t:file manage_file_perms;
|
|
')
|
|
|
|
########################################
|
|
## <summary>
|
|
## Read procmail user home content files.
|
|
## </summary>
|
|
## <param name="domain">
|
|
## <summary>
|
|
## Domain allowed access.
|
|
## </summary>
|
|
## </param>
|
|
#
|
|
interface(`procmail_read_home_files',`
|
|
gen_require(`
|
|
type procmail_home_t;
|
|
|
|
')
|
|
|
|
userdom_search_user_home_dirs($1)
|
|
allow $1 procmail_home_t:file read_file_perms;
|
|
')
|
|
|
|
########################################
|
|
## <summary>
|
|
## Relabel procmail home files.
|
|
## </summary>
|
|
## <param name="domain">
|
|
## <summary>
|
|
## Domain allowed access.
|
|
## </summary>
|
|
## </param>
|
|
#
|
|
interface(`procmail_relabel_home_files',`
|
|
gen_require(`
|
|
type procmail_home_t;
|
|
')
|
|
|
|
userdom_search_user_home_dirs($1)
|
|
allow $1 procmail_home_t:file relabel_file_perms;
|
|
')
|
|
|
|
########################################
|
|
## <summary>
|
|
## Create objects in user home
|
|
## directories with the procmail home type.
|
|
## </summary>
|
|
## <param name="domain">
|
|
## <summary>
|
|
## Domain allowed access.
|
|
## </summary>
|
|
## </param>
|
|
## <param name="object_class">
|
|
## <summary>
|
|
## Class of the object being created.
|
|
## </summary>
|
|
## </param>
|
|
## <param name="name" optional="true">
|
|
## <summary>
|
|
## The name of the object being created.
|
|
## </summary>
|
|
## </param>
|
|
#
|
|
interface(`procmail_home_filetrans_procmail_home',`
|
|
gen_require(`
|
|
type procmail_home_t;
|
|
')
|
|
|
|
userdom_user_home_dir_filetrans($1, procmail_home_t, $2, $3)
|
|
')
|
|
|
|
########################################
|
|
## <summary>
|
|
## Read procmail tmp files.
|
|
## </summary>
|
|
## <param name="domain">
|
|
## <summary>
|
|
## Domain allowed access.
|
|
## </summary>
|
|
## </param>
|
|
#
|
|
interface(`procmail_read_tmp_files',`
|
|
gen_require(`
|
|
type procmail_tmp_t;
|
|
')
|
|
|
|
files_search_tmp($1)
|
|
allow $1 procmail_tmp_t:file read_file_perms;
|
|
')
|
|
|
|
########################################
|
|
## <summary>
|
|
## Read and write procmail tmp files.
|
|
## </summary>
|
|
## <param name="domain">
|
|
## <summary>
|
|
## Domain allowed access.
|
|
## </summary>
|
|
## </param>
|
|
#
|
|
interface(`procmail_rw_tmp_files',`
|
|
gen_require(`
|
|
type procmail_tmp_t;
|
|
')
|
|
|
|
files_search_tmp($1)
|
|
rw_files_pattern($1, procmail_tmp_t, procmail_tmp_t)
|
|
')
|