115 lines
2.4 KiB
Plaintext
115 lines
2.4 KiB
Plaintext
## <summary>Various games.</summary>
|
|
|
|
########################################
|
|
## <summary>
|
|
## Role access for games.
|
|
## </summary>
|
|
## <param name="role_prefix">
|
|
## <summary>
|
|
## The prefix of the user role (e.g., user
|
|
## is the prefix for user_r).
|
|
## </summary>
|
|
## </param>
|
|
## <param name="user_domain">
|
|
## <summary>
|
|
## User domain for the role.
|
|
## </summary>
|
|
## </param>
|
|
## <param name="user_exec_domain">
|
|
## <summary>
|
|
## User exec domain for execute and transition access.
|
|
## </summary>
|
|
## </param>
|
|
## <param name="role">
|
|
## <summary>
|
|
## Role allowed access
|
|
## </summary>
|
|
## </param>
|
|
#
|
|
template(`games_role',`
|
|
gen_require(`
|
|
attribute_role games_roles;
|
|
type games_t, games_exec_t, games_tmp_t;
|
|
type games_tmpfs_t;
|
|
')
|
|
|
|
roleattribute $4 games_roles;
|
|
|
|
domtrans_pattern($3, games_exec_t, games_t)
|
|
|
|
allow $2 games_tmp_t:dir { manage_dir_perms relabel_dir_perms };
|
|
allow $2 { games_tmp_t games_tmpfs_t }:file { manage_file_perms relabel_file_perms };
|
|
allow $2 games_tmpfs_t:fifo_file { manage_fifo_file_perms relabel_fifo_file_perms };
|
|
allow $2 games_tmpfs_t:sock_file { manage_sock_file_perms relabel_sock_file_perms };
|
|
|
|
allow $3 games_t:process { ptrace signal_perms };
|
|
ps_process_pattern($3, games_t)
|
|
|
|
stream_connect_pattern($3, games_tmpfs_t, games_tmpfs_t, games_t)
|
|
|
|
allow games_t $3:unix_stream_socket connectto;
|
|
|
|
optional_policy(`
|
|
systemd_user_app_status($1, games_t)
|
|
')
|
|
')
|
|
|
|
########################################
|
|
## <summary>
|
|
## Read and write games data files.
|
|
## </summary>
|
|
## <param name="domain">
|
|
## <summary>
|
|
## Domain allowed access.
|
|
## </summary>
|
|
## </param>
|
|
#
|
|
interface(`games_rw_data',`
|
|
gen_require(`
|
|
type games_data_t;
|
|
')
|
|
|
|
files_search_var_lib($1)
|
|
rw_files_pattern($1, games_data_t, games_data_t)
|
|
')
|
|
|
|
########################################
|
|
## <summary>
|
|
## Run a game in the game domain.
|
|
## </summary>
|
|
## <param name="domain">
|
|
## <summary>
|
|
## Domain allowed to transition.
|
|
## </summary>
|
|
## </param>
|
|
#
|
|
interface(`games_domtrans',`
|
|
gen_require(`
|
|
type games_t, games_exec_t;
|
|
')
|
|
|
|
corecmd_search_bin($1)
|
|
domtrans_pattern($1, games_exec_t, games_t)
|
|
')
|
|
|
|
########################################
|
|
## <summary>
|
|
## Send and receive messages from
|
|
## games over dbus.
|
|
## </summary>
|
|
## <param name="domain">
|
|
## <summary>
|
|
## Domain allowed access.
|
|
## </summary>
|
|
## </param>
|
|
#
|
|
interface(`games_dbus_chat',`
|
|
gen_require(`
|
|
type games_t;
|
|
class dbus send_msg;
|
|
')
|
|
|
|
allow $1 games_t:dbus send_msg;
|
|
allow games_t $1:dbus send_msg;
|
|
')
|