selinux-policy/policy/modules/services/dcc.if
2006-07-12 20:32:27 +00:00

182 lines
3.9 KiB
Plaintext

## <summary>Distributed checksum clearinghouse spam filtering</summary>
########################################
## <summary>
## Execute cdcc in the cdcc domain.
## </summary>
## <param name="domain">
## <summary>
## Domain allowed access.
## </summary>
## </param>
#
interface(`dcc_domtrans_cdcc',`
gen_require(`
type cdcc_t, cdcc_exec_t;
')
corecmd_search_sbin($1)
domain_auto_trans($1,cdcc_exec_t,cdcc_t)
allow cdcc_t $1:fd use;
allow cdcc_t $1:fifo_file rw_file_perms;
allow cdcc_t $1:process sigchld;
')
########################################
## <summary>
## Execute cdcc in the cdcc domain, and
## allow the specified role the cdcc domain.
## </summary>
## <param name="domain">
## <summary>
## Domain allowed access.
## </summary>
## </param>
## <param name="role">
## <summary>
## The role to be allowed the cdcc domain.
## </summary>
## </param>
## <param name="terminal">
## <summary>
## The type of the terminal allow the cdcc domain to use.
## </summary>
## </param>
#
interface(`dcc_run_cdcc',`
gen_require(`
type cdcc_t;
')
dcc_domtrans_cdcc($1)
role $2 types cdcc_t;
allow cdcc_t $3:chr_file rw_term_perms;
')
########################################
## <summary>
## Execute dcc_client in the dcc_client domain.
## </summary>
## <param name="domain">
## <summary>
## Domain allowed access.
## </summary>
## </param>
#
interface(`dcc_domtrans_client',`
gen_require(`
type dcc_client_t, dcc_client_exec_t;
')
corecmd_search_sbin($1)
domain_auto_trans($1,dcc_client_exec_t,dcc_client_t)
allow dcc_client_t $1:fd use;
allow dcc_client_t $1:fifo_file rw_file_perms;
allow dcc_client_t $1:process sigchld;
')
########################################
## <summary>
## Execute dcc_client in the dcc_client domain, and
## allow the specified role the dcc_client domain.
## </summary>
## <param name="domain">
## <summary>
## Domain allowed access.
## </summary>
## </param>
## <param name="role">
## <summary>
## The role to be allowed the dcc_client domain.
## </summary>
## </param>
## <param name="terminal">
## <summary>
## The type of the terminal allow the dcc_client domain to use.
## </summary>
## </param>
#
interface(`dcc_run_client',`
gen_require(`
type dcc_client_t;
')
dcc_domtrans_client($1)
role $2 types dcc_client_t;
allow dcc_client_t $3:chr_file rw_term_perms;
')
########################################
## <summary>
## Execute dbclean in the dcc_dbclean domain.
## </summary>
## <param name="domain">
## <summary>
## Domain allowed access.
## </summary>
## </param>
#
interface(`dcc_domtrans_dbclean',`
gen_require(`
type dcc_dbclean_t, dcc_dbclean_exec_t;
')
corecmd_search_sbin($1)
domain_auto_trans($1,dcc_dbclean_exec_t,dcc_dbclean_t)
allow dcc_dbclean_t $1:fd use;
allow dcc_dbclean_t $1:fifo_file rw_file_perms;
allow dcc_dbclean_t $1:process sigchld;
')
########################################
## <summary>
## Execute dbclean in the dcc_dbclean domain, and
## allow the specified role the dcc_dbclean domain.
## </summary>
## <param name="domain">
## <summary>
## Domain allowed access.
## </summary>
## </param>
## <param name="role">
## <summary>
## The role to be allowed the dcc_dbclean domain.
## </summary>
## </param>
## <param name="terminal">
## <summary>
## The type of the terminal allow the dcc_dbclean domain to use.
## </summary>
## </param>
#
interface(`dcc_run_dbclean',`
gen_require(`
type dcc_dbclean_t;
')
dcc_domtrans_dbclean($1)
role $2 types dcc_dbclean_t;
allow dcc_dbclean_t $3:chr_file rw_term_perms;
')
########################################
## <summary>
## Connect to dccifd over a unix domain stream socket.
## </summary>
## <param name="domain">
## <summary>
## Domain allowed access.
## </summary>
## </param>
#
interface(`dcc_stream_connect_dccifd',`
gen_require(`
type dcc_var_t, dccifd_var_run_t, dccifd_t;
')
files_search_var($1)
allow $1 dcc_var_t:dir search;
allow $1 dccifd_var_run_t:sock_file { getattr write };
allow $1 dccifd_t:unix_stream_socket connectto;
')