## rtorrent torrent client
#######################################
##
## The role for using the rtorrent application.
##
##
##
## The role associated with the user domain.
##
##
##
##
## The user domain.
##
##
#
interface(`rtorrent_role',`
gen_require(`
type rtorrent_t, rtorrent_exec_t, rtorrent_conf_t, rtorrent_session_t, rtorrent_download_t;
')
role $1 types rtorrent_t;
domtrans_pattern($2, rtorrent_exec_t, rtorrent_t)
allow $2 rtorrent_t:process signal_perms;
manage_files_pattern($2, rtorrent_conf_t, rtorrent_conf_t)
read_files_pattern($2, rtorrent_session_t, rtorrent_session_t)
list_dirs_pattern($2, rtorrent_session_t, rtorrent_session_t)
manage_dirs_pattern($2, rtorrent_download_t, rtorrent_download_t)
manage_files_pattern($2, rtorrent_download_t, rtorrent_download_t)
ps_process_pattern($2, rtorrent_t)
')
#######################################
##
## The role for total power on the rtorrent application.
##
##
##
## Domain allowed access.
##
##
##
##
## Role allowed access.
##
##
#
interface(`rtorrent_admin',`
gen_require(`
type rtorrent_t, rtorrent_exec_t, rtorrent_conf_t, rtorrent_session_t, rtorrent_download_t;
')
role $2 types rtorrent_t;
domtrans_pattern($1, rtorrent_exec_t, rtorrent_t)
allow $1 rtorrent_t:process {ptrace signal_perms};
manage_files_pattern($1, rtorrent_conf_t, rtorrent_conf_t)
manage_files_pattern($1, rtorrent_session_t, rtorrent_session_t)
manage_dirs_pattern($1, rtorrent_session_t, rtorrent_session_t)
manage_dirs_pattern($1, rtorrent_download_t, rtorrent_download_t)
manage_files_pattern($1, rtorrent_download_t, rtorrent_download_t)
ps_process_pattern($1, rtorrent_t)
')