Chris PeBenito 17de1b7
## <summary>Policy for SELinux policy and userland applications.</summary>
Chris PeBenito 17de1b7
Chris PeBenito 17de1b7
#######################################
Chris PeBenito 17de1b7
## <summary>
Chris PeBenito 17de1b7
##	Execute checkpolicy in the checkpolicy domain.
Chris PeBenito 17de1b7
## </summary>
Chris PeBenito 17de1b7
## <param name="domain">
Chris PeBenito 17de1b7
##	<summary>
Chris PeBenito 17de1b7
##	Domain allowed access.
Chris PeBenito 17de1b7
##	</summary>
Chris PeBenito 17de1b7
## </param>
Chris PeBenito 17de1b7
#
Chris PeBenito 17de1b7
interface(`seutil_domtrans_checkpolicy',`
Chris PeBenito 17de1b7
	gen_require(`
Chris PeBenito 17de1b7
		type checkpolicy_t, checkpolicy_exec_t;
Chris PeBenito 17de1b7
	')
Chris PeBenito 17de1b7
Chris PeBenito 17de1b7
	files_search_usr($1)
Chris PeBenito 17de1b7
	corecmd_search_bin($1)
Chris PeBenito c0868a7
	domtrans_pattern($1,checkpolicy_exec_t,checkpolicy_t)
Chris PeBenito 17de1b7
')
Chris PeBenito 17de1b7
Chris PeBenito 17de1b7
########################################
Chris PeBenito 17de1b7
## <summary>
Chris PeBenito 17de1b7
##	Execute checkpolicy in the checkpolicy domain, and
Chris PeBenito 17de1b7
##	allow the specified role the checkpolicy domain,
Chris PeBenito 17de1b7
##	and use the caller's terminal.
Chris PeBenito 17de1b7
## </summary>
Chris PeBenito 17de1b7
## <param name="domain">
Chris PeBenito 17de1b7
##	<summary>
Chris PeBenito 17de1b7
##	Domain allowed access.
Chris PeBenito 17de1b7
##	</summary>
Chris PeBenito 17de1b7
## </param>
Chris PeBenito 17de1b7
## <param name="role">
Chris PeBenito 17de1b7
##	<summary>
Chris PeBenito 17de1b7
##	The role to be allowed the checkpolicy domain.
Chris PeBenito 17de1b7
##	</summary>
Chris PeBenito 17de1b7
## </param>
Chris PeBenito bbcd3c9
## <rolecap/>
Chris PeBenito 17de1b7
#
Chris PeBenito 17de1b7
interface(`seutil_run_checkpolicy',`
Chris PeBenito 17de1b7
	gen_require(`
Chris PeBenito 17de1b7
		type checkpolicy_t;
Chris PeBenito 17de1b7
	')
Chris PeBenito 17de1b7
Chris PeBenito 17de1b7
	seutil_domtrans_checkpolicy($1)
Chris PeBenito 17de1b7
	role $2 types checkpolicy_t;
Chris PeBenito 17de1b7
')
Chris PeBenito 17de1b7
Chris PeBenito 17de1b7
########################################
Chris PeBenito 17de1b7
## <summary>
Chris PeBenito 17de1b7
##	Execute checkpolicy in the caller domain.
Chris PeBenito 17de1b7
## </summary>
Chris PeBenito 17de1b7
## <param name="domain">
Chris PeBenito 17de1b7
##	<summary>
Chris PeBenito 17de1b7
##	Domain allowed access.
Chris PeBenito 17de1b7
##	</summary>
Chris PeBenito 17de1b7
## </param>
Chris PeBenito bbcd3c9
## <rolecap/>
Chris PeBenito 17de1b7
#
Chris PeBenito 17de1b7
interface(`seutil_exec_checkpolicy',`
Chris PeBenito 17de1b7
	gen_require(`
Chris PeBenito 17de1b7
		type checkpolicy_exec_t;
Chris PeBenito 17de1b7
	')
Chris PeBenito 17de1b7
Chris PeBenito 17de1b7
	files_search_usr($1)
Chris PeBenito 17de1b7
	corecmd_search_bin($1)
Chris PeBenito 17de1b7
	can_exec($1,checkpolicy_exec_t)
Chris PeBenito 17de1b7
')
Chris PeBenito 17de1b7
Chris PeBenito 17de1b7
#######################################
Chris PeBenito 17de1b7
## <summary>
Chris PeBenito 17de1b7
##	Execute load_policy in the load_policy domain.
Chris PeBenito 17de1b7
## </summary>
Chris PeBenito 17de1b7
## <param name="domain">
Chris PeBenito 17de1b7
##	<summary>
Chris PeBenito 17de1b7
##	Domain allowed access.
Chris PeBenito 17de1b7
##	</summary>
Chris PeBenito 17de1b7
## </param>
Chris PeBenito 17de1b7
#
Chris PeBenito 17de1b7
interface(`seutil_domtrans_loadpolicy',`
Chris PeBenito 17de1b7
	gen_require(`
Chris PeBenito 17de1b7
		type load_policy_t, load_policy_exec_t;
Chris PeBenito 17de1b7
	')
Chris PeBenito 17de1b7
Chris PeBenito 8021cb4
	corecmd_search_bin($1)
Chris PeBenito c0868a7
	domtrans_pattern($1,load_policy_exec_t,load_policy_t)
Chris PeBenito 17de1b7
')
Chris PeBenito 17de1b7
Chris PeBenito 17de1b7
########################################
Chris PeBenito 17de1b7
## <summary>
Chris PeBenito 17de1b7
##	Execute load_policy in the load_policy domain, and
Chris PeBenito 17de1b7
##	allow the specified role the load_policy domain,
Chris PeBenito 17de1b7
##	and use the caller's terminal.
Chris PeBenito 17de1b7
## </summary>
Chris PeBenito 17de1b7
## <param name="domain">
Chris PeBenito 17de1b7
##	<summary>
Chris PeBenito 17de1b7
##	Domain allowed access.
Chris PeBenito 17de1b7
##	</summary>
Chris PeBenito 17de1b7
## </param>
Chris PeBenito 17de1b7
## <param name="role">
Chris PeBenito 17de1b7
##	<summary>
Chris PeBenito 17de1b7
##	The role to be allowed the load_policy domain.
Chris PeBenito 17de1b7
##	</summary>
Chris PeBenito 17de1b7
## </param>
Chris PeBenito bbcd3c9
## <rolecap/>
Chris PeBenito 17de1b7
#
Chris PeBenito 17de1b7
interface(`seutil_run_loadpolicy',`
Chris PeBenito 17de1b7
	gen_require(`
Chris PeBenito 17de1b7
		type load_policy_t;
Chris PeBenito 17de1b7
	')
Chris PeBenito 17de1b7
Chris PeBenito 17de1b7
	seutil_domtrans_loadpolicy($1)
Chris PeBenito 17de1b7
	role $2 types load_policy_t;
Chris PeBenito 17de1b7
')
Chris PeBenito 17de1b7
Chris PeBenito 17de1b7
########################################
Chris PeBenito 17de1b7
## <summary>
Chris PeBenito 17de1b7
##	Execute load_policy in the caller domain.
Chris PeBenito 17de1b7
## </summary>
Chris PeBenito 17de1b7
## <param name="domain">
Chris PeBenito 17de1b7
##	<summary>
Chris PeBenito 17de1b7
##	Domain allowed access.
Chris PeBenito 17de1b7
##	</summary>
Chris PeBenito 17de1b7
## </param>
Chris PeBenito 17de1b7
#
Chris PeBenito 17de1b7
interface(`seutil_exec_loadpolicy',`
Chris PeBenito 17de1b7
	gen_require(`
Chris PeBenito 17de1b7
		type load_policy_exec_t;
Chris PeBenito 17de1b7
	')
Chris PeBenito 17de1b7
Chris PeBenito 8021cb4
	corecmd_search_bin($1)
Chris PeBenito 17de1b7
	can_exec($1,load_policy_exec_t)
Chris PeBenito 17de1b7
')
Chris PeBenito 17de1b7
Chris PeBenito 17de1b7
########################################
Chris PeBenito 17de1b7
## <summary>
Chris PeBenito 17de1b7
##	Read the load_policy program file.
Chris PeBenito 17de1b7
## </summary>
Chris PeBenito 17de1b7
## <param name="domain">
Chris PeBenito 17de1b7
##	<summary>
Chris PeBenito 17de1b7
##	Domain allowed access.
Chris PeBenito 17de1b7
##	</summary>
Chris PeBenito 17de1b7
## </param>
Chris PeBenito 17de1b7
#
Chris PeBenito 17de1b7
interface(`seutil_read_loadpolicy',`
Chris PeBenito 17de1b7
	gen_require(`
Chris PeBenito 17de1b7
		type load_policy_exec_t;
Chris PeBenito 17de1b7
	')
Chris PeBenito 17de1b7
Chris PeBenito 8021cb4
	corecmd_search_bin($1)
Chris PeBenito c0868a7
	allow $1 load_policy_exec_t:file read_file_perms;
Chris PeBenito 17de1b7
')
Chris PeBenito 17de1b7
Chris PeBenito 17de1b7
#######################################
Chris PeBenito 17de1b7
## <summary>
Chris PeBenito 296273a
##	Execute newrole in the newole domain.
Chris PeBenito 17de1b7
## </summary>
Chris PeBenito 17de1b7
## <param name="domain">
Chris PeBenito 17de1b7
##	<summary>
Chris PeBenito 17de1b7
##	Domain allowed access.
Chris PeBenito 17de1b7
##	</summary>
Chris PeBenito 17de1b7
## </param>
Chris PeBenito 17de1b7
#
Chris PeBenito 17de1b7
interface(`seutil_domtrans_newrole',`
Chris PeBenito 17de1b7
	gen_require(`
Chris PeBenito 17de1b7
		type newrole_t, newrole_exec_t;
Chris PeBenito 17de1b7
	')
Chris PeBenito 17de1b7
Chris PeBenito 17de1b7
	files_search_usr($1)
Chris PeBenito 17de1b7
	corecmd_search_bin($1)
Chris PeBenito c0868a7
	domtrans_pattern($1,newrole_exec_t,newrole_t)
Chris PeBenito 17de1b7
')
Chris PeBenito 17de1b7
Chris PeBenito 17de1b7
########################################
Chris PeBenito 17de1b7
## <summary>
Chris PeBenito 17de1b7
##	Execute newrole in the newrole domain, and
Chris PeBenito 17de1b7
##	allow the specified role the newrole domain,
Chris PeBenito 17de1b7
##	and use the caller's terminal.
Chris PeBenito 17de1b7
## </summary>
Chris PeBenito 17de1b7
## <param name="domain">
Chris PeBenito 17de1b7
##	<summary>
Chris PeBenito 17de1b7
##	Domain allowed access.
Chris PeBenito 17de1b7
##	</summary>
Chris PeBenito 17de1b7
## </param>
Chris PeBenito 17de1b7
## <param name="role">
Chris PeBenito 17de1b7
##	<summary>
Chris PeBenito 17de1b7
##	The role to be allowed the newrole domain.
Chris PeBenito 17de1b7
##	</summary>
Chris PeBenito 17de1b7
## </param>
Chris PeBenito bbcd3c9
## <rolecap/>
Chris PeBenito 17de1b7
#
Chris PeBenito 17de1b7
interface(`seutil_run_newrole',`
Chris PeBenito 17de1b7
	gen_require(`
Chris PeBenito 17de1b7
		type newrole_t;
Chris PeBenito 17de1b7
	')
Chris PeBenito 17de1b7
Chris PeBenito 17de1b7
	seutil_domtrans_newrole($1)
Chris PeBenito 17de1b7
	role $2 types newrole_t;
Chris PeBenito c2b87f2
Chris PeBenito 296273a
	auth_run_upd_passwd(newrole_t, $2)
Chris PeBenito 17de1b7
')
Chris PeBenito 17de1b7
Chris PeBenito 17de1b7
########################################
Chris PeBenito 17de1b7
## <summary>
Chris PeBenito 17de1b7
##	Execute newrole in the caller domain.
Chris PeBenito 17de1b7
## </summary>
Chris PeBenito 17de1b7
## <param name="domain">
Chris PeBenito 17de1b7
##	<summary>
Chris PeBenito 17de1b7
##	Domain allowed access.
Chris PeBenito 17de1b7
##	</summary>
Chris PeBenito 17de1b7
## </param>
Chris PeBenito 17de1b7
#
Chris PeBenito 17de1b7
interface(`seutil_exec_newrole',`
Chris PeBenito 17de1b7
	gen_require(`
Chris PeBenito 17de1b7
		type newrole_t, newrole_exec_t;
Chris PeBenito 17de1b7
	')
Chris PeBenito 17de1b7
Chris PeBenito 17de1b7
	files_search_usr($1)
Chris PeBenito 17de1b7
	corecmd_search_bin($1)
Chris PeBenito 17de1b7
	can_exec($1,newrole_exec_t)
Chris PeBenito 17de1b7
')
Chris PeBenito 17de1b7
Chris PeBenito 17de1b7
########################################
Chris PeBenito 17de1b7
## <summary>
Chris PeBenito 17de1b7
##	Do not audit the caller attempts to send
Chris PeBenito 17de1b7
##	a signal to newrole.
Chris PeBenito 17de1b7
## </summary>
Chris PeBenito 17de1b7
## <param name="domain">
Chris PeBenito 17de1b7
##	<summary>
Chris PeBenito 17de1b7
##	Domain allowed access.
Chris PeBenito 17de1b7
##	</summary>
Chris PeBenito 17de1b7
## </param>
Chris PeBenito 17de1b7
#
Chris PeBenito 17de1b7
interface(`seutil_dontaudit_signal_newrole',`
Chris PeBenito 17de1b7
	gen_require(`
Chris PeBenito 17de1b7
		type newrole_t;
Chris PeBenito 17de1b7
	')
Chris PeBenito 17de1b7
Chris PeBenito 17de1b7
	dontaudit $1 newrole_t:process signal;
Chris PeBenito 17de1b7
')
Chris PeBenito 17de1b7
Chris PeBenito 17de1b7
########################################
Chris PeBenito 17de1b7
## <summary>
Chris PeBenito 17de1b7
##	Send a SIGCHLD signal to newrole.
Chris PeBenito 17de1b7
## </summary>
Chris PeBenito 17de1b7
## <param name="domain">
Chris PeBenito 17de1b7
##	<summary>
Chris PeBenito 17de1b7
##	Domain allowed access.
Chris PeBenito 17de1b7
##	</summary>
Chris PeBenito 17de1b7
## </param>
Chris PeBenito 17de1b7
#
Chris PeBenito 17de1b7
interface(`seutil_sigchld_newrole',`
Chris PeBenito 17de1b7
	gen_require(`
Chris PeBenito 17de1b7
		type newrole_t;
Chris PeBenito 17de1b7
	')
Chris PeBenito 17de1b7
Chris PeBenito 17de1b7
	allow $1 newrole_t:process sigchld;
Chris PeBenito 17de1b7
')
Chris PeBenito 17de1b7
Chris PeBenito 17de1b7
########################################
Chris PeBenito 17de1b7
## <summary>
Chris PeBenito 17de1b7
##	Inherit and use newrole file descriptors.
Chris PeBenito 17de1b7
## </summary>
Chris PeBenito 17de1b7
## <param name="domain">
Chris PeBenito 17de1b7
##	<summary>
Chris PeBenito 17de1b7
##	Domain allowed access.
Chris PeBenito 17de1b7
##	</summary>
Chris PeBenito 17de1b7
## </param>
Chris PeBenito 17de1b7
#
Chris PeBenito 17de1b7
interface(`seutil_use_newrole_fds',`
Chris PeBenito 17de1b7
	gen_require(`
Chris PeBenito 17de1b7
		type newrole_t;
Chris PeBenito 17de1b7
	')
Chris PeBenito 17de1b7
Chris PeBenito 17de1b7
	allow $1 newrole_t:fd use;
Chris PeBenito 17de1b7
')
Chris PeBenito 17de1b7
Chris PeBenito 296273a
########################################
Chris PeBenito 296273a
## <summary>
Chris PeBenito 296273a
##	Do not audit attempts to inherit and use
Chris PeBenito 296273a
##	newrole file descriptors.
Chris PeBenito 296273a
## </summary>
Chris PeBenito 296273a
## <param name="domain">
Chris PeBenito 296273a
##	<summary>
Chris PeBenito 296273a
##	Domain to not audit.
Chris PeBenito 296273a
##	</summary>
Chris PeBenito 296273a
## </param>
Chris PeBenito 296273a
#
Chris PeBenito 296273a
interface(`seutil_dontaudit_use_newrole_fds',`
Chris PeBenito 296273a
	gen_require(`
Chris PeBenito 296273a
		type newrole_t;
Chris PeBenito 296273a
	')
Chris PeBenito 296273a
Chris PeBenito 296273a
	dontaudit $1 newrole_t:fd use;
Chris PeBenito 296273a
')
Chris PeBenito 296273a
Chris PeBenito 17de1b7
#######################################
Chris PeBenito 17de1b7
## <summary>
Chris PeBenito 762d2cb
##	Execute restorecon in the restorecon domain.  (Deprecated)
Chris PeBenito 17de1b7
## </summary>
Chris PeBenito 17de1b7
## <param name="domain">
Chris PeBenito 17de1b7
##	<summary>
Chris PeBenito 17de1b7
##	Domain allowed access.
Chris PeBenito 17de1b7
##	</summary>
Chris PeBenito 17de1b7
## </param>
Chris PeBenito 17de1b7
#
Chris PeBenito 17de1b7
interface(`seutil_domtrans_restorecon',`
Chris PeBenito 762d2cb
	refpolicywarn(`$0($*) has been deprecated, please use seutil_domtrans_setfiles() instead.')
Chris PeBenito 762d2cb
	seutil_domtrans_setfiles($1)
Chris PeBenito 17de1b7
')
Chris PeBenito 17de1b7
Chris PeBenito 17de1b7
########################################
Chris PeBenito 17de1b7
## <summary>
Chris PeBenito 17de1b7
##	Execute restorecon in the restorecon domain, and
Chris PeBenito 17de1b7
##	allow the specified role the restorecon domain,
Chris PeBenito 762d2cb
##	and use the caller's terminal.  (Deprecated)
Chris PeBenito 17de1b7
## </summary>
Chris PeBenito 17de1b7
## <param name="domain">
Chris PeBenito 17de1b7
##	<summary>
Chris PeBenito 17de1b7
##	Domain allowed access.
Chris PeBenito 17de1b7
##	</summary>
Chris PeBenito 17de1b7
## </param>
Chris PeBenito 17de1b7
## <param name="role">
Chris PeBenito 17de1b7
##	<summary>
Chris PeBenito 17de1b7
##	The role to be allowed the restorecon domain.
Chris PeBenito 17de1b7
##	</summary>
Chris PeBenito 17de1b7
## </param>
Chris PeBenito bbcd3c9
## <rolecap/>
Chris PeBenito 17de1b7
#
Chris PeBenito 17de1b7
interface(`seutil_run_restorecon',`
Chris PeBenito 762d2cb
	refpolicywarn(`$0($*) has been deprecated, please use seutil_run_setfiles() instead.')
Chris PeBenito 296273a
	seutil_run_setfiles($1,$2)
Chris PeBenito 17de1b7
')
Chris PeBenito 17de1b7
Chris PeBenito 17de1b7
########################################
Chris PeBenito 17de1b7
## <summary>
Chris PeBenito 762d2cb
##	Execute restorecon in the caller domain.  (Deprecated)
Chris PeBenito 17de1b7
## </summary>
Chris PeBenito 17de1b7
## <param name="domain">
Chris PeBenito 17de1b7
##	<summary>
Chris PeBenito 17de1b7
##	Domain allowed access.
Chris PeBenito 17de1b7
##	</summary>
Chris PeBenito 17de1b7
## </param>
Chris PeBenito bbcd3c9
## <rolecap/>
Chris PeBenito 17de1b7
#
Chris PeBenito 17de1b7
interface(`seutil_exec_restorecon',`
Chris PeBenito 762d2cb
	refpolicywarn(`$0($*) has been deprecated, please use seutil_exec_setfiles() instead.')
Chris PeBenito 762d2cb
	seutil_exec_setfiles($1)
Chris PeBenito 17de1b7
')
Chris PeBenito 17de1b7
Chris PeBenito 17de1b7
########################################
Chris PeBenito 17de1b7
## <summary>
Chris PeBenito 17de1b7
##	Execute run_init in the run_init domain.
Chris PeBenito 17de1b7
## </summary>
Chris PeBenito 17de1b7
## <param name="domain">
Chris PeBenito 17de1b7
##	<summary>
Chris PeBenito 17de1b7
##	Domain allowed access.
Chris PeBenito 17de1b7
##	</summary>
Chris PeBenito 17de1b7
## </param>
Chris PeBenito 17de1b7
#
Chris PeBenito 17de1b7
interface(`seutil_domtrans_runinit',`
Chris PeBenito 17de1b7
	gen_require(`
Chris PeBenito 17de1b7
		type run_init_t, run_init_exec_t;
Chris PeBenito 17de1b7
	')
Chris PeBenito 17de1b7
Chris PeBenito 17de1b7
	files_search_usr($1)
Chris PeBenito 8021cb4
	corecmd_search_bin($1)
Chris PeBenito c0868a7
	domtrans_pattern($1,run_init_exec_t,run_init_t)
Chris PeBenito 17de1b7
')
Chris PeBenito 17de1b7
Chris PeBenito 17de1b7
########################################
Chris PeBenito 17de1b7
## <summary>
Chris PeBenito 17de1b7
##	Execute init scripts in the run_init domain.
Chris PeBenito 17de1b7
## </summary>
Chris PeBenito 17de1b7
## <desc>
Chris PeBenito 17de1b7
##	

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

Chris PeBenito 17de1b7
## </desc>
Chris PeBenito 17de1b7
## <param name="domain">
Chris PeBenito 17de1b7
##	<summary>
Chris PeBenito 17de1b7
##	Domain allowed access.
Chris PeBenito 17de1b7
##	</summary>
Chris PeBenito 17de1b7
## </param>
Chris PeBenito 17de1b7
#
Chris PeBenito 17de1b7
interface(`seutil_init_script_domtrans_runinit',`
Chris PeBenito 17de1b7
	gen_require(`
Chris PeBenito 17de1b7
		type run_init_t;
Chris PeBenito 17de1b7
	')
Chris PeBenito 17de1b7
Chris PeBenito 17de1b7
	init_script_file_domtrans($1,run_init_t)
Chris PeBenito 17de1b7
Chris PeBenito 17de1b7
	allow run_init_t $1:fd use;
Chris PeBenito 17de1b7
	allow run_init_t $1:fifo_file rw_file_perms;
Chris PeBenito 17de1b7
	allow run_init_t $1:process sigchld;
Chris PeBenito 17de1b7
')
Chris PeBenito 17de1b7
Chris PeBenito 17de1b7
########################################
Chris PeBenito 17de1b7
## <summary>
Chris PeBenito 17de1b7
##	Execute run_init in the run_init domain, and
Chris PeBenito 17de1b7
##	allow the specified role the run_init domain,
Chris PeBenito 17de1b7
##	and use the caller's terminal.
Chris PeBenito 17de1b7
## </summary>
Chris PeBenito 17de1b7
## <param name="domain">
Chris PeBenito 17de1b7
##	<summary>
Chris PeBenito 17de1b7
##	Domain allowed access.
Chris PeBenito 17de1b7
##	</summary>
Chris PeBenito 17de1b7
## </param>
Chris PeBenito 17de1b7
## <param name="role">
Chris PeBenito 17de1b7
##	<summary>
Chris PeBenito 17de1b7
##	The role to be allowed the run_init domain.
Chris PeBenito 17de1b7
##	</summary>
Chris PeBenito 17de1b7
## </param>
Chris PeBenito bbcd3c9
## <rolecap/>
Chris PeBenito 17de1b7
#
Chris PeBenito 17de1b7
interface(`seutil_run_runinit',`
Chris PeBenito 17de1b7
	gen_require(`
Chris PeBenito 17de1b7
		type run_init_t;
Chris PeBenito 17de1b7
		role system_r;
Chris PeBenito 17de1b7
	')
Chris PeBenito 17de1b7
Chris PeBenito 296273a
	auth_run_chk_passwd(run_init_t, $2)
Chris PeBenito 17de1b7
	seutil_domtrans_runinit($1)
Chris PeBenito 17de1b7
	role $2 types run_init_t;
Chris PeBenito 296273a
Chris PeBenito 17de1b7
	allow $2 system_r;
Chris PeBenito 17de1b7
')
Chris PeBenito 17de1b7
Chris PeBenito 17de1b7
########################################
Chris PeBenito 17de1b7
## <summary>
Chris PeBenito 17de1b7
##	Execute init scripts in the run_init domain, and
Chris PeBenito 17de1b7
##	allow the specified role the run_init domain,
Chris PeBenito 17de1b7
##	and use the caller's terminal.
Chris PeBenito 17de1b7
## </summary>
Chris PeBenito 17de1b7
## <desc>
Chris PeBenito 17de1b7
##	

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

Chris PeBenito 17de1b7
##	

Chris PeBenito 17de1b7
##	This is used for the Gentoo integrated run_init.
Chris PeBenito 17de1b7
##	

Chris PeBenito 17de1b7
## </desc>
Chris PeBenito 17de1b7
## <param name="domain">
Chris PeBenito 17de1b7
##	<summary>
Chris PeBenito 17de1b7
##	Domain allowed access.
Chris PeBenito 17de1b7
##	</summary>
Chris PeBenito 17de1b7
## </param>
Chris PeBenito 17de1b7
## <param name="role">
Chris PeBenito 17de1b7
##	<summary>
Chris PeBenito 17de1b7
##	The role to be allowed the run_init domain.
Chris PeBenito 17de1b7
##	</summary>
Chris PeBenito 17de1b7
## </param>
Chris PeBenito 17de1b7
#
Chris PeBenito 17de1b7
interface(`seutil_init_script_run_runinit',`
Chris PeBenito 17de1b7
	gen_require(`
Chris PeBenito 17de1b7
		type run_init_t;
Chris PeBenito 17de1b7
		role system_r;
Chris PeBenito 17de1b7
	')
Chris PeBenito 17de1b7
Chris PeBenito 296273a
	auth_run_chk_passwd(run_init_t, $2)
Chris PeBenito 17de1b7
	seutil_init_script_domtrans_runinit($1)
Chris PeBenito 17de1b7
	role $2 types run_init_t;
Chris PeBenito 296273a
Chris PeBenito 17de1b7
	allow $2 system_r;
Chris PeBenito 17de1b7
')
Chris PeBenito 17de1b7
Chris PeBenito 17de1b7
########################################
Chris PeBenito 17de1b7
## <summary>
Chris PeBenito 17de1b7
##	Inherit and use run_init file descriptors.
Chris PeBenito 17de1b7
## </summary>
Chris PeBenito 17de1b7
## <param name="domain">
Chris PeBenito 17de1b7
##	<summary>
Chris PeBenito 17de1b7
##	Domain allowed access.
Chris PeBenito 17de1b7
##	</summary>
Chris PeBenito 17de1b7
## </param>
Chris PeBenito 17de1b7
#
Chris PeBenito 17de1b7
interface(`seutil_use_runinit_fds',`
Chris PeBenito 17de1b7
	gen_require(`
Chris PeBenito 17de1b7
		type run_init_t;
Chris PeBenito 17de1b7
	')
Chris PeBenito 17de1b7
Chris PeBenito 17de1b7
	allow $1 run_init_t:fd use;
Chris PeBenito 17de1b7
')
Chris PeBenito 17de1b7
Chris PeBenito 17de1b7
########################################
Chris PeBenito 17de1b7
## <summary>
Chris PeBenito 17de1b7
##	Execute setfiles in the setfiles domain.
Chris PeBenito 17de1b7
## </summary>
Chris PeBenito 17de1b7
## <param name="domain">
Chris PeBenito 17de1b7
##	<summary>
Chris PeBenito 17de1b7
##	Domain allowed access.
Chris PeBenito 17de1b7
##	</summary>
Chris PeBenito 17de1b7
## </param>
Chris PeBenito 17de1b7
#
Chris PeBenito 17de1b7
interface(`seutil_domtrans_setfiles',`
Chris PeBenito 17de1b7
	gen_require(`
Chris PeBenito 17de1b7
		type setfiles_t, setfiles_exec_t;
Chris PeBenito 17de1b7
	')
Chris PeBenito 17de1b7
Chris PeBenito 17de1b7
	files_search_usr($1)
Chris PeBenito 8021cb4
	corecmd_search_bin($1)
Chris PeBenito c0868a7
	domtrans_pattern($1,setfiles_exec_t,setfiles_t)
Chris PeBenito 17de1b7
')
Chris PeBenito 17de1b7
Chris PeBenito 17de1b7
########################################
Chris PeBenito 17de1b7
## <summary>
Chris PeBenito 17de1b7
##	Execute setfiles in the setfiles domain, and
Chris PeBenito 17de1b7
##	allow the specified role the setfiles domain,
Chris PeBenito 17de1b7
##	and use the caller's terminal.
Chris PeBenito 17de1b7
## </summary>
Chris PeBenito 17de1b7
## <param name="domain">
Chris PeBenito 17de1b7
##	<summary>
Chris PeBenito 17de1b7
##	Domain allowed access.
Chris PeBenito 17de1b7
##	</summary>
Chris PeBenito 17de1b7
## </param>
Chris PeBenito 17de1b7
## <param name="role">
Chris PeBenito 17de1b7
##	<summary>
Chris PeBenito 17de1b7
##	The role to be allowed the setfiles domain.
Chris PeBenito 17de1b7
##	</summary>
Chris PeBenito 17de1b7
## </param>
Chris PeBenito bbcd3c9
## <rolecap/>
Chris PeBenito 17de1b7
#
Chris PeBenito 17de1b7
interface(`seutil_run_setfiles',`
Chris PeBenito 17de1b7
	gen_require(`
Chris PeBenito 17de1b7
		type setfiles_t;
Chris PeBenito 17de1b7
	')
Chris PeBenito 17de1b7
Chris PeBenito 17de1b7
	seutil_domtrans_setfiles($1)
Chris PeBenito 17de1b7
	role $2 types setfiles_t;
Chris PeBenito 17de1b7
')
Chris PeBenito 17de1b7
Chris PeBenito 17de1b7
########################################
Chris PeBenito 17de1b7
## <summary>
Chris PeBenito 17de1b7
##	Execute setfiles in the caller domain.
Chris PeBenito 17de1b7
## </summary>
Chris PeBenito 17de1b7
## <param name="domain">
Chris PeBenito 17de1b7
##	<summary>
Chris PeBenito 17de1b7
##	Domain allowed access.
Chris PeBenito 17de1b7
##	</summary>
Chris PeBenito 17de1b7
## </param>
Chris PeBenito 17de1b7
#
Chris PeBenito 17de1b7
interface(`seutil_exec_setfiles',`
Chris PeBenito 17de1b7
	gen_require(`
Chris PeBenito 17de1b7
		type setfiles_exec_t;
Chris PeBenito 17de1b7
	')
Chris PeBenito 17de1b7
Chris PeBenito 17de1b7
	files_search_usr($1)
Chris PeBenito 8021cb4
	corecmd_search_bin($1)
Chris PeBenito 17de1b7
	can_exec($1,setfiles_exec_t)
Chris PeBenito 17de1b7
')
Chris PeBenito 17de1b7
Chris PeBenito 17de1b7
########################################
Chris PeBenito 17de1b7
## <summary>
Chris PeBenito 17de1b7
##	Do not audit attempts to search the SELinux
Chris PeBenito 17de1b7
##	configuration directory (/etc/selinux).
Chris PeBenito 17de1b7
## </summary>
Chris PeBenito 17de1b7
## <param name="domain">
Chris PeBenito 17de1b7
##	<summary>
Chris PeBenito 17de1b7
##	Domain to not audit.
Chris PeBenito 17de1b7
##	</summary>
Chris PeBenito 17de1b7
## </param>
Chris PeBenito 17de1b7
#
Chris PeBenito 17de1b7
interface(`seutil_dontaudit_search_config',`
Chris PeBenito 17de1b7
	gen_require(`
Chris PeBenito 17de1b7
		type selinux_config_t;
Chris PeBenito 17de1b7
	')
Chris PeBenito 17de1b7
Chris PeBenito 932c353
	dontaudit $1 selinux_config_t:dir search_dir_perms;
Chris PeBenito 17de1b7
')
Chris PeBenito 17de1b7
Chris PeBenito 17de1b7
########################################
Chris PeBenito 17de1b7
## <summary>
Chris PeBenito 17de1b7
##	Do not audit attempts to read the SELinux
Chris PeBenito 17de1b7
##	userland configuration (/etc/selinux).
Chris PeBenito 17de1b7
## </summary>
Chris PeBenito 17de1b7
## <param name="domain">
Chris PeBenito 17de1b7
##	<summary>
Chris PeBenito 17de1b7
##	Domain to not audit.
Chris PeBenito 17de1b7
##	</summary>
Chris PeBenito 17de1b7
## </param>
Chris PeBenito 17de1b7
#
Chris PeBenito 17de1b7
interface(`seutil_dontaudit_read_config',`
Chris PeBenito 17de1b7
	gen_require(`
Chris PeBenito 17de1b7
		type selinux_config_t;
Chris PeBenito 17de1b7
	')
Chris PeBenito 17de1b7
Chris PeBenito 932c353
	dontaudit $1 selinux_config_t:dir search_dir_perms;
Chris PeBenito 932c353
	dontaudit $1 selinux_config_t:file read_file_perms;
Chris PeBenito 17de1b7
')
Chris PeBenito 17de1b7
Chris PeBenito 17de1b7
########################################
Chris PeBenito 17de1b7
## <summary>
Chris PeBenito 17de1b7
##	Read the general SELinux configuration files.
Chris PeBenito 17de1b7
## </summary>
Chris PeBenito 17de1b7
## <param name="domain">
Chris PeBenito 17de1b7
##	<summary>
Chris PeBenito 17de1b7
##	Domain allowed access.
Chris PeBenito 17de1b7
##	</summary>
Chris PeBenito 17de1b7
## </param>
Chris PeBenito bbcd3c9
## <rolecap/>
Chris PeBenito 17de1b7
#
Chris PeBenito 17de1b7
interface(`seutil_read_config',`
Chris PeBenito 17de1b7
	gen_require(`
Chris PeBenito 17de1b7
		type selinux_config_t;
Chris PeBenito 17de1b7
	')
Chris PeBenito 17de1b7
Chris PeBenito 17de1b7
	files_search_etc($1)
Chris PeBenito c0868a7
	allow $1 selinux_config_t:dir list_dir_perms;
Chris PeBenito c0868a7
	read_files_pattern($1,selinux_config_t,selinux_config_t)
Chris PeBenito c0868a7
	read_lnk_files_pattern($1,selinux_config_t,selinux_config_t)
Chris PeBenito 17de1b7
')
Chris PeBenito 17de1b7
Chris PeBenito d5ae683
########################################
Chris PeBenito d5ae683
## <summary>
Chris PeBenito d5ae683
##	Read and write the general SELinux configuration files.
Chris PeBenito d5ae683
## </summary>
Chris PeBenito d5ae683
## <param name="domain">
Chris PeBenito d5ae683
##	<summary>
Chris PeBenito d5ae683
##	Domain allowed access.
Chris PeBenito d5ae683
##	</summary>
Chris PeBenito d5ae683
## </param>
Chris PeBenito d5ae683
## <rolecap/>
Chris PeBenito d5ae683
#
Chris PeBenito d5ae683
interface(`seutil_rw_config',`
Chris PeBenito d5ae683
	gen_require(`
Chris PeBenito d5ae683
		type selinux_config_t;
Chris PeBenito d5ae683
	')
Chris PeBenito d5ae683
Chris PeBenito d5ae683
	files_search_etc($1)
Chris PeBenito d5ae683
	allow $1 selinux_config_t:dir list_dir_perms;
Chris PeBenito c0868a7
	rw_files_pattern($1,selinux_config_t,selinux_config_t)
Chris PeBenito d5ae683
')
Chris PeBenito d5ae683
Chris PeBenito 17de1b7
#######################################
Chris PeBenito 17de1b7
## <summary>
Chris PeBenito 17de1b7
##	Create, read, write, and delete
Chris PeBenito 53da70c
##	the general selinux configuration files.  (Deprecated)
Chris PeBenito 17de1b7
## </summary>
Chris PeBenito 53da70c
## <desc>
Chris PeBenito 53da70c
##	

Chris PeBenito 53da70c
##	Create, read, write, and delete
Chris PeBenito 53da70c
##	the general selinux configuration files.
Chris PeBenito 53da70c
##	

Chris PeBenito 53da70c
##	

Chris PeBenito 53da70c
##	This interface has been deprecated, please
Chris PeBenito 53da70c
##	use the seutil_manage_config() interface instead.
Chris PeBenito 53da70c
##	

Chris PeBenito 53da70c
## </desc>
Chris PeBenito 17de1b7
## <param name="domain">
Chris PeBenito 17de1b7
##	<summary>
Chris PeBenito 17de1b7
##	Domain allowed access.
Chris PeBenito 17de1b7
##	</summary>
Chris PeBenito 17de1b7
## </param>
Chris PeBenito bbcd3c9
## <rolecap/>
Chris PeBenito 17de1b7
#
Chris PeBenito 17de1b7
interface(`seutil_manage_selinux_config',`
Chris PeBenito 6073ea1
	refpolicywarn(`$0($*) has been deprecated. Please use seutil_manage_config() instead.')
Chris PeBenito 53da70c
	seutil_manage_config($1)
Chris PeBenito 53da70c
')
Chris PeBenito 53da70c
Chris PeBenito 53da70c
#######################################
Chris PeBenito 53da70c
## <summary>
Chris PeBenito 53da70c
##	Create, read, write, and delete
Chris PeBenito 53da70c
##	the general selinux configuration files.
Chris PeBenito 53da70c
## </summary>
Chris PeBenito 53da70c
## <param name="domain">
Chris PeBenito 53da70c
##	<summary>
Chris PeBenito 53da70c
##	Domain allowed access.
Chris PeBenito 53da70c
##	</summary>
Chris PeBenito 53da70c
## </param>
Chris PeBenito 53da70c
## <rolecap/>
Chris PeBenito 53da70c
#
Chris PeBenito 53da70c
interface(`seutil_manage_config',`
Chris PeBenito 17de1b7
	gen_require(`
Chris PeBenito 17de1b7
		type selinux_config_t;
Chris PeBenito 17de1b7
	')
Chris PeBenito 17de1b7
Chris PeBenito 17de1b7
	files_search_etc($1)
Chris PeBenito c0868a7
	manage_files_pattern($1,selinux_config_t,selinux_config_t)
Chris PeBenito c0868a7
	read_lnk_files_pattern($1,selinux_config_t,selinux_config_t)
Chris PeBenito 17de1b7
')
Chris PeBenito 17de1b7
Chris PeBenito 5824380
#######################################
Chris PeBenito 5824380
## <summary>
Chris PeBenito 5824380
##	Create, read, write, and delete
Chris PeBenito 5824380
##	the general selinux configuration files.
Chris PeBenito 5824380
## </summary>
Chris PeBenito 5824380
## <param name="domain">
Chris PeBenito 5824380
##	<summary>
Chris PeBenito 5824380
##	Domain allowed access.
Chris PeBenito 5824380
##	</summary>
Chris PeBenito 5824380
## </param>
Chris PeBenito 5824380
## <rolecap/>
Chris PeBenito 5824380
#
Chris PeBenito 5824380
interface(`seutil_manage_config_dirs',`
Chris PeBenito 5824380
	gen_require(`
Chris PeBenito 5824380
		type selinux_config_t;
Chris PeBenito 5824380
	')
Chris PeBenito 5824380
Chris PeBenito 5824380
	files_search_etc($1)
Chris PeBenito 5824380
	allow $1 selinux_config_t:dir manage_dir_perms;
Chris PeBenito 5824380
')
Chris PeBenito 5824380
Chris PeBenito 17de1b7
########################################
Chris PeBenito 17de1b7
## <summary>
Chris PeBenito 17de1b7
##	Search the policy directory with default_context files.
Chris PeBenito 17de1b7
## </summary>
Chris PeBenito 17de1b7
## <param name="domain">
Chris PeBenito 17de1b7
##	<summary>
Chris PeBenito 17de1b7
##	Domain allowed access.
Chris PeBenito 17de1b7
##	</summary>
Chris PeBenito 17de1b7
## </param>
Chris PeBenito 17de1b7
#
Chris PeBenito 17de1b7
interface(`seutil_search_default_contexts',`
Chris PeBenito 17de1b7
	gen_require(`
Chris PeBenito 17de1b7
		type selinux_config_t, default_context_t;
Chris PeBenito 17de1b7
	')
Chris PeBenito 17de1b7
Chris PeBenito 17de1b7
	files_search_etc($1)
Chris PeBenito c0868a7
	search_dirs_pattern($1,selinux_config_t,default_context_t)
Chris PeBenito 17de1b7
')
Chris PeBenito 17de1b7
Chris PeBenito 17de1b7
########################################
Chris PeBenito 17de1b7
## <summary>
Chris PeBenito 17de1b7
##	Read the default_contexts files.
Chris PeBenito 17de1b7
## </summary>
Chris PeBenito 17de1b7
## <param name="domain">
Chris PeBenito 17de1b7
##	<summary>
Chris PeBenito 17de1b7
##	Domain allowed access.
Chris PeBenito 17de1b7
##	</summary>
Chris PeBenito 17de1b7
## </param>
Chris PeBenito bbcd3c9
## <rolecap/>
Chris PeBenito 17de1b7
#
Chris PeBenito 17de1b7
interface(`seutil_read_default_contexts',`
Chris PeBenito 17de1b7
	gen_require(`
Chris PeBenito 17de1b7
		type selinux_config_t, default_context_t;
Chris PeBenito 17de1b7
	')
Chris PeBenito 17de1b7
Chris PeBenito 17de1b7
	files_search_etc($1)
Chris PeBenito 4bc6e32
	allow $1 selinux_config_t:dir search_dir_perms;
Chris PeBenito 4bc6e32
	allow $1 default_context_t:dir list_dir_perms;
Chris PeBenito c0868a7
	read_files_pattern($1,default_context_t,default_context_t)
Chris PeBenito 4bc6e32
')
Chris PeBenito 4bc6e32
Chris PeBenito 4bc6e32
########################################
Chris PeBenito 4bc6e32
## <summary>
Chris PeBenito 4bc6e32
##	Create, read, write, and delete the default_contexts files.
Chris PeBenito 4bc6e32
## </summary>
Chris PeBenito 4bc6e32
## <param name="domain">
Chris PeBenito 4bc6e32
##	<summary>
Chris PeBenito 4bc6e32
##	Domain allowed access.
Chris PeBenito 4bc6e32
##	</summary>
Chris PeBenito 4bc6e32
## </param>
Chris PeBenito 4bc6e32
#
Chris PeBenito 4bc6e32
interface(`seutil_manage_default_contexts',`
Chris PeBenito 4bc6e32
	gen_require(`
Chris PeBenito 4bc6e32
		type selinux_config_t, default_context_t;
Chris PeBenito 4bc6e32
	')
Chris PeBenito 4bc6e32
Chris PeBenito 4bc6e32
	files_search_etc($1)
Chris PeBenito 4bc6e32
	allow $1 selinux_config_t:dir search_dir_perms;
Chris PeBenito c0868a7
	manage_files_pattern($1,default_context_t,default_context_t)
Chris PeBenito 17de1b7
')
Chris PeBenito 17de1b7
Chris PeBenito 17de1b7
########################################
Chris PeBenito 17de1b7
## <summary>
Chris PeBenito 17de1b7
##	Read the file_contexts files.
Chris PeBenito 17de1b7
## </summary>
Chris PeBenito 17de1b7
## <param name="domain">
Chris PeBenito 17de1b7
##	<summary>
Chris PeBenito 17de1b7
##	Domain allowed access.
Chris PeBenito 17de1b7
##	</summary>
Chris PeBenito 17de1b7
## </param>
Chris PeBenito bbcd3c9
## <rolecap/>
Chris PeBenito 17de1b7
#
Chris PeBenito 17de1b7
interface(`seutil_read_file_contexts',`
Chris PeBenito 17de1b7
	gen_require(`
Chris PeBenito c0868a7
		type selinux_config_t, default_context_t, file_context_t;
Chris PeBenito 17de1b7
	')
Chris PeBenito 17de1b7
Chris PeBenito 17de1b7
	files_search_etc($1)
Chris PeBenito c0868a7
	allow $1 { selinux_config_t default_context_t }:dir search_dir_perms;
Chris PeBenito c0868a7
	read_files_pattern($1,file_context_t,file_context_t)
Chris PeBenito 17de1b7
')
Chris PeBenito 17de1b7
Chris PeBenito 17de1b7
########################################
Chris PeBenito 17de1b7
## <summary>
Chris PeBenito 04d2861
##	Do not audit attempts to read the file_contexts files.
Chris PeBenito 04d2861
## </summary>
Chris PeBenito 04d2861
## <param name="domain">
Chris PeBenito 04d2861
##	<summary>
Chris PeBenito 04d2861
##	Domain allowed access.
Chris PeBenito 04d2861
##	</summary>
Chris PeBenito 04d2861
## </param>
Chris PeBenito 04d2861
## <rolecap/>
Chris PeBenito 04d2861
#
Chris PeBenito 04d2861
interface(`seutil_dontaudit_read_file_contexts',`
Chris PeBenito 04d2861
	gen_require(`
Chris PeBenito 04d2861
		type selinux_config_t, default_context_t, file_context_t;
Chris PeBenito 04d2861
	')
Chris PeBenito 04d2861
Chris PeBenito 04d2861
	dontaudit $1 { selinux_config_t default_context_t file_context_t }:dir search_dir_perms;
Chris PeBenito 04d2861
	dontaudit $1 file_context_t:file read_file_perms;
Chris PeBenito 04d2861
')
Chris PeBenito 04d2861
Chris PeBenito 04d2861
########################################
Chris PeBenito 04d2861
## <summary>
Chris PeBenito 17de1b7
##	Read and write the file_contexts files.
Chris PeBenito 17de1b7
## </summary>
Chris PeBenito 17de1b7
## <param name="domain">
Chris PeBenito 17de1b7
##	<summary>
Chris PeBenito 17de1b7
##	Domain allowed access.
Chris PeBenito 17de1b7
##	</summary>
Chris PeBenito 17de1b7
## </param>
Chris PeBenito 17de1b7
#
Chris PeBenito 17de1b7
interface(`seutil_rw_file_contexts',`
Chris PeBenito 17de1b7
	gen_require(`
Chris PeBenito 8f3a0a9
		type selinux_config_t, file_context_t, default_context_t;
Chris PeBenito 17de1b7
	')
Chris PeBenito 17de1b7
Chris PeBenito 17de1b7
	files_search_etc($1)
Chris PeBenito c0868a7
	allow $1 { selinux_config_t default_context_t }:dir search_dir_perms;
Chris PeBenito c0868a7
	rw_files_pattern($1,file_context_t,file_context_t)
Chris PeBenito 17de1b7
')
Chris PeBenito 17de1b7
Chris PeBenito 17de1b7
########################################
Chris PeBenito 17de1b7
## <summary>
Chris PeBenito 17de1b7
##	Create, read, write, and delete the file_contexts files.
Chris PeBenito 17de1b7
## </summary>
Chris PeBenito 17de1b7
## <param name="domain">
Chris PeBenito 17de1b7
##	<summary>
Chris PeBenito 17de1b7
##	Domain allowed access.
Chris PeBenito 17de1b7
##	</summary>
Chris PeBenito 17de1b7
## </param>
Chris PeBenito bbcd3c9
## <rolecap/>
Chris PeBenito 17de1b7
#
Chris PeBenito 17de1b7
interface(`seutil_manage_file_contexts',`
Chris PeBenito 17de1b7
	gen_require(`
Chris PeBenito 8f3a0a9
		type selinux_config_t, file_context_t, default_context_t;
Chris PeBenito 17de1b7
	')
Chris PeBenito 17de1b7
Chris PeBenito 17de1b7
	files_search_etc($1)
Chris PeBenito 4bc6e32
	allow $1 { selinux_config_t default_context_t }:dir search_dir_perms;
Chris PeBenito c0868a7
	manage_files_pattern($1,file_context_t,file_context_t)
Chris PeBenito 17de1b7
')
Chris PeBenito 17de1b7
Chris PeBenito 17de1b7
########################################
Chris PeBenito 17de1b7
## <summary>
Chris PeBenito 17de1b7
##	Read the SELinux binary policy.
Chris PeBenito 17de1b7
## </summary>
Chris PeBenito 17de1b7
## <param name="domain">
Chris PeBenito 17de1b7
##	<summary>
Chris PeBenito 17de1b7
##	Domain allowed access.
Chris PeBenito 17de1b7
##	</summary>
Chris PeBenito 17de1b7
## </param>
Chris PeBenito 17de1b7
#
Chris PeBenito 17de1b7
interface(`seutil_read_bin_policy',`
Chris PeBenito 17de1b7
	gen_require(`
Chris PeBenito 17de1b7
		type selinux_config_t, policy_config_t;
Chris PeBenito 17de1b7
	')
Chris PeBenito 17de1b7
Chris PeBenito 17de1b7
	files_search_etc($1)
Chris PeBenito c0868a7
	allow $1 selinux_config_t:dir search_dir_perms;
Chris PeBenito c0868a7
	read_files_pattern($1,policy_config_t,policy_config_t)
Chris PeBenito 17de1b7
')
Chris PeBenito 17de1b7
Chris PeBenito 17de1b7
########################################
Chris PeBenito 17de1b7
## <summary>
Chris PeBenito 17de1b7
##	Create the SELinux binary policy.
Chris PeBenito 17de1b7
## </summary>
Chris PeBenito 17de1b7
## <param name="domain">
Chris PeBenito 17de1b7
##	<summary>
Chris PeBenito 17de1b7
##	Domain allowed access.
Chris PeBenito 17de1b7
##	</summary>
Chris PeBenito 17de1b7
## </param>
Chris PeBenito 17de1b7
#
Chris PeBenito 17de1b7
interface(`seutil_create_bin_policy',`
Chris PeBenito 17de1b7
	gen_require(`
Chris PeBenito 17de1b7
#		attribute can_write_binary_policy;
Chris PeBenito 17de1b7
		type selinux_config_t, policy_config_t;
Chris PeBenito 17de1b7
	')
Chris PeBenito 17de1b7
Chris PeBenito 17de1b7
	files_search_etc($1)
Chris PeBenito c0868a7
	allow $1 selinux_config_t:dir search_dir_perms;
Chris PeBenito c0868a7
	create_files_pattern($1,policy_config_t,policy_config_t)
Chris PeBenito c0868a7
	write_files_pattern($1,policy_config_t,policy_config_t)
Chris PeBenito 17de1b7
#	typeattribute $1 can_write_binary_policy;
Chris PeBenito 17de1b7
')
Chris PeBenito 17de1b7
Chris PeBenito 17de1b7
########################################
Chris PeBenito 17de1b7
## <summary>
Chris PeBenito 17de1b7
##	Allow the caller to relabel a file to the binary policy type.
Chris PeBenito 17de1b7
## </summary>
Chris PeBenito 17de1b7
## <param name="domain">
Chris PeBenito 17de1b7
##	<summary>
Chris PeBenito 17de1b7
##	Domain allowed access.
Chris PeBenito 17de1b7
##	</summary>
Chris PeBenito 17de1b7
## </param>
Chris PeBenito 17de1b7
#
Chris PeBenito 17de1b7
interface(`seutil_relabelto_bin_policy',`
Chris PeBenito 17de1b7
	gen_require(`
Chris PeBenito 17de1b7
		attribute can_relabelto_binary_policy;
Chris PeBenito 17de1b7
		type policy_config_t;
Chris PeBenito 17de1b7
	')
Chris PeBenito 17de1b7
Chris PeBenito 17de1b7
	allow $1 policy_config_t:file relabelto;
Chris PeBenito 17de1b7
	typeattribute $1 can_relabelto_binary_policy;
Chris PeBenito 17de1b7
')
Chris PeBenito 17de1b7
Chris PeBenito 17de1b7
########################################
Chris PeBenito 17de1b7
## <summary>
Chris PeBenito 17de1b7
##	Create, read, write, and delete the SELinux
Chris PeBenito 17de1b7
##	binary policy.
Chris PeBenito 17de1b7
## </summary>
Chris PeBenito 17de1b7
## <param name="domain">
Chris PeBenito 17de1b7
##	<summary>
Chris PeBenito 17de1b7
##	Domain allowed access.
Chris PeBenito 17de1b7
##	</summary>
Chris PeBenito 17de1b7
## </param>
Chris PeBenito 17de1b7
#
Chris PeBenito 17de1b7
interface(`seutil_manage_bin_policy',`
Chris PeBenito 17de1b7
	gen_require(`
Chris PeBenito 17de1b7
		attribute can_write_binary_policy;
Chris PeBenito 17de1b7
		type selinux_config_t, policy_config_t;
Chris PeBenito 17de1b7
	')
Chris PeBenito 17de1b7
Chris PeBenito 17de1b7
	files_search_etc($1)
Chris PeBenito c0868a7
	allow $1 selinux_config_t:dir search_dir_perms;
Chris PeBenito c0868a7
	manage_files_pattern($1,policy_config_t,policy_config_t)
Chris PeBenito 17de1b7
	typeattribute $1 can_write_binary_policy;
Chris PeBenito 17de1b7
')
Chris PeBenito 17de1b7
Chris PeBenito 17de1b7
########################################
Chris PeBenito 17de1b7
## <summary>
Chris PeBenito 17de1b7
##	Read SELinux policy source files.
Chris PeBenito 17de1b7
## </summary>
Chris PeBenito 17de1b7
## <param name="domain">
Chris PeBenito 17de1b7
##	<summary>
Chris PeBenito 17de1b7
##	Domain allowed access.
Chris PeBenito 17de1b7
##	</summary>
Chris PeBenito 17de1b7
## </param>
Chris PeBenito 17de1b7
#
Chris PeBenito 17de1b7
interface(`seutil_read_src_policy',`
Chris PeBenito 17de1b7
	gen_require(`
Chris PeBenito 17de1b7
		type selinux_config_t, policy_src_t;
Chris PeBenito 17de1b7
	')
Chris PeBenito 17de1b7
Chris PeBenito 17de1b7
	files_search_etc($1)
Chris PeBenito c0868a7
	list_dirs_pattern($1,selinux_config_t,policy_src_t)
Chris PeBenito c0868a7
	read_files_pattern($1,policy_src_t,policy_src_t)
Chris PeBenito 17de1b7
')
Chris PeBenito 17de1b7
Chris PeBenito 17de1b7
########################################
Chris PeBenito 17de1b7
## <summary>
Chris PeBenito 17de1b7
##	Create, read, write, and delete SELinux
Chris PeBenito 17de1b7
##	policy source files.
Chris PeBenito 17de1b7
## </summary>
Chris PeBenito 17de1b7
## <param name="domain">
Chris PeBenito 17de1b7
##	<summary>
Chris PeBenito 17de1b7
##	Domain allowed access.
Chris PeBenito 17de1b7
##	</summary>
Chris PeBenito 17de1b7
## </param>
Chris PeBenito bbcd3c9
## <rolecap/>
Chris PeBenito 17de1b7
#
Chris PeBenito 17de1b7
interface(`seutil_manage_src_policy',`
Chris PeBenito 17de1b7
	gen_require(`
Chris PeBenito 17de1b7
		type selinux_config_t, policy_src_t;
Chris PeBenito 17de1b7
	')
Chris PeBenito 17de1b7
Chris PeBenito 17de1b7
	files_search_etc($1)
Chris PeBenito c0868a7
	allow $1 selinux_config_t:dir search_dir_perms;
Chris PeBenito c0868a7
	manage_dirs_pattern($1,policy_src_t,policy_src_t)
Chris PeBenito c0868a7
	manage_files_pattern($1,policy_src_t,policy_src_t)
Chris PeBenito 17de1b7
')
Chris PeBenito 17de1b7
Chris PeBenito 17de1b7
########################################
Chris PeBenito 17de1b7
## <summary>
Chris PeBenito 17de1b7
##	Execute a domain transition to run semanage.
Chris PeBenito 17de1b7
## </summary>
Chris PeBenito 17de1b7
## <param name="domain">
Chris PeBenito 17de1b7
##	<summary>
Chris PeBenito 17de1b7
##	Domain allowed to transition.
Chris PeBenito 17de1b7
##	</summary>
Chris PeBenito 17de1b7
## </param>
Chris PeBenito 17de1b7
#
Chris PeBenito 17de1b7
interface(`seutil_domtrans_semanage',`
Chris PeBenito 17de1b7
	gen_require(`
Chris PeBenito 17de1b7
		type semanage_t, semanage_exec_t;
Chris PeBenito 17de1b7
	')
Chris PeBenito 17de1b7
Chris PeBenito 17de1b7
	files_search_usr($1)
Chris PeBenito 17de1b7
	corecmd_search_bin($1)
Chris PeBenito c0868a7
	domtrans_pattern($1,semanage_exec_t,semanage_t)
Chris PeBenito 17de1b7
')
Chris PeBenito 17de1b7
Chris PeBenito 17de1b7
########################################
Chris PeBenito 17de1b7
## <summary>
Chris PeBenito 17de1b7
##	Execute semanage in the semanage domain, and
Chris PeBenito 17de1b7
##	allow the specified role the semanage domain,
Chris PeBenito 17de1b7
##	and use the caller's terminal.
Chris PeBenito 17de1b7
## </summary>
Chris PeBenito 17de1b7
## <param name="domain">
Chris PeBenito 17de1b7
##	<summary>
Chris PeBenito 17de1b7
##	Domain allowed access.
Chris PeBenito 17de1b7
##	</summary>
Chris PeBenito 17de1b7
## </param>
Chris PeBenito 17de1b7
## <param name="role">
Chris PeBenito 17de1b7
##	<summary>
Chris PeBenito 17de1b7
##	The role to be allowed the checkpolicy domain.
Chris PeBenito 17de1b7
##	</summary>
Chris PeBenito 17de1b7
## </param>
Chris PeBenito bbcd3c9
## <rolecap/>
Chris PeBenito 17de1b7
#
Chris PeBenito 17de1b7
interface(`seutil_run_semanage',`
Chris PeBenito 17de1b7
	gen_require(`
Chris PeBenito 17de1b7
		type semanage_t;
Chris PeBenito 17de1b7
	')
Chris PeBenito 17de1b7
Chris PeBenito 17de1b7
	seutil_domtrans_semanage($1)
Chris PeBenito 296273a
	seutil_run_setfiles(semanage_t, $2)
Chris PeBenito 296273a
	seutil_run_loadpolicy(semanage_t, $2)
Chris PeBenito 17de1b7
	role $2 types semanage_t;
Chris PeBenito 17de1b7
')
Chris PeBenito 17de1b7
Chris PeBenito 17de1b7
########################################
Chris PeBenito 17de1b7
## <summary>
Chris PeBenito 17de1b7
##	Full management of the semanage
Chris PeBenito 17de1b7
##	module store.
Chris PeBenito 17de1b7
## </summary>
Chris PeBenito 17de1b7
## <param name="domain">
Chris PeBenito 17de1b7
##	<summary>
Chris PeBenito 17de1b7
##	Domain allowed access.
Chris PeBenito 17de1b7
##	</summary>
Chris PeBenito 17de1b7
## </param>
Chris PeBenito 17de1b7
#
Chris PeBenito 17de1b7
interface(`seutil_manage_module_store',`
Chris PeBenito 17de1b7
	gen_require(`
Chris PeBenito 17de1b7
		type selinux_config_t, semanage_store_t;
Chris PeBenito 17de1b7
	')
Chris PeBenito 17de1b7
Chris PeBenito 17de1b7
	files_search_etc($1)
Chris PeBenito c0868a7
	manage_dirs_pattern($1,selinux_config_t,semanage_store_t)
Chris PeBenito c0868a7
	manage_files_pattern($1,semanage_store_t,semanage_store_t)
Chris PeBenito c0868a7
	filetrans_pattern($1,selinux_config_t,semanage_store_t,dir)
Chris PeBenito 17de1b7
')
Chris PeBenito 17de1b7
Chris PeBenito 17de1b7
#######################################
Chris PeBenito 17de1b7
## <summary>
Chris PeBenito 17de1b7
##	Get read lock on module store
Chris PeBenito 17de1b7
## </summary>
Chris PeBenito 17de1b7
## <param name="domain">
Chris PeBenito 17de1b7
##	<summary>
Chris PeBenito 17de1b7
##	Domain allowed access.
Chris PeBenito 17de1b7
##	</summary>
Chris PeBenito 17de1b7
## </param>
Chris PeBenito 17de1b7
#
Chris PeBenito 17de1b7
interface(`seutil_get_semanage_read_lock',`
Chris PeBenito 17de1b7
	gen_require(`
Chris PeBenito 17de1b7
		type selinux_config_t, semanage_read_lock_t;
Chris PeBenito 17de1b7
	')
Chris PeBenito 17de1b7
Chris PeBenito 17de1b7
	files_search_etc($1)
Chris PeBenito c0868a7
	rw_files_pattern($1,selinux_config_t,semanage_read_lock_t)
Chris PeBenito 17de1b7
')
Chris PeBenito 17de1b7
Chris PeBenito 17de1b7
#######################################
Chris PeBenito 17de1b7
## <summary>
Chris PeBenito 17de1b7
##	Get trans lock on module store
Chris PeBenito 17de1b7
## </summary>
Chris PeBenito 17de1b7
## <param name="domain">
Chris PeBenito 17de1b7
##	<summary>
Chris PeBenito 17de1b7
##	Domain allowed access.
Chris PeBenito 17de1b7
##	</summary>
Chris PeBenito 17de1b7
## </param>
Chris PeBenito 17de1b7
#
Chris PeBenito 17de1b7
interface(`seutil_get_semanage_trans_lock',`
Chris PeBenito 17de1b7
	gen_require(`
Chris PeBenito 17de1b7
		type selinux_config_t, semanage_trans_lock_t;
Chris PeBenito 17de1b7
	')
Chris PeBenito 17de1b7
Chris PeBenito 17de1b7
	files_search_etc($1)
Chris PeBenito c0868a7
	rw_files_pattern($1,selinux_config_t,semanage_trans_lock_t)
Chris PeBenito 17de1b7
')
Chris PeBenito eeef8dc
Chris PeBenito eeef8dc
########################################
Chris PeBenito eeef8dc
## <summary>
Chris PeBenito eeef8dc
##	SELinux-enabled program access for
Chris PeBenito eeef8dc
##	libselinux-linked programs.
Chris PeBenito eeef8dc
## </summary>
Chris PeBenito eeef8dc
## <desc>
Chris PeBenito eeef8dc
##	

Chris PeBenito eeef8dc
##	SELinux-enabled programs are typically
Chris PeBenito eeef8dc
##	linked to the libselinux library.  This
Chris PeBenito eeef8dc
##	interface will allow access required for
Chris PeBenito eeef8dc
##	the libselinux constructor to function.
Chris PeBenito eeef8dc
##	

Chris PeBenito eeef8dc
## </desc>
Chris PeBenito eeef8dc
## <param name="domain">
Chris PeBenito eeef8dc
##	<summary>
Chris PeBenito eeef8dc
##	Domain allowed access.
Chris PeBenito eeef8dc
##	</summary>
Chris PeBenito eeef8dc
## </param>
Chris PeBenito eeef8dc
#
Chris PeBenito eeef8dc
interface(`seutil_libselinux_linked',`
Chris PeBenito eeef8dc
	selinux_get_fs_mount($1)
Chris PeBenito eeef8dc
	seutil_read_config($1)
Chris PeBenito eeef8dc
')
Chris PeBenito eeef8dc
Chris PeBenito eeef8dc
########################################
Chris PeBenito eeef8dc
## <summary>
Chris PeBenito eeef8dc
##	Do not audit SELinux-enabled program access for
Chris PeBenito eeef8dc
##	libselinux-linked programs.
Chris PeBenito eeef8dc
## </summary>
Chris PeBenito eeef8dc
## <desc>
Chris PeBenito eeef8dc
##	

Chris PeBenito eeef8dc
##	SELinux-enabled programs are typically
Chris PeBenito eeef8dc
##	linked to the libselinux library.  This
Chris PeBenito eeef8dc
##	interface will dontaudit access required for
Chris PeBenito eeef8dc
##	the libselinux constructor to function.
Chris PeBenito eeef8dc
##	

Chris PeBenito eeef8dc
##	

Chris PeBenito eeef8dc
##	Generally this should not be used on anything
Chris PeBenito eeef8dc
##	but simple SELinux-enabled programs that do not
Chris PeBenito eeef8dc
##	rely on data initialized by the libselinux
Chris PeBenito eeef8dc
##	constructor.
Chris PeBenito eeef8dc
##	

Chris PeBenito eeef8dc
## </desc>
Chris PeBenito eeef8dc
## <param name="domain">
Chris PeBenito eeef8dc
##	<summary>
Chris PeBenito eeef8dc
##	Domain allowed access.
Chris PeBenito eeef8dc
##	</summary>
Chris PeBenito eeef8dc
## </param>
Chris PeBenito eeef8dc
#
Chris PeBenito eeef8dc
interface(`seutil_dontaudit_libselinux_linked',`
Chris PeBenito eeef8dc
	selinux_dontaudit_get_fs_mount($1)
Chris PeBenito eeef8dc
	seutil_dontaudit_read_config($1)
Chris PeBenito eeef8dc
')