File: //usr/share/selinux/devel/include/services/sympa.if
## <summary></summary>
########################################
## <summary>
## Allow appending to sympa_var_t (for error log)
## </summary>
## <param name="domain">
## <summary>
## Domain allowed access.
## </summary>
## </param>
#
interface(`sympa_append_var_files',`
gen_require(`
type sympa_var_t;
')
allow $1 sympa_var_t:file { append getattr };
')
########################################
## <summary>
## Allow reading sympa_var_t files
## </summary>
## <param name="domain">
## <summary>
## Domain allowed access.
## </summary>
## </param>
#
interface(`sympa_read_var_files',`
gen_require(`
type sympa_var_t;
')
allow $1 sympa_var_t:dir list_dir_perms;
allow $1 sympa_var_t:file read_file_perms;
')
########################################
## <summary>
## Allow managing sympa_var_t files
## </summary>
## <param name="domain">
## <summary>
## Domain allowed access.
## </summary>
## </param>
#
interface(`sympa_manage_var_files',`
gen_require(`
type sympa_var_t;
')
allow $1 sympa_var_t:dir rw_dir_perms;
allow $1 sympa_var_t:file manage_file_perms;
')
########################################
## <summary>
## Transition to sympa_t when executing sympa_exec_t
## </summary>
## <param name="domain">
## <summary>
## Domain allowed access.
## </summary>
## </param>
#
interface(`sympa_domtrans',`
gen_require(`
type sympa_exec_t, sympa_t;
')
domain_auto_transition_pattern($1, sympa_exec_t, sympa_t)
')
########################################
## <summary>
## Use file handles inherited from sympa
## </summary>
## <param name="domain">
## <summary>
## Domain allowed access.
## </summary>
## </param>
#
interface(`sympa_use_fd',`
gen_require(`
type sympa_t;
')
allow $1 sympa_t:fd use;
')
########################################
## <summary>
## Dontaudit access to inherited sympa tcp sockets
## </summary>
## <param name="domain">
## <summary>
## Domain to not audit
## </summary>
## </param>
#
interface(`sympa_dontaudit_tcp_rw',`
gen_require(`
type sympa_t;
')
dontaudit $1 sympa_t:tcp_socket { read write };
')
########################################
## <summary>
## Allow reading sympa config files
## </summary>
## <param name="domain">
## <summary>
## Domain to allow
## </summary>
## </param>
#
interface(`sympa_read_conf',`
gen_require(`
type sympa_etc_t;
')
allow $1 sympa_etc_t:dir list_dir_perms;
allow $1 sympa_etc_t:file read_file_perms;
')
########################################
## <summary>
## Allow rw sympa runtime dirs and manage sympa runtime files
## </summary>
## <param name="domain">
## <summary>
## Domain to allow
## </summary>
## </param>
#
interface(`sympa_manage_runtime_files',`
gen_require(`
type sympa_runtime_t;
')
allow $1 sympa_runtime_t:dir rw_dir_perms;
allow $1 sympa_runtime_t:file manage_file_perms;
')
########################################
## <summary>
## Allow rw sympa runtime dirs and manage sympa runtime sock files
## </summary>
## <param name="domain">
## <summary>
## Domain to allow
## </summary>
## </param>
#
interface(`sympa_manage_runtime_sock_files',`
gen_require(`
type sympa_runtime_t;
')
allow $1 sympa_runtime_t:dir rw_dir_perms;
allow $1 sympa_runtime_t:sock_file { setattr create unlink write };
')