## Update dynamic IP address at DynDNS.org. ####################################### ## ## Execute ddclient in the ddclient domain. ## ## ## ## Domain allowed to transition. ## ## # interface(`ddclient_domtrans',` gen_require(` type ddclient_t, ddclient_exec_t; ') corecmd_search_bin($1) domtrans_pattern($1, ddclient_exec_t, ddclient_t) ') ######################################## ## ## Execute ddclient in the ddclient ## domain, and allow the specified ## role the ddclient domain. ## ## ## ## Domain allowed to transition. ## ## ## ## ## Role allowed access. ## ## ## # interface(`ddclient_run',` gen_require(` attribute_role ddclient_roles; ') ddclient_domtrans($1) roleattribute $2 ddclient_roles; ') ######################################## ## ## All of the rules required to ## administrate an ddclient environment. ## ## ## ## Domain allowed access. ## ## ## ## ## Role allowed access. ## ## ## # interface(`ddclient_admin',` gen_require(` type ddclient_t, ddclient_etc_t, ddclient_log_t; type ddclient_var_t, ddclient_var_lib_t, ddclient_tmp_t; type ddclient_var_run_t, ddclient_initrc_exec_t; ') allow $1 ddclient_t:process signal_perms; ps_process_pattern($1, ddclient_t) tunable_policy(`deny_ptrace',`',` allow $1 ddclient_t:process ptrace; ') init_labeled_script_domtrans($1, ddclient_initrc_exec_t) domain_system_change_exemption($1) role_transition $2 ddclient_initrc_exec_t system_r; allow $2 system_r; files_list_etc($1) admin_pattern($1, ddclient_etc_t) logging_list_logs($1) admin_pattern($1, ddclient_log_t) files_list_var($1) admin_pattern($1, ddclient_var_t) files_list_var_lib($1) admin_pattern($1, ddclient_var_lib_t) files_list_pids($1) admin_pattern($1, ddclient_var_run_t) files_list_tmp($1) admin_pattern($1, ddclient_tmp_t) ') ######################################## ## ## Get the attributes of ddclient PID files. ## ## ## ## Domain allowed access. ## ## # interface(`ddclient_getattr_pid_files',` gen_require(` type ddclient_var_run_t; ') getattr_files_pattern($1, ddclient_var_run_t, ddclient_var_run_t) ') ######################################## ## ## Create objects in the ddclient home directory ## with an automatic type transition to a specified type ## ## ## ## Domain allowed access. ## ## ## ## ## The type of the object being created. ## ## ## ## ## The class of the object being created. ## ## ## ## ## The name of the object being created. ## ## # interface(`ddclient_var_filetrans',` gen_require(` type ddclient_var_t; ') filetrans_pattern($1, ddclient_var_t, $2, $3, $4) ')