1ec3d1a
1ec3d1a
## <summary>policy for sandbox</summary>
1ec3d1a
1ec3d1a
########################################
1ec3d1a
## <summary>
1ec3d1a
##	Execute sandbox in the sandbox domain, and
1ec3d1a
##	allow the specified role the sandbox domain.
1ec3d1a
## </summary>
1ec3d1a
## <param name="domain">
1ec3d1a
##	<summary>
1ec3d1a
##	Domain allowed access
1ec3d1a
##	</summary>
1ec3d1a
## </param>
1ec3d1a
## <param name="role">
1ec3d1a
##	<summary>
1ec3d1a
##	The role to be allowed the sandbox domain.
1ec3d1a
##	</summary>
1ec3d1a
## </param>
1ec3d1a
#
1ec3d1a
interface(`sandbox_transition',`
1ec3d1a
	gen_require(`
1ec3d1a
		attribute sandbox_domain;
1ec3d1a
	')
1ec3d1a
1ec3d1a
	allow $1 sandbox_domain:process transition;
1ec3d1a
	dontaudit $1 sandbox_domain:process { noatsecure siginh rlimitinh };
1ec3d1a
	role $2 types sandbox_domain;
1ec3d1a
	allow sandbox_domain $1:process { sigchld signull };
1ec3d1a
	allow sandbox_domain $1:fifo_file rw_inherited_fifo_file_perms;
1ec3d1a
	dontaudit sandbox_domain $1:process signal;
1ec3d1a
')
1ec3d1a
1ec3d1a
########################################
1ec3d1a
## <summary>
1ec3d1a
##	Creates types and rules for a basic
1ec3d1a
##	sandbox process domain.
1ec3d1a
## </summary>
1ec3d1a
## <param name="prefix">
1ec3d1a
##	<summary>
1ec3d1a
##	Prefix for the domain.
1ec3d1a
##	</summary>
1ec3d1a
## </param>
1ec3d1a
#
1ec3d1a
template(`sandbox_domain_template',`
1ec3d1a
1ec3d1a
	gen_require(`
1ec3d1a
		attribute sandbox_domain;
1ec3d1a
	')
b1a0be0
	type $1_t, sandbox_domain;
1ec3d1a
1ec3d1a
	application_type($1_t)
1ec3d1a
1ec3d1a
	mls_rangetrans_target($1_t)
1f86dac
	mcs_constrained($1_t)
1ec3d1a
')