Dominick Grift d047ec2
## <summary>PCSC smart card service.</summary>
1ec3d1a
1ec3d1a
########################################
1ec3d1a
## <summary>
1ec3d1a
##	Execute a domain transition to run pcscd.
1ec3d1a
## </summary>
1ec3d1a
## <param name="domain">
Dominick Grift d047ec2
##	<summary>
Chris PeBenito 9401ae1
##	Domain allowed to transition.
Dominick Grift d047ec2
##	</summary>
1ec3d1a
## </param>
1ec3d1a
#
1ec3d1a
interface(`pcscd_domtrans',`
1ec3d1a
	gen_require(`
1ec3d1a
		type pcscd_t, pcscd_exec_t;
1ec3d1a
	')
1ec3d1a
Dominick Grift d047ec2
	corecmd_search_bin($1)
1ec3d1a
	domtrans_pattern($1, pcscd_exec_t, pcscd_t)
1ec3d1a
')
1ec3d1a
1ec3d1a
########################################
1ec3d1a
## <summary>
Dominick Grift d047ec2
##	Read pcscd pid files.
1ec3d1a
## </summary>
1ec3d1a
## <param name="domain">
1ec3d1a
##	<summary>
1ec3d1a
##	Domain allowed access.
1ec3d1a
##	</summary>
1ec3d1a
## </param>
1ec3d1a
#
1ec3d1a
interface(`pcscd_read_pub_files',`
Dominick Grift d047ec2
	refpolicywarn(`$0($*) has been deprecated, use pcscd_read_pid_files() instead.')
Dominick Grift d047ec2
	pcscd_read_pid_files($1)
Dominick Grift d047ec2
')
Dominick Grift d047ec2
Dominick Grift d047ec2
########################################
Dominick Grift d047ec2
## <summary>
Dominick Grift d047ec2
##	Read pcscd pid files.
Dominick Grift d047ec2
## </summary>
Dominick Grift d047ec2
## <param name="domain">
Dominick Grift d047ec2
##	<summary>
Dominick Grift d047ec2
##	Domain allowed access.
Dominick Grift d047ec2
##	</summary>
Dominick Grift d047ec2
## </param>
Dominick Grift d047ec2
#
Dominick Grift d047ec2
interface(`pcscd_read_pid_files',`
1ec3d1a
	gen_require(`
1ec3d1a
		type pcscd_var_run_t;
1ec3d1a
	')
1ec3d1a
1ec3d1a
	files_search_pids($1)
1ec3d1a
	read_files_pattern($1, pcscd_var_run_t, pcscd_var_run_t)
1ec3d1a
')
1ec3d1a
1ec3d1a
########################################
1ec3d1a
## <summary>
Dominick Grift d047ec2
##	Create, read, write, and delete
Dominick Grift d047ec2
##	pcscd pid files.
1ec3d1a
## </summary>
1ec3d1a
## <param name="domain">
1ec3d1a
##	<summary>
1ec3d1a
##	Domain allowed access.
1ec3d1a
##	</summary>
1ec3d1a
## </param>
1ec3d1a
#
1ec3d1a
interface(`pcscd_manage_pub_files',`
Dominick Grift d047ec2
	refpolicywarn(`$0($*) has been deprecated')
1ec3d1a
')
1ec3d1a
1ec3d1a
########################################
1ec3d1a
## <summary>
Dominick Grift d047ec2
##	Create, read, write, and delete
Dominick Grift d047ec2
##	pcscd pid fifo files.
1ec3d1a
## </summary>
1ec3d1a
## <param name="domain">
1ec3d1a
##	<summary>
1ec3d1a
##	Domain allowed access.
1ec3d1a
##	</summary>
1ec3d1a
## </param>
1ec3d1a
#
1ec3d1a
interface(`pcscd_manage_pub_pipes',`
Dominick Grift d047ec2
	refpolicywarn(`$0($*) has been deprecated')
Dominick Grift d047ec2
')
Dominick Grift d047ec2
Dominick Grift d047ec2
########################################
Dominick Grift d047ec2
## <summary>
Dominick Grift d047ec2
##	Connect to pcscd over an unix
Dominick Grift d047ec2
##	domain stream socket.
Dominick Grift d047ec2
## </summary>
Dominick Grift d047ec2
## <param name="domain">
Dominick Grift d047ec2
##	<summary>
Dominick Grift d047ec2
##	Domain allowed access.
Dominick Grift d047ec2
##	</summary>
Dominick Grift d047ec2
## </param>
Dominick Grift d047ec2
#
Dominick Grift d047ec2
interface(`pcscd_stream_connect',`
1ec3d1a
	gen_require(`
Dominick Grift d047ec2
		type pcscd_t, pcscd_var_run_t;
1ec3d1a
	')
1ec3d1a
1ec3d1a
	files_search_pids($1)
Dominick Grift d047ec2
	stream_connect_pattern($1, pcscd_var_run_t, pcscd_var_run_t, pcscd_t)
1ec3d1a
')
1ec3d1a
1ec3d1a
########################################
1ec3d1a
## <summary>
Dominick Grift d047ec2
##	All of the rules required to
Dominick Grift d047ec2
##	administrate an pcscd environment.
1ec3d1a
## </summary>
1ec3d1a
## <param name="domain">
1ec3d1a
##	<summary>
1ec3d1a
##	Domain allowed access.
1ec3d1a
##	</summary>
1ec3d1a
## </param>
Dominick Grift d047ec2
## <param name="role">
Dominick Grift d047ec2
##	<summary>
Dominick Grift d047ec2
##	Role allowed access.
Dominick Grift d047ec2
##	</summary>
Dominick Grift d047ec2
## </param>
Dominick Grift d047ec2
## <rolecap/>
1ec3d1a
#
Dominick Grift d047ec2
interface(`pcscd_admin',`
1ec3d1a
	gen_require(`
Dominick Grift d047ec2
		type pcscd_t, pcscd_initrc_exec_t, pcscd_var_run_t;
1ec3d1a
	')
1ec3d1a
Dominick Grift d047ec2
	allow $1 pcscd_t:process { ptrace signal_perms };
Dominick Grift d047ec2
	ps_process_pattern($1, pcscd_t)
Dominick Grift d047ec2
Dominick Grift d047ec2
	init_labeled_script_domtrans($1, pcscd_initrc_exec_t)
Dominick Grift d047ec2
	domain_system_change_exemption($1)
Dominick Grift d047ec2
	role_transition $2 pcscd_initrc_exec_t system_r;
Dominick Grift d047ec2
	allow $2 system_r;
Dominick Grift d047ec2
1ec3d1a
	files_search_pids($1)
Dominick Grift d047ec2
	admin_pattern($1, pcscd_var_run_t)
1ec3d1a
')