File rtorrent.if of Package selinux-policy

## <summary>policy for rtorrent</summary>

########################################
## <summary>
##	Execute rtorrent_exec_t in the rtorrent domain.
## </summary>
## <param name="domain">
## <summary>
##	Domain allowed to transition.
## </summary>
## </param>
#
interface(`rtorrent_domtrans',`
	gen_require(`
		type rtorrent_t, rtorrent_exec_t;
	')

	corecmd_search_bin($1)
	domtrans_pattern($1, rtorrent_exec_t, rtorrent_t)
')

######################################
## <summary>
##	Execute rtorrent in the caller domain.
## </summary>
## <param name="domain">
##	<summary>
##	Domain allowed access.
##	</summary>
## </param>
#
interface(`rtorrent_exec',`
	gen_require(`
		type rtorrent_exec_t;
	')

	corecmd_search_bin($1)
	can_exec($1, rtorrent_exec_t)
')

########################################
## <summary>
##	Execute rtorrent in the rtorrent domain, and
##	allow the specified role the rtorrent domain.
## </summary>
## <param name="domain">
##	<summary>
##	Domain allowed to transition
##	</summary>
## </param>
## <param name="role">
##	<summary>
##	The role to be allowed the rtorrent domain.
##	</summary>
## </param>
#
interface(`rtorrent_run',`
	gen_require(`
		type rtorrent_t;
		attribute_role rtorrent_roles;
	')

	rtorrent_domtrans($1)
	roleattribute $2 rtorrent_roles;
')

########################################
## <summary>
##	Role access for rtorrent
## </summary>
## <param name="role">
##	<summary>
##	Role allowed access
##	</summary>
## </param>
## <param name="domain">
##	<summary>
##	User domain for the role
##	</summary>
## </param>
#
interface(`rtorrent_role',`
	gen_require(`
		type rtorrent_t;
		attribute_role rtorrent_roles;
	')

	roleattribute $1 rtorrent_roles;

	rtorrent_domtrans($2)

	ps_process_pattern($2, rtorrent_t)
	allow $2 rtorrent_t:process { signull signal sigkill };
')
openSUSE Build Service is sponsored by