Chris PeBenito 162a57
## <summary>Policy for SELinux policy and userland applications.</summary>
Chris PeBenito e181fe
Chris PeBenito 85bd7f
#######################################
Chris PeBenito f7ebea
## <summary>
Chris PeBenito 414e41
##	Execute checkpolicy in the checkpolicy domain.
Chris PeBenito f7ebea
## </summary>
Chris PeBenito 414e41
## <param name="domain">
Chris PeBenito 885b83
##	<summary>
Chris PeBenito ac9db9
##	Domain allowed access.
Chris PeBenito 885b83
##	</summary>
Chris PeBenito 414e41
## </param>
Chris PeBenito 85bd7f
#
Chris PeBenito 1815ba
interface(`seutil_domtrans_checkpolicy',`
Chris PeBenito 139520
	gen_require(`
Chris PeBenito 139520
		type checkpolicy_t, checkpolicy_exec_t;
Chris PeBenito 139520
	')
Chris PeBenito 0c73cd
Chris PeBenito 139520
	files_search_usr($1)
Chris PeBenito 139520
	corecmd_search_bin($1)
Chris PeBenito 139520
	domain_auto_trans($1,checkpolicy_exec_t,checkpolicy_t)
Chris PeBenito 0c73cd
Chris PeBenito 0c73cd
	allow $1 checkpolicy_t:fd use;
Chris PeBenito 0c73cd
	allow checkpolicy_t $1:fd use;
Chris PeBenito 0c73cd
	allow checkpolicy_t $1:fifo_file rw_file_perms;
Chris PeBenito 0c73cd
	allow checkpolicy_t $1:process sigchld;
Chris PeBenito 85bd7f
')
Chris PeBenito 85bd7f
Chris PeBenito daa0e0
########################################
Chris PeBenito f7ebea
## <summary>
Chris PeBenito 414e41
##	Execute checkpolicy in the checkpolicy domain, and
Chris PeBenito 414e41
##	allow the specified role the checkpolicy domain,
Chris PeBenito 414e41
##	and use the caller's terminal.
Chris PeBenito f7ebea
## </summary>
Chris PeBenito 414e41
## <param name="domain">
Chris PeBenito 885b83
##	<summary>
Chris PeBenito ac9db9
##	Domain allowed access.
Chris PeBenito 885b83
##	</summary>
Chris PeBenito 414e41
## </param>
Chris PeBenito 414e41
## <param name="role">
Chris PeBenito 885b83
##	<summary>
Chris PeBenito 414e41
##	The role to be allowed the checkpolicy domain.
Chris PeBenito 885b83
##	</summary>
Chris PeBenito 414e41
## </param>
Chris PeBenito 414e41
## <param name="terminal">
Chris PeBenito 885b83
##	<summary>
Chris PeBenito 414e41
##	The type of the terminal allow the checkpolicy domain to use.
Chris PeBenito 885b83
##	</summary>
Chris PeBenito 414e41
## </param>
Chris PeBenito daa0e0
#
Chris PeBenito 1815ba
interface(`seutil_run_checkpolicy',`
Chris PeBenito 139520
	gen_require(`
Chris PeBenito 139520
		type checkpolicy_t;
Chris PeBenito 139520
	')
Chris PeBenito 0c73cd
Chris PeBenito 1815ba
	seutil_domtrans_checkpolicy($1)
Chris PeBenito 0c73cd
	role $2 types checkpolicy_t;
Chris PeBenito 139520
	allow checkpolicy_t $3:chr_file rw_term_perms;
Chris PeBenito daa0e0
')
Chris PeBenito daa0e0
Chris PeBenito ac9db9
########################################
Chris PeBenito ac9db9
## <summary>
Chris PeBenito ac9db9
##	Execute checkpolicy in the caller domain.
Chris PeBenito ac9db9
## </summary>
Chris PeBenito ac9db9
## <param name="domain">
Chris PeBenito ac9db9
##	<summary>
Chris PeBenito ac9db9
##	Domain allowed access.
Chris PeBenito ac9db9
##	</summary>
Chris PeBenito ac9db9
## </param>
Chris PeBenito 85bd7f
#
Chris PeBenito 1815ba
interface(`seutil_exec_checkpolicy',`
Chris PeBenito 139520
	gen_require(`
Chris PeBenito 139520
		type checkpolicy_exec_t;
Chris PeBenito 139520
	')
Chris PeBenito 0c73cd
Chris PeBenito 139520
	files_search_usr($1)
Chris PeBenito 139520
	corecmd_search_bin($1)
Chris PeBenito cc41a9
	can_exec($1,checkpolicy_exec_t)
Chris PeBenito 85bd7f
')
Chris PeBenito 85bd7f
Chris PeBenito 85bd7f
#######################################
Chris PeBenito f7ebea
## <summary>
Chris PeBenito 414e41
##	Execute load_policy in the load_policy domain.
Chris PeBenito f7ebea
## </summary>
Chris PeBenito 414e41
## <param name="domain">
Chris PeBenito 885b83
##	<summary>
Chris PeBenito ac9db9
##	Domain allowed access.
Chris PeBenito 885b83
##	</summary>
Chris PeBenito 414e41
## </param>
Chris PeBenito 85bd7f
#
Chris PeBenito 1815ba
interface(`seutil_domtrans_loadpolicy',`
Chris PeBenito 139520
	gen_require(`
Chris PeBenito 139520
		type load_policy_t, load_policy_exec_t;
Chris PeBenito 139520
	')
Chris PeBenito 0c73cd
Chris PeBenito 139520
	corecmd_search_sbin($1)
Chris PeBenito 139520
	domain_auto_trans($1,load_policy_exec_t,load_policy_t)
Chris PeBenito 0c73cd
Chris PeBenito 0c73cd
	allow $1 load_policy_t:fd use;
Chris PeBenito 0c73cd
	allow load_policy_t $1:fd use;
Chris PeBenito 0c73cd
	allow load_policy_t $1:fifo_file rw_file_perms;
Chris PeBenito 0c73cd
	allow load_policy_t $1:process sigchld;
Chris PeBenito 85bd7f
')
Chris PeBenito 85bd7f
Chris PeBenito daa0e0
########################################
Chris PeBenito f7ebea
## <summary>
Chris PeBenito 414e41
##	Execute load_policy in the load_policy domain, and
Chris PeBenito 414e41
##	allow the specified role the load_policy domain,
Chris PeBenito 414e41
##	and use the caller's terminal.
Chris PeBenito f7ebea
## </summary>
Chris PeBenito 414e41
## <param name="domain">
Chris PeBenito 885b83
##	<summary>
Chris PeBenito ac9db9
##	Domain allowed access.
Chris PeBenito 885b83
##	</summary>
Chris PeBenito 414e41
## </param>
Chris PeBenito 414e41
## <param name="role">
Chris PeBenito 885b83
##	<summary>
Chris PeBenito 414e41
##	The role to be allowed the load_policy domain.
Chris PeBenito 885b83
##	</summary>
Chris PeBenito 414e41
## </param>
Chris PeBenito 414e41
## <param name="terminal">
Chris PeBenito 885b83
##	<summary>
Chris PeBenito 414e41
##	The type of the terminal allow the load_policy domain to use.
Chris PeBenito 885b83
##	</summary>
Chris PeBenito 414e41
## </param>
Chris PeBenito daa0e0
#
Chris PeBenito 1815ba
interface(`seutil_run_loadpolicy',`
Chris PeBenito 139520
	gen_require(`
Chris PeBenito 139520
		type load_policy_t;
Chris PeBenito 139520
	')
Chris PeBenito 0c73cd
Chris PeBenito 1815ba
	seutil_domtrans_loadpolicy($1)
Chris PeBenito 0c73cd
	role $2 types load_policy_t;
Chris PeBenito 139520
	allow load_policy_t $3:chr_file rw_term_perms;
Chris PeBenito daa0e0
')
Chris PeBenito daa0e0
Chris PeBenito ac9db9
########################################
Chris PeBenito ac9db9
## <summary>
Chris PeBenito ac9db9
##	Execute load_policy in the caller domain.
Chris PeBenito ac9db9
## </summary>
Chris PeBenito ac9db9
## <param name="domain">
Chris PeBenito ac9db9
##	<summary>
Chris PeBenito ac9db9
##	Domain allowed access.
Chris PeBenito ac9db9
##	</summary>
Chris PeBenito ac9db9
## </param>
Chris PeBenito 85bd7f
#
Chris PeBenito 1815ba
interface(`seutil_exec_loadpolicy',`
Chris PeBenito 139520
	gen_require(`
Chris PeBenito 139520
		type load_policy_exec_t;
Chris PeBenito 139520
	')
Chris PeBenito 0c73cd
Chris PeBenito 139520
	corecmd_search_sbin($1)
Chris PeBenito cc41a9
	can_exec($1,load_policy_exec_t)
Chris PeBenito 85bd7f
')
Chris PeBenito 85bd7f
Chris PeBenito ac9db9
########################################
Chris PeBenito ac9db9
## <summary>
Chris PeBenito ac9db9
##	Read the load_policy program file.
Chris PeBenito ac9db9
## </summary>
Chris PeBenito ac9db9
## <param name="domain">
Chris PeBenito ac9db9
##	<summary>
Chris PeBenito ac9db9
##	Domain allowed access.
Chris PeBenito ac9db9
##	</summary>
Chris PeBenito ac9db9
## </param>
Chris PeBenito 85bd7f
#
Chris PeBenito 1815ba
interface(`seutil_read_loadpolicy',`
Chris PeBenito 139520
	gen_require(`
Chris PeBenito 139520
		type load_policy_exec_t;
Chris PeBenito 139520
	')
Chris PeBenito 0c73cd
Chris PeBenito 139520
	corecmd_search_sbin($1)
Chris PeBenito cc41a9
	allow $1 load_policy_exec_t:file r_file_perms;
Chris PeBenito 85bd7f
')
Chris PeBenito 85bd7f
Chris PeBenito 85bd7f
#######################################
Chris PeBenito f7ebea
## <summary>
Chris PeBenito 414e41
##	Execute newrole in the load_policy domain.
Chris PeBenito f7ebea
## </summary>
Chris PeBenito 414e41
## <param name="domain">
Chris PeBenito 885b83
##	<summary>
Chris PeBenito ac9db9
##	Domain allowed access.
Chris PeBenito 885b83
##	</summary>
Chris PeBenito 414e41
## </param>
Chris PeBenito 85bd7f
#
Chris PeBenito 199895
interface(`seutil_domtrans_newrole',`
Chris PeBenito 139520
	gen_require(`
Chris PeBenito 139520
		type newrole_t, newrole_exec_t;
Chris PeBenito 139520
	')
Chris PeBenito 0c73cd
Chris PeBenito 139520
	files_search_usr($1)
Chris PeBenito 139520
	corecmd_search_bin($1)
Chris PeBenito 139520
	domain_auto_trans($1,newrole_exec_t,newrole_t)
Chris PeBenito 0c73cd
Chris PeBenito 0c73cd
	allow $1 newrole_t:fd use;
Chris PeBenito 0c73cd
	allow newrole_t $1:fd use;
Chris PeBenito 0c73cd
	allow newrole_t $1:fifo_file rw_file_perms;
Chris PeBenito 0c73cd
	allow newrole_t $1:process sigchld;
Chris PeBenito 85bd7f
')
Chris PeBenito 85bd7f
Chris PeBenito daa0e0
########################################
Chris PeBenito f7ebea
## <summary>
Chris PeBenito 414e41
##	Execute newrole in the newrole domain, and
Chris PeBenito 414e41
##	allow the specified role the newrole domain,
Chris PeBenito 414e41
##	and use the caller's terminal.
Chris PeBenito f7ebea
## </summary>
Chris PeBenito 414e41
## <param name="domain">
Chris PeBenito 885b83
##	<summary>
Chris PeBenito ac9db9
##	Domain allowed access.
Chris PeBenito 885b83
##	</summary>
Chris PeBenito 414e41
## </param>
Chris PeBenito 414e41
## <param name="role">
Chris PeBenito 885b83
##	<summary>
Chris PeBenito 414e41
##	The role to be allowed the newrole domain.
Chris PeBenito 885b83
##	</summary>
Chris PeBenito 414e41
## </param>
Chris PeBenito 414e41
## <param name="terminal">
Chris PeBenito 885b83
##	<summary>
Chris PeBenito 414e41
##	The type of the terminal allow the newrole domain to use.
Chris PeBenito 885b83
##	</summary>
Chris PeBenito 414e41
## </param>
Chris PeBenito daa0e0
#
Chris PeBenito 199895
interface(`seutil_run_newrole',`
Chris PeBenito 139520
	gen_require(`
Chris PeBenito 139520
		type newrole_t;
Chris PeBenito 139520
	')
Chris PeBenito 0c73cd
Chris PeBenito 5e0da6
	seutil_domtrans_newrole($1)
Chris PeBenito 0c73cd
	role $2 types newrole_t;
Chris PeBenito 139520
	allow newrole_t $3:chr_file rw_term_perms;
Chris PeBenito daa0e0
')
Chris PeBenito daa0e0
Chris PeBenito ac9db9
########################################
Chris PeBenito ac9db9
## <summary>
Chris PeBenito ac9db9
##	Execute newrole in the caller domain.
Chris PeBenito ac9db9
## </summary>
Chris PeBenito ac9db9
## <param name="domain">
Chris PeBenito ac9db9
##	<summary>
Chris PeBenito ac9db9
##	Domain allowed access.
Chris PeBenito ac9db9
##	</summary>
Chris PeBenito ac9db9
## </param>
Chris PeBenito 85bd7f
#
Chris PeBenito 199895
interface(`seutil_exec_newrole',`
Chris PeBenito 139520
	gen_require(`
Chris PeBenito 139520
		type newrole_t, newrole_exec_t;
Chris PeBenito 139520
	')
Chris PeBenito 0c73cd
Chris PeBenito 139520
	files_search_usr($1)
Chris PeBenito 139520
	corecmd_search_bin($1)
Chris PeBenito cc41a9
	can_exec($1,newrole_exec_t)
Chris PeBenito 85bd7f
')
Chris PeBenito 85bd7f
Chris PeBenito daa0e0
########################################
Chris PeBenito f7ebea
## <summary>
Chris PeBenito 414e41
##	Do not audit the caller attempts to send
Chris PeBenito 414e41
##	a signal to newrole.
Chris PeBenito f7ebea
## </summary>
Chris PeBenito 414e41
## <param name="domain">
Chris PeBenito 885b83
##	<summary>
Chris PeBenito ac9db9
##	Domain allowed access.
Chris PeBenito 885b83
##	</summary>
Chris PeBenito 414e41
## </param>
Chris PeBenito daa0e0
#
Chris PeBenito 8fd367
interface(`seutil_dontaudit_signal_newrole',`
Chris PeBenito 139520
	gen_require(`
Chris PeBenito 139520
		type newrole_t;
Chris PeBenito 139520
	')
Chris PeBenito 0c73cd
Chris PeBenito 0c73cd
	dontaudit $1 newrole_t:process signal;
Chris PeBenito daa0e0
')
Chris PeBenito daa0e0
Chris PeBenito ac9db9
########################################
Chris PeBenito ac9db9
## <summary>
Chris PeBenito ac9db9
##	Send a SIGCHLD signal to newrole.
Chris PeBenito ac9db9
## </summary>
Chris PeBenito ac9db9
## <param name="domain">
Chris PeBenito ac9db9
##	<summary>
Chris PeBenito ac9db9
##	Domain allowed access.
Chris PeBenito ac9db9
##	</summary>
Chris PeBenito ac9db9
## </param>
Chris PeBenito 85bd7f
#
Chris PeBenito 8fd367
interface(`seutil_sigchld_newrole',`
Chris PeBenito 139520
	gen_require(`
Chris PeBenito 139520
		type newrole_t;
Chris PeBenito 139520
	')
Chris PeBenito 0c73cd
Chris PeBenito 0c73cd
	allow $1 newrole_t:process sigchld;
Chris PeBenito 85bd7f
')
Chris PeBenito 85bd7f
Chris PeBenito ac9db9
########################################
Chris PeBenito ac9db9
## <summary>
Chris PeBenito ac9db9
##	Inherit and use newrole file descriptors.
Chris PeBenito ac9db9
## </summary>
Chris PeBenito ac9db9
## <param name="domain">
Chris PeBenito ac9db9
##	<summary>
Chris PeBenito ac9db9
##	Domain allowed access.
Chris PeBenito ac9db9
##	</summary>
Chris PeBenito ac9db9
## </param>
Chris PeBenito ab64c3
#
Chris PeBenito 15722e
interface(`seutil_use_newrole_fds',`
Chris PeBenito 139520
	gen_require(`
Chris PeBenito 139520
		type newrole_t;
Chris PeBenito 139520
	')
Chris PeBenito 0c73cd
Chris PeBenito 0c73cd
	allow $1 newrole_t:fd use;
Chris PeBenito ab64c3
')
Chris PeBenito ab64c3
Chris PeBenito ab64c3
#######################################
Chris PeBenito f7ebea
## <summary>
Chris PeBenito 414e41
##	Execute restorecon in the restorecon domain.
Chris PeBenito f7ebea
## </summary>
Chris PeBenito 414e41
## <param name="domain">
Chris PeBenito 885b83
##	<summary>
Chris PeBenito ac9db9
##	Domain allowed access.
Chris PeBenito 885b83
##	</summary>
Chris PeBenito 414e41
## </param>
Chris PeBenito 85bd7f
#
Chris PeBenito 199895
interface(`seutil_domtrans_restorecon',`
Chris PeBenito 139520
	gen_require(`
Chris PeBenito 139520
		type restorecon_t, restorecon_exec_t;
Chris PeBenito 139520
	')
Chris PeBenito 0c73cd
Chris PeBenito 139520
	corecmd_search_sbin($1)
Chris PeBenito 139520
	domain_auto_trans($1,restorecon_exec_t,restorecon_t)
Chris PeBenito 0c73cd
Chris PeBenito 0c73cd
	allow $1 restorecon_t:fd use;
Chris PeBenito 0c73cd
	allow restorecon_t $1:fd use;
Chris PeBenito 0c73cd
	allow restorecon_t $1:fifo_file rw_file_perms;
Chris PeBenito 0c73cd
	allow restorecon_t $1:process sigchld;
Chris PeBenito 85bd7f
')
Chris PeBenito 85bd7f
Chris PeBenito daa0e0
########################################
Chris PeBenito f7ebea
## <summary>
Chris PeBenito 414e41
##	Execute restorecon in the restorecon domain, and
Chris PeBenito 414e41
##	allow the specified role the restorecon domain,
Chris PeBenito 414e41
##	and use the caller's terminal.
Chris PeBenito f7ebea
## </summary>
Chris PeBenito 414e41
## <param name="domain">
Chris PeBenito 885b83
##	<summary>
Chris PeBenito ac9db9
##	Domain allowed access.
Chris PeBenito 885b83
##	</summary>
Chris PeBenito 414e41
## </param>
Chris PeBenito 414e41
## <param name="role">
Chris PeBenito 885b83
##	<summary>
Chris PeBenito 414e41
##	The role to be allowed the restorecon domain.
Chris PeBenito 885b83
##	</summary>
Chris PeBenito 414e41
## </param>
Chris PeBenito 414e41
## <param name="terminal">
Chris PeBenito 885b83
##	<summary>
Chris PeBenito 414e41
##	The type of the terminal allow the restorecon domain to use.
Chris PeBenito 885b83
##	</summary>
Chris PeBenito 414e41
## </param>
Chris PeBenito daa0e0
#
Chris PeBenito 199895
interface(`seutil_run_restorecon',`
Chris PeBenito 139520
	gen_require(`
Chris PeBenito 139520
		type restorecon_t;
Chris PeBenito 139520
	')
Chris PeBenito 0c73cd
Chris PeBenito 5e0da6
	seutil_domtrans_restorecon($1)
Chris PeBenito 0c73cd
	role $2 types restorecon_t;
Chris PeBenito 139520
	allow restorecon_t $3:chr_file rw_term_perms;
Chris PeBenito daa0e0
')
Chris PeBenito daa0e0
Chris PeBenito ac9db9
########################################
Chris PeBenito ac9db9
## <summary>
Chris PeBenito ac9db9
##	Execute restorecon in the caller domain.
Chris PeBenito ac9db9
## </summary>
Chris PeBenito ac9db9
## <param name="domain">
Chris PeBenito ac9db9
##	<summary>
Chris PeBenito ac9db9
##	Domain allowed access.
Chris PeBenito ac9db9
##	</summary>
Chris PeBenito ac9db9
## </param>
Chris PeBenito 85bd7f
#
Chris PeBenito 199895
interface(`seutil_exec_restorecon',`
Chris PeBenito 139520
	gen_require(`
Chris PeBenito 139520
		type restorecon_t, restorecon_exec_t;
Chris PeBenito 139520
	')
Chris PeBenito 0c73cd
Chris PeBenito 139520
	corecmd_search_sbin($1)
Chris PeBenito 139520
	can_exec($1,restorecon_exec_t)
Chris PeBenito 85bd7f
')
Chris PeBenito 85bd7f
Chris PeBenito 8623d5
########################################
Chris PeBenito f7ebea
## <summary>
Chris PeBenito 414e41
##	Execute run_init in the run_init domain.
Chris PeBenito f7ebea
## </summary>
Chris PeBenito 414e41
## <param name="domain">
Chris PeBenito 885b83
##	<summary>
Chris PeBenito ac9db9
##	Domain allowed access.
Chris PeBenito 885b83
##	</summary>
Chris PeBenito 414e41
## </param>
Chris PeBenito 8623d5
#
Chris PeBenito 199895
interface(`seutil_domtrans_runinit',`
Chris PeBenito 139520
	gen_require(`
Chris PeBenito 139520
		type run_init_t, run_init_exec_t;
Chris PeBenito 139520
	')
Chris PeBenito 0c73cd
Chris PeBenito 139520
	files_search_usr($1)
Chris PeBenito 139520
	corecmd_search_sbin($1)
Chris PeBenito 139520
	domain_auto_trans($1,run_init_exec_t,run_init_t)
Chris PeBenito 0c73cd
Chris PeBenito 0c73cd
	allow $1 run_init_t:fd use;
Chris PeBenito 0c73cd
	allow run_init_t $1:fd use;
Chris PeBenito 0c73cd
	allow run_init_t $1:fifo_file rw_file_perms;
Chris PeBenito 0c73cd
	allow run_init_t $1:process sigchld;
Chris PeBenito 8623d5
')
Chris PeBenito 8623d5
Chris PeBenito 8623d5
########################################
Chris PeBenito f7ebea
## <summary>
Chris PeBenito 2283dc
##	Execute init scripts in the run_init domain.
Chris PeBenito 2283dc
## </summary>
Chris PeBenito 2283dc
## <desc>
Chris PeBenito 2283dc
##	

Chris PeBenito 2283dc
##	Execute init scripts in the run_init domain.
Chris PeBenito 2283dc
##	This is used for the Gentoo integrated run_init.
Chris PeBenito 2283dc
##	

Chris PeBenito 2283dc
## </desc>
Chris PeBenito 2283dc
## <param name="domain">
Chris PeBenito 2283dc
##	<summary>
Chris PeBenito 2283dc
##	Domain allowed access.
Chris PeBenito 2283dc
##	</summary>
Chris PeBenito 2283dc
## </param>
Chris PeBenito 2283dc
#
Chris PeBenito 2283dc
interface(`seutil_init_script_domtrans_runinit',`
Chris PeBenito 2283dc
	gen_require(`
Chris PeBenito 2283dc
		type run_init_t;
Chris PeBenito 2283dc
	')
Chris PeBenito 2283dc
Chris PeBenito 2283dc
	init_script_file_domtrans($1,run_init_t)
Chris PeBenito 2283dc
Chris PeBenito 2283dc
	allow $1 run_init_t:fd use;
Chris PeBenito 2283dc
	allow run_init_t $1:fd use;
Chris PeBenito 2283dc
	allow run_init_t $1:fifo_file rw_file_perms;
Chris PeBenito 2283dc
	allow run_init_t $1:process sigchld;
Chris PeBenito 2283dc
')
Chris PeBenito 2283dc
Chris PeBenito 2283dc
########################################
Chris PeBenito 2283dc
## <summary>
Chris PeBenito 414e41
##	Execute run_init in the run_init domain, and
Chris PeBenito 414e41
##	allow the specified role the run_init domain,
Chris PeBenito 414e41
##	and use the caller's terminal.
Chris PeBenito f7ebea
## </summary>
Chris PeBenito 414e41
## <param name="domain">
Chris PeBenito 885b83
##	<summary>
Chris PeBenito ac9db9
##	Domain allowed access.
Chris PeBenito 885b83
##	</summary>
Chris PeBenito 414e41
## </param>
Chris PeBenito 414e41
## <param name="role">
Chris PeBenito 885b83
##	<summary>
Chris PeBenito 414e41
##	The role to be allowed the run_init domain.
Chris PeBenito 885b83
##	</summary>
Chris PeBenito 414e41
## </param>
Chris PeBenito 414e41
## <param name="terminal">
Chris PeBenito 885b83
##	<summary>
Chris PeBenito 414e41
##	The type of the terminal allow the run_init domain to use.
Chris PeBenito 885b83
##	</summary>
Chris PeBenito 414e41
## </param>
Chris PeBenito daa0e0
#
Chris PeBenito 199895
interface(`seutil_run_runinit',`
Chris PeBenito 139520
	gen_require(`
Chris PeBenito 139520
		type run_init_t;
Chris PeBenito a49e2b
		role system_r;
Chris PeBenito 139520
	')
Chris PeBenito 0c73cd
Chris PeBenito 5e0da6
	seutil_domtrans_runinit($1)
Chris PeBenito 0c73cd
	role $2 types run_init_t;
Chris PeBenito 139520
	allow run_init_t $3:chr_file rw_term_perms;
Chris PeBenito a49e2b
	allow $2 system_r;
Chris PeBenito daa0e0
')
Chris PeBenito daa0e0
Chris PeBenito daa0e0
########################################
Chris PeBenito 2283dc
## <summary>
Chris PeBenito 2283dc
##	Execute init scripts in the run_init domain, and
Chris PeBenito 2283dc
##	allow the specified role the run_init domain,
Chris PeBenito 2283dc
##	and use the caller's terminal.
Chris PeBenito 2283dc
## </summary>
Chris PeBenito 2283dc
## <desc>
Chris PeBenito 2283dc
##	

Chris PeBenito 2283dc
##	Execute init scripts in the run_init domain, and
Chris PeBenito 2283dc
##	allow the specified role the run_init domain,
Chris PeBenito 2283dc
##	and use the caller's terminal.
Chris PeBenito 2283dc
##	

Chris PeBenito 2283dc
##	

Chris PeBenito 2283dc
##	This is used for the Gentoo integrated run_init.
Chris PeBenito 2283dc
##	

Chris PeBenito 2283dc
## </desc>
Chris PeBenito 2283dc
## <param name="domain">
Chris PeBenito 2283dc
##	<summary>
Chris PeBenito ac9db9
##	Domain allowed access.
Chris PeBenito 2283dc
##	</summary>
Chris PeBenito 2283dc
## </param>
Chris PeBenito 2283dc
## <param name="role">
Chris PeBenito 2283dc
##	<summary>
Chris PeBenito 2283dc
##	The role to be allowed the run_init domain.
Chris PeBenito 2283dc
##	</summary>
Chris PeBenito 2283dc
## </param>
Chris PeBenito 2283dc
## <param name="terminal">
Chris PeBenito 2283dc
##	<summary>
Chris PeBenito 2283dc
##	The type of the terminal allow the run_init domain to use.
Chris PeBenito 2283dc
##	</summary>
Chris PeBenito 2283dc
## </param>
Chris PeBenito 2283dc
#
Chris PeBenito 2283dc
interface(`seutil_init_script_run_runinit',`
Chris PeBenito 2283dc
	gen_require(`
Chris PeBenito 2283dc
		type run_init_t;
Chris PeBenito 2283dc
		role system_r;
Chris PeBenito 2283dc
	')
Chris PeBenito 2283dc
Chris PeBenito 2283dc
	seutil_init_script_domtrans_runinit($1)
Chris PeBenito 2283dc
	role $2 types run_init_t;
Chris PeBenito 2283dc
	allow run_init_t $3:chr_file rw_term_perms;
Chris PeBenito 2283dc
	allow $2 system_r;
Chris PeBenito 2283dc
')
Chris PeBenito 2283dc
Chris PeBenito 2283dc
########################################
Chris PeBenito ac9db9
## <summary>
Chris PeBenito ac9db9
##	Inherit and use run_init file descriptors.
Chris PeBenito ac9db9
## </summary>
Chris PeBenito ac9db9
## <param name="domain">
Chris PeBenito ac9db9
##	<summary>
Chris PeBenito ac9db9
##	Domain allowed access.
Chris PeBenito ac9db9
##	</summary>
Chris PeBenito ac9db9
## </param>
Chris PeBenito 8623d5
#
Chris PeBenito 15722e
interface(`seutil_use_runinit_fds',`
Chris PeBenito 139520
	gen_require(`
Chris PeBenito 139520
		type run_init_t;
Chris PeBenito 139520
	')
Chris PeBenito 0c73cd
Chris PeBenito 0c73cd
	allow $1 run_init_t:fd use;
Chris PeBenito 8623d5
')
Chris PeBenito 8623d5
Chris PeBenito daa0e0
########################################
Chris PeBenito f7ebea
## <summary>
Chris PeBenito 414e41
##	Execute setfiles in the setfiles domain.
Chris PeBenito f7ebea
## </summary>
Chris PeBenito 414e41
## <param name="domain">
Chris PeBenito 885b83
##	<summary>
Chris PeBenito ac9db9
##	Domain allowed access.
Chris PeBenito 885b83
##	</summary>
Chris PeBenito 414e41
## </param>
Chris PeBenito 85bd7f
#
Chris PeBenito 199895
interface(`seutil_domtrans_setfiles',`
Chris PeBenito 139520
	gen_require(`
Chris PeBenito 139520
		type setfiles_t, setfiles_exec_t;
Chris PeBenito 139520
	')
Chris PeBenito 0c73cd
Chris PeBenito 139520
	files_search_usr($1)
Chris PeBenito 139520
	corecmd_search_sbin($1)
Chris PeBenito 139520
	domain_auto_trans($1,setfiles_exec_t,setfiles_t)
Chris PeBenito 0c73cd
Chris PeBenito 0c73cd
	allow $1 setfiles_t:fd use;
Chris PeBenito 0c73cd
	allow setfiles_t $1:fd use;
Chris PeBenito 0c73cd
	allow setfiles_t $1:fifo_file rw_file_perms;
Chris PeBenito 0c73cd
	allow setfiles_t $1:process sigchld;
Chris PeBenito 85bd7f
')
Chris PeBenito 85bd7f
Chris PeBenito daa0e0
########################################
Chris PeBenito f7ebea
## <summary>
Chris PeBenito 414e41
##	Execute setfiles in the setfiles domain, and
Chris PeBenito 414e41
##	allow the specified role the setfiles domain,
Chris PeBenito 414e41
##	and use the caller's terminal.
Chris PeBenito f7ebea
## </summary>
Chris PeBenito 414e41
## <param name="domain">
Chris PeBenito 885b83
##	<summary>
Chris PeBenito ac9db9
##	Domain allowed access.
Chris PeBenito 885b83
##	</summary>
Chris PeBenito 414e41
## </param>
Chris PeBenito 414e41
## <param name="role">
Chris PeBenito 885b83
##	<summary>
Chris PeBenito 414e41
##	The role to be allowed the setfiles domain.
Chris PeBenito 885b83
##	</summary>
Chris PeBenito 414e41
## </param>
Chris PeBenito 414e41
## <param name="terminal">
Chris PeBenito 885b83
##	<summary>
Chris PeBenito 414e41
##	The type of the terminal allow the setfiles domain to use.
Chris PeBenito 885b83
##	</summary>
Chris PeBenito 414e41
## </param>
Chris PeBenito daa0e0
#
Chris PeBenito 199895
interface(`seutil_run_setfiles',`
Chris PeBenito 139520
	gen_require(`
Chris PeBenito 139520
		type setfiles_t;
Chris PeBenito 139520
	')
Chris PeBenito 0c73cd
Chris PeBenito 5e0da6
	seutil_domtrans_setfiles($1)
Chris PeBenito 0c73cd
	role $2 types setfiles_t;
Chris PeBenito 139520
	allow setfiles_t $3:chr_file rw_term_perms;
Chris PeBenito daa0e0
')
Chris PeBenito daa0e0
Chris PeBenito ac9db9
########################################
Chris PeBenito ac9db9
## <summary>
Chris PeBenito ac9db9
##	Execute setfiles in the caller domain.
Chris PeBenito ac9db9
## </summary>
Chris PeBenito ac9db9
## <param name="domain">
Chris PeBenito ac9db9
##	<summary>
Chris PeBenito ac9db9
##	Domain allowed access.
Chris PeBenito ac9db9
##	</summary>
Chris PeBenito ac9db9
## </param>
Chris PeBenito 85bd7f
#
Chris PeBenito 199895
interface(`seutil_exec_setfiles',`
Chris PeBenito 139520
	gen_require(`
Chris PeBenito 139520
		type setfiles_exec_t;
Chris PeBenito 139520
	')
Chris PeBenito 0c73cd
Chris PeBenito 139520
	files_search_usr($1)
Chris PeBenito 139520
	corecmd_search_sbin($1)
Chris PeBenito cc41a9
	can_exec($1,setfiles_exec_t)
Chris PeBenito 85bd7f
')
Chris PeBenito 85bd7f
Chris PeBenito b4cd15
########################################
Chris PeBenito ae9e27
## <summary>
Chris PeBenito ae9e27
##	Do not audit attempts to search the SELinux
Chris PeBenito ae9e27
##	configuration directory (/etc/selinux).
Chris PeBenito ae9e27
## </summary>
Chris PeBenito ae9e27
## <param name="domain">
Chris PeBenito 885b83
##	<summary>
Chris PeBenito ae9e27
##	Domain to not audit.
Chris PeBenito 885b83
##	</summary>
Chris PeBenito ae9e27
## </param>
Chris PeBenito ae9e27
#
Chris PeBenito ae9e27
interface(`seutil_dontaudit_search_config',`
Chris PeBenito ae9e27
	gen_require(`
Chris PeBenito ae9e27
		type selinux_config_t;
Chris PeBenito ae9e27
	')
Chris PeBenito ae9e27
Chris PeBenito ae9e27
	dontaudit $1 selinux_config_t:dir search;
Chris PeBenito ae9e27
')
Chris PeBenito ae9e27
Chris PeBenito ae9e27
########################################
Chris PeBenito a08248
## <summary>
Chris PeBenito a08248
##	Do not audit attempts to read the SELinux
Chris PeBenito a08248
##	userland configuration (/etc/selinux).
Chris PeBenito a08248
## </summary>
Chris PeBenito a08248
## <param name="domain">
Chris PeBenito 885b83
##	<summary>
Chris PeBenito a08248
##	Domain to not audit.
Chris PeBenito 885b83
##	</summary>
Chris PeBenito a08248
## </param>
Chris PeBenito a08248
#
Chris PeBenito a08248
interface(`seutil_dontaudit_read_config',`
Chris PeBenito a08248
	gen_require(`
Chris PeBenito a08248
		type selinux_config_t;
Chris PeBenito a08248
	')
Chris PeBenito a08248
Chris PeBenito a08248
	dontaudit $1 selinux_config_t:dir search;
Chris PeBenito a08248
	dontaudit $1 selinux_config_t:file { getattr read };
Chris PeBenito a08248
')
Chris PeBenito a08248
Chris PeBenito a08248
########################################
Chris PeBenito ac9db9
## <summary>
Chris PeBenito ac9db9
##	Read the general SELinux configuration files.
Chris PeBenito ac9db9
## </summary>
Chris PeBenito ac9db9
## <param name="domain">
Chris PeBenito ac9db9
##	<summary>
Chris PeBenito ac9db9
##	Domain allowed access.
Chris PeBenito ac9db9
##	</summary>
Chris PeBenito ac9db9
## </param>
Chris PeBenito b4cd15
#
Chris PeBenito 199895
interface(`seutil_read_config',`
Chris PeBenito 139520
	gen_require(`
Chris PeBenito 139520
		type selinux_config_t;
Chris PeBenito 139520
	')
Chris PeBenito 0c73cd
Chris PeBenito 139520
	files_search_etc($1)
Chris PeBenito cc41a9
	allow $1 selinux_config_t:dir r_dir_perms;
Chris PeBenito cc41a9
	allow $1 selinux_config_t:file r_file_perms;
Chris PeBenito 30705b
	allow $1 selinux_config_t:lnk_file { getattr read };
Chris PeBenito b4cd15
')
Chris PeBenito b4cd15
Chris PeBenito a3cf80
#######################################
Chris PeBenito a3cf80
## <summary>
Chris PeBenito a3cf80
##	Create, read, write, and delete
Chris PeBenito a3cf80
##	the general selinux configuration files.
Chris PeBenito a3cf80
## </summary>
Chris PeBenito a3cf80
## <param name="domain">
Chris PeBenito a3cf80
##	<summary>
Chris PeBenito ac9db9
##	Domain allowed access.
Chris PeBenito a3cf80
##	</summary>
Chris PeBenito a3cf80
## </param>
Chris PeBenito a3cf80
#
Chris PeBenito a3cf80
interface(`seutil_manage_selinux_config',`
Chris PeBenito a3cf80
	gen_require(`
Chris PeBenito a3cf80
		type selinux_config_t;
Chris PeBenito a3cf80
	')
Chris PeBenito a3cf80
Chris PeBenito a3cf80
	files_search_etc($1)
Chris PeBenito a3cf80
	allow $1 selinux_config_t:dir rw_dir_perms;
Chris PeBenito a3cf80
	allow $1 selinux_config_t:file manage_file_perms;
Chris PeBenito a3cf80
	allow $1 selinux_config_t:lnk_file { getattr read };
Chris PeBenito a3cf80
')
Chris PeBenito a3cf80
Chris PeBenito b4cd15
########################################
Chris PeBenito ebdc3b
## <summary>
Chris PeBenito ebdc3b
##	Search the policy directory with default_context files.
Chris PeBenito ebdc3b
## </summary>
Chris PeBenito ebdc3b
## <param name="domain">
Chris PeBenito 885b83
##	<summary>
Chris PeBenito ac9db9
##	Domain allowed access.
Chris PeBenito 885b83
##	</summary>
Chris PeBenito ebdc3b
## </param>
Chris PeBenito ebdc3b
#
Chris PeBenito ebdc3b
interface(`seutil_search_default_contexts',`
Chris PeBenito ebdc3b
	gen_require(`
Chris PeBenito ebdc3b
		type selinux_config_t, default_context_t;
Chris PeBenito ebdc3b
	')
Chris PeBenito ebdc3b
Chris PeBenito ebdc3b
	files_search_etc($1)
Chris PeBenito ebdc3b
	allow $1 { selinux_config_t default_context_t }:dir search;
Chris PeBenito ebdc3b
')
Chris PeBenito ebdc3b
Chris PeBenito ebdc3b
Chris PeBenito ebdc3b
########################################
Chris PeBenito ac9db9
## <summary>
Chris PeBenito ac9db9
##	Read the default_contexts files.
Chris PeBenito ac9db9
## </summary>
Chris PeBenito ac9db9
## <param name="domain">
Chris PeBenito ac9db9
##	<summary>
Chris PeBenito ac9db9
##	Domain allowed access.
Chris PeBenito ac9db9
##	</summary>
Chris PeBenito ac9db9
## </param>
Chris PeBenito b4cd15
#
Chris PeBenito 199895
interface(`seutil_read_default_contexts',`
Chris PeBenito 139520
	gen_require(`
Chris PeBenito 139520
		type selinux_config_t, default_context_t;
Chris PeBenito 139520
	')
Chris PeBenito 0c73cd
Chris PeBenito 139520
	files_search_etc($1)
Chris PeBenito 0c73cd
	allow $1 selinux_config_t:dir search;
Chris PeBenito cc41a9
	allow $1 default_context_t:dir r_dir_perms;
Chris PeBenito cc41a9
	allow $1 default_context_t:file r_file_perms;
Chris PeBenito 30705b
	allow $1 default_context_t:lnk_file { getattr read };
Chris PeBenito b4cd15
')
Chris PeBenito b4cd15
Chris PeBenito b4cd15
########################################
Chris PeBenito ac9db9
## <summary>
Chris PeBenito ac9db9
##	Read the file_contexts files.
Chris PeBenito ac9db9
## </summary>
Chris PeBenito ac9db9
## <param name="domain">
Chris PeBenito ac9db9
##	<summary>
Chris PeBenito ac9db9
##	Domain allowed access.
Chris PeBenito ac9db9
##	</summary>
Chris PeBenito ac9db9
## </param>
Chris PeBenito ee5772
#
Chris PeBenito 199895
interface(`seutil_read_file_contexts',`
Chris PeBenito 139520
	gen_require(`
Chris PeBenito 139520
		type selinux_config_t, file_context_t;
Chris PeBenito 139520
	')
Chris PeBenito 0c73cd
Chris PeBenito 139520
	files_search_etc($1)
Chris PeBenito 0c73cd
	allow $1 selinux_config_t:dir search;
Chris PeBenito cc41a9
	allow $1 file_context_t:dir r_dir_perms;
Chris PeBenito cc41a9
	allow $1 file_context_t:file r_file_perms;
Chris PeBenito a525f2
	allow $1 file_context_t:lnk_file { getattr read };
Chris PeBenito ee5772
')
Chris PeBenito ee5772
Chris PeBenito ee5772
########################################
Chris PeBenito 8cf671
## <summary>
Chris PeBenito 8cf671
##	Read and write the file_contexts files.
Chris PeBenito 8cf671
## </summary>
Chris PeBenito 8cf671
## <param name="domain">
Chris PeBenito 8cf671
##	<summary>
Chris PeBenito 8cf671
##	Domain allowed access.
Chris PeBenito 8cf671
##	</summary>
Chris PeBenito 8cf671
## </param>
Chris PeBenito 8cf671
#
Chris PeBenito 8cf671
interface(`seutil_rw_file_contexts',`
Chris PeBenito 8cf671
	gen_require(`
Chris PeBenito 8cf671
		type selinux_config_t, file_context_t;
Chris PeBenito 8cf671
	')
Chris PeBenito 8cf671
Chris PeBenito 8cf671
	files_search_etc($1)
Chris PeBenito 8cf671
	allow $1 selinux_config_t:dir search;
Chris PeBenito 8cf671
	allow $1 file_context_t:dir r_dir_perms;
Chris PeBenito 8cf671
	allow $1 file_context_t:file rw_file_perms;
Chris PeBenito 8cf671
	allow $1 file_context_t:lnk_file { getattr read };
Chris PeBenito 8cf671
')
Chris PeBenito 8cf671
Chris PeBenito 8cf671
########################################
Chris PeBenito 55b190
## <summary>
Chris PeBenito 55b190
##	Create, read, write, and delete the file_contexts files.
Chris PeBenito 55b190
## </summary>
Chris PeBenito 55b190
## <param name="domain">
Chris PeBenito 55b190
##	<summary>
Chris PeBenito 55b190
##	Domain allowed access.
Chris PeBenito 55b190
##	</summary>
Chris PeBenito 55b190
## </param>
Chris PeBenito 55b190
#
Chris PeBenito 55b190
interface(`seutil_manage_file_contexts',`
Chris PeBenito 55b190
	gen_require(`
Chris PeBenito 55b190
		type selinux_config_t, file_context_t;
Chris PeBenito 55b190
	')
Chris PeBenito 55b190
Chris PeBenito 55b190
	files_search_etc($1)
Chris PeBenito 55b190
	allow $1 selinux_config_t:dir search_dir_perms;
Chris PeBenito 55b190
	allow $1 file_context_t:dir rw_dir_perms;
Chris PeBenito 55b190
	allow $1 file_context_t:file manage_file_perms;
Chris PeBenito 55b190
')
Chris PeBenito 55b190
Chris PeBenito 55b190
########################################
Chris PeBenito ac9db9
## <summary>
Chris PeBenito ac9db9
##	Read the SELinux binary policy.
Chris PeBenito ac9db9
## </summary>
Chris PeBenito ac9db9
## <param name="domain">
Chris PeBenito ac9db9
##	<summary>
Chris PeBenito ac9db9
##	Domain allowed access.
Chris PeBenito ac9db9
##	</summary>
Chris PeBenito ac9db9
## </param>
Chris PeBenito b4cd15
#
Chris PeBenito 1815ba
interface(`seutil_read_bin_policy',`
Chris PeBenito 139520
	gen_require(`
Chris PeBenito 139520
		type selinux_config_t, policy_config_t;
Chris PeBenito 139520
	')
Chris PeBenito 0c73cd
Chris PeBenito 139520
	files_search_etc($1)
Chris PeBenito 139520
	allow $1 selinux_config_t:dir search;
Chris PeBenito cc41a9
	allow $1 policy_config_t:dir r_dir_perms;
Chris PeBenito cc41a9
	allow $1 policy_config_t:file r_file_perms;
Chris PeBenito b4cd15
')
Chris PeBenito b4cd15
Chris PeBenito b4cd15
########################################
Chris PeBenito ac9db9
## <summary>
Chris PeBenito ac9db9
##	Create the SELinux binary policy.
Chris PeBenito ac9db9
## </summary>
Chris PeBenito ac9db9
## <param name="domain">
Chris PeBenito ac9db9
##	<summary>
Chris PeBenito ac9db9
##	Domain allowed access.
Chris PeBenito ac9db9
##	</summary>
Chris PeBenito ac9db9
## </param>
Chris PeBenito b4cd15
#
Chris PeBenito 1815ba
interface(`seutil_create_bin_policy',`
Chris PeBenito 139520
	gen_require(`
Chris PeBenito 15fefa
#		attribute can_write_binary_policy;
Chris PeBenito 139520
		type selinux_config_t, policy_config_t;
Chris PeBenito 139520
	')
Chris PeBenito 0c73cd
Chris PeBenito 139520
	files_search_etc($1)
Chris PeBenito 139520
	allow $1 selinux_config_t:dir search;
Chris PeBenito 139520
	allow $1 policy_config_t:dir ra_dir_perms;
Chris PeBenito 139520
	allow $1 policy_config_t:file { getattr create write };
Chris PeBenito 15fefa
#	typeattribute $1 can_write_binary_policy;
Chris PeBenito b4cd15
')
Chris PeBenito b4cd15
Chris PeBenito ef3734
########################################
Chris PeBenito f7ebea
## <summary>
Chris PeBenito 414e41
##	Allow the caller to relabel a file to the binary policy type.
Chris PeBenito f7ebea
## </summary>
Chris PeBenito 414e41
## <param name="domain">
Chris PeBenito 885b83
##	<summary>
Chris PeBenito ac9db9
##	Domain allowed access.
Chris PeBenito 885b83
##	</summary>
Chris PeBenito 414e41
## </param>
Chris PeBenito efd8ed
#
Chris PeBenito 1815ba
interface(`seutil_relabelto_bin_policy',`
Chris PeBenito 139520
	gen_require(`
Chris PeBenito 139520
		attribute can_relabelto_binary_policy;
Chris PeBenito 139520
		type policy_config_t;
Chris PeBenito 139520
	')
Chris PeBenito 0c73cd
Chris PeBenito 0c73cd
	allow $1 policy_config_t:file relabelto;
Chris PeBenito 0c73cd
	typeattribute $1 can_relabelto_binary_policy;
Chris PeBenito efd8ed
')
Chris PeBenito efd8ed
Chris PeBenito efd8ed
########################################
Chris PeBenito ac9db9
## <summary>
Chris PeBenito ac9db9
##	Create, read, write, and delete the SELinux
Chris PeBenito ac9db9
##	binary policy.
Chris PeBenito ac9db9
## </summary>
Chris PeBenito ac9db9
## <param name="domain">
Chris PeBenito ac9db9
##	<summary>
Chris PeBenito ac9db9
##	Domain allowed access.
Chris PeBenito ac9db9
##	</summary>
Chris PeBenito ac9db9
## </param>
Chris PeBenito ef3734
#
Chris PeBenito 1815ba
interface(`seutil_manage_bin_policy',`
Chris PeBenito 139520
	gen_require(`
Chris PeBenito 139520
		attribute can_write_binary_policy;
Chris PeBenito 139520
		type selinux_config_t, policy_config_t;
Chris PeBenito 139520
	')
Chris PeBenito 139520
Chris PeBenito 139520
	files_search_etc($1)
Chris PeBenito 0c73cd
	allow $1 selinux_config_t:dir search;
Chris PeBenito 139520
	allow $1 policy_config_t:dir rw_dir_perms;
Chris PeBenito cc41a9
	allow $1 policy_config_t:file create_file_perms;
Chris PeBenito 0c73cd
	typeattribute $1 can_write_binary_policy;
Chris PeBenito ef3734
')
Chris PeBenito ef3734
Chris PeBenito ef3734
########################################
Chris PeBenito ac9db9
## <summary>
Chris PeBenito ac9db9
##	Read SELinux policy source files.
Chris PeBenito ac9db9
## </summary>
Chris PeBenito ac9db9
## <param name="domain">
Chris PeBenito ac9db9
##	<summary>
Chris PeBenito ac9db9
##	Domain allowed access.
Chris PeBenito ac9db9
##	</summary>
Chris PeBenito ac9db9
## </param>
Chris PeBenito ef3734
#
Chris PeBenito 1815ba
interface(`seutil_read_src_policy',`
Chris PeBenito 139520
	gen_require(`
Chris PeBenito 139520
		type selinux_config_t, policy_src_t;
Chris PeBenito 139520
	')
Chris PeBenito 0c73cd
Chris PeBenito 139520
	files_search_etc($1)
Chris PeBenito 0c73cd
	allow $1 selinux_config_t:dir search;
Chris PeBenito cc41a9
	allow $1 policy_src_t:dir r_dir_perms;
Chris PeBenito cc41a9
	allow $1 policy_src_t:file r_file_perms;
Chris PeBenito ef3734
')
Chris PeBenito ef3734
Chris PeBenito ef3734
########################################
Chris PeBenito ac9db9
## <summary>
Chris PeBenito ac9db9
##	Create, read, write, and delete SELinux
Chris PeBenito ac9db9
##	policy source files.
Chris PeBenito ac9db9
## </summary>
Chris PeBenito ac9db9
## <param name="domain">
Chris PeBenito ac9db9
##	<summary>
Chris PeBenito ac9db9
##	Domain allowed access.
Chris PeBenito ac9db9
##	</summary>
Chris PeBenito ac9db9
## </param>
Chris PeBenito ef3734
#
Chris PeBenito 1815ba
interface(`seutil_manage_src_policy',`
Chris PeBenito 139520
	gen_require(`
Chris PeBenito 139520
		type selinux_config_t, policy_src_t;
Chris PeBenito 139520
	')
Chris PeBenito 0c73cd
Chris PeBenito 139520
	files_search_etc($1)
Chris PeBenito 0c73cd
	allow $1 selinux_config_t:dir search;
Chris PeBenito cc41a9
	allow $1 policy_src_t:dir create_dir_perms;
Chris PeBenito cc41a9
	allow $1 policy_src_t:file create_file_perms;
Chris PeBenito ef3734
')
Chris PeBenito 02bcb8
Chris PeBenito 02bcb8
########################################
Chris PeBenito 02bcb8
## <summary>
Chris PeBenito 02bcb8
##	Execute a domain transition to run semanage.
Chris PeBenito 02bcb8
## </summary>
Chris PeBenito 02bcb8
## <param name="domain">
Chris PeBenito 02bcb8
##	<summary>
Chris PeBenito 02bcb8
##	Domain allowed to transition.
Chris PeBenito 02bcb8
##	</summary>
Chris PeBenito 02bcb8
## </param>
Chris PeBenito 02bcb8
#
Chris PeBenito 02bcb8
interface(`seutil_domtrans_semanage',`
Chris PeBenito 02bcb8
	gen_require(`
Chris PeBenito 02bcb8
		type semanage_t, semanage_exec_t;
Chris PeBenito 02bcb8
	')
Chris PeBenito 02bcb8
Chris PeBenito 02bcb8
	files_search_usr($1)
Chris PeBenito 02bcb8
	corecmd_search_bin($1)
Chris PeBenito 02bcb8
	domain_auto_trans($1,semanage_exec_t,semanage_t)
Chris PeBenito 02bcb8
Chris PeBenito 02bcb8
	allow $1 semanage_t:fd use;
Chris PeBenito 02bcb8
	allow semanage_t $1:fd use;
Chris PeBenito 02bcb8
	allow semanage_t $1:fifo_file rw_file_perms;
Chris PeBenito 02bcb8
	allow semanage_t $1:process sigchld;
Chris PeBenito 02bcb8
')
Chris PeBenito 02bcb8
Chris PeBenito 02bcb8
########################################
Chris PeBenito 02bcb8
## <summary>
Chris PeBenito 02bcb8
##	Execute semanage in the semanage domain, and
Chris PeBenito 02bcb8
##	allow the specified role the semanage domain,
Chris PeBenito 02bcb8
##	and use the caller's terminal.
Chris PeBenito 02bcb8
## </summary>
Chris PeBenito 02bcb8
## <param name="domain">
Chris PeBenito 02bcb8
##	<summary>
Chris PeBenito ac9db9
##	Domain allowed access.
Chris PeBenito 02bcb8
##	</summary>
Chris PeBenito 02bcb8
## </param>
Chris PeBenito 02bcb8
## <param name="role">
Chris PeBenito 02bcb8
##	<summary>
Chris PeBenito 02bcb8
##	The role to be allowed the checkpolicy domain.
Chris PeBenito 02bcb8
##	</summary>
Chris PeBenito 02bcb8
## </param>
Chris PeBenito 02bcb8
## <param name="terminal">
Chris PeBenito 02bcb8
##	<summary>
Chris PeBenito 02bcb8
##	The type of the terminal allow the semanage domain to use.
Chris PeBenito 02bcb8
##	</summary>
Chris PeBenito 02bcb8
## </param>
Chris PeBenito 02bcb8
#
Chris PeBenito 02bcb8
interface(`seutil_run_semanage',`
Chris PeBenito 02bcb8
	gen_require(`
Chris PeBenito 02bcb8
		type semanage_t;
Chris PeBenito 02bcb8
	')
Chris PeBenito 02bcb8
Chris PeBenito 02bcb8
	seutil_domtrans_semanage($1)
Chris PeBenito 02bcb8
	role $2 types semanage_t;
Chris PeBenito 02bcb8
	allow semanage_t $3:chr_file rw_term_perms;
Chris PeBenito 02bcb8
')
Chris PeBenito 02bcb8
Chris PeBenito 02bcb8
########################################
Chris PeBenito 02bcb8
## <summary>
Chris PeBenito 02bcb8
##	Full management of the semanage
Chris PeBenito 02bcb8
##	module store.
Chris PeBenito 02bcb8
## </summary>
Chris PeBenito 02bcb8
## <param name="domain">
Chris PeBenito 02bcb8
##	<summary>
Chris PeBenito 02bcb8
##	Domain allowed access.
Chris PeBenito 02bcb8
##	</summary>
Chris PeBenito 02bcb8
## </param>
Chris PeBenito 02bcb8
#
Chris PeBenito 02bcb8
interface(`seutil_manage_module_store',`
Chris PeBenito 02bcb8
	gen_require(`
Chris PeBenito 02bcb8
		type selinux_config_t, semanage_store_t;
Chris PeBenito 02bcb8
	')
Chris PeBenito 02bcb8
Chris PeBenito 02bcb8
	files_search_etc($1)
Chris PeBenito 02bcb8
	allow $1 selinux_config_t:dir rw_dir_perms;
Chris PeBenito 02bcb8
	type_transition $1 selinux_config_t:dir semanage_store_t;
Chris PeBenito 02bcb8
Chris PeBenito 02bcb8
	allow $1 semanage_store_t:dir create_dir_perms;
Chris PeBenito 02bcb8
	allow $1 semanage_store_t:file create_file_perms;
Chris PeBenito 02bcb8
')
Chris PeBenito 02bcb8
Chris PeBenito 02bcb8
#######################################
Chris PeBenito 02bcb8
## <summary>
Chris PeBenito 02bcb8
##	Get read lock on module store
Chris PeBenito 02bcb8
## </summary>
Chris PeBenito 02bcb8
## <param name="domain">
Chris PeBenito 02bcb8
##	<summary>
Chris PeBenito ac9db9
##	Domain allowed access.
Chris PeBenito 02bcb8
##	</summary>
Chris PeBenito 02bcb8
## </param>
Chris PeBenito 02bcb8
#
Chris PeBenito 02bcb8
interface(`seutil_get_semanage_read_lock',`
Chris PeBenito 02bcb8
	gen_require(`
Chris PeBenito 02bcb8
		type selinux_config_t, semanage_read_lock_t;
Chris PeBenito 02bcb8
	')
Chris PeBenito 02bcb8
Chris PeBenito 02bcb8
	files_search_etc($1)
Chris PeBenito 02bcb8
	allow $1 selinux_config_t:dir search_dir_perms;
Chris PeBenito 02bcb8
	allow $1 semanage_read_lock_t:file rw_file_perms;
Chris PeBenito 02bcb8
')
Chris PeBenito 02bcb8
Chris PeBenito 02bcb8
#######################################
Chris PeBenito 02bcb8
## <summary>
Chris PeBenito 02bcb8
##	Get trans lock on module store
Chris PeBenito 02bcb8
## </summary>
Chris PeBenito 02bcb8
## <param name="domain">
Chris PeBenito 02bcb8
##	<summary>
Chris PeBenito ac9db9
##	Domain allowed access.
Chris PeBenito 02bcb8
##	</summary>
Chris PeBenito 02bcb8
## </param>
Chris PeBenito 02bcb8
#
Chris PeBenito 02bcb8
interface(`seutil_get_semanage_trans_lock',`
Chris PeBenito 02bcb8
	gen_require(`
Chris PeBenito 02bcb8
		type selinux_config_t, semanage_trans_lock_t;
Chris PeBenito 02bcb8
	')
Chris PeBenito 02bcb8
Chris PeBenito 02bcb8
	files_search_etc($1)
Chris PeBenito 02bcb8
	allow $1 selinux_config_t:dir search_dir_perms;
Chris PeBenito 02bcb8
	allow $1 semanage_trans_lock_t:file rw_file_perms;
Chris PeBenito 02bcb8
')