1ec3d1a
## <summary>Restricted (scp/sftp) only shell</summary>
1ec3d1a
1ec3d1a
########################################
1ec3d1a
## <summary>
1ec3d1a
##	Role access for rssh
1ec3d1a
## </summary>
1ec3d1a
## <param name="role">
1ec3d1a
##	<summary>
1ec3d1a
##	Role allowed access
1ec3d1a
##	</summary>
1ec3d1a
## </param>
1ec3d1a
## <param name="domain">
1ec3d1a
##	<summary>
1ec3d1a
##	User domain for the role
1ec3d1a
##	</summary>
1ec3d1a
## </param>
1ec3d1a
#
1ec3d1a
interface(`rssh_role',`
1ec3d1a
	gen_require(`
1ec3d1a
		type rssh_t;
1ec3d1a
	')
1ec3d1a
1ec3d1a
	role $1 types rssh_t;
1ec3d1a
1ec3d1a
	# allow ps to show irc
1ec3d1a
	ps_process_pattern($2, rssh_t)
1ec3d1a
	allow $2 rssh_t:process signal;
1ec3d1a
')
1ec3d1a
1ec3d1a
########################################
1ec3d1a
## <summary>
1ec3d1a
##	Transition to all user rssh domains.
1ec3d1a
## </summary>
1ec3d1a
## <param name="domain">
1ec3d1a
##	<summary>
1ec3d1a
##	Domain allowed to transition.
1ec3d1a
##	</summary>
1ec3d1a
## </param>
1ec3d1a
#
1ec3d1a
interface(`rssh_spec_domtrans',`
1ec3d1a
	gen_require(`
1ec3d1a
		type rssh_t, rssh_exec_t;
1ec3d1a
	')
1ec3d1a
1ec3d1a
	spec_domtrans_pattern($1, rssh_exec_t, rssh_t)
1ec3d1a
')
1ec3d1a
1ec3d1a
########################################
1ec3d1a
## <summary>
1ec3d1a
##	Execute the rssh program
1ec3d1a
##	in the caller domain.
1ec3d1a
## </summary>
1ec3d1a
## <param name="domain">
1ec3d1a
##	<summary>
1ec3d1a
##	Domain allowed access.
1ec3d1a
##	</summary>
1ec3d1a
## </param>
1ec3d1a
#
1ec3d1a
interface(`rssh_exec',`
1ec3d1a
	gen_require(`
1ec3d1a
		type rssh_exec_t;
1ec3d1a
	')
1ec3d1a
1ec3d1a
	can_exec($1, rssh_exec_t)
1ec3d1a
')
1ec3d1a
1ec3d1a
########################################
1ec3d1a
## <summary>
1ec3d1a
##	Execute a domain transition to run rssh_chroot_helper.
1ec3d1a
## </summary>
1ec3d1a
## <param name="domain">
1ec3d1a
##	<summary>
1ec3d1a
##	Domain allowed access.
1ec3d1a
##	</summary>
1ec3d1a
## </param>
1ec3d1a
#
1ec3d1a
interface(`rssh_domtrans_chroot_helper',`
1ec3d1a
	gen_require(`
1ec3d1a
		type rssh_chroot_helper_t, rssh_chroot_helper_exec_t;
1ec3d1a
	')
1ec3d1a
1ec3d1a
	domtrans_pattern($1, rssh_chroot_helper_exec_t, rssh_chroot_helper_t)
1ec3d1a
')
1ec3d1a
1ec3d1a
########################################
1ec3d1a
## <summary>
1ec3d1a
##	Read all users rssh read-only content.
1ec3d1a
## </summary>
1ec3d1a
## <param name="domain">
1ec3d1a
##	<summary>
1ec3d1a
##	Domain allowed access.
1ec3d1a
##	</summary>
1ec3d1a
## </param>
1ec3d1a
#
1ec3d1a
interface(`rssh_read_ro_content',`
1ec3d1a
	gen_require(`
1ec3d1a
		type rssh_ro_t;
1ec3d1a
	')
1ec3d1a
1ec3d1a
	allow $1 rssh_ro_t:dir list_dir_perms;
1ec3d1a
	read_files_pattern($1, rssh_ro_t, rssh_ro_t)
1ec3d1a
	read_lnk_files_pattern($1, rssh_ro_t, rssh_ro_t)
1ec3d1a
')