2006-04-25 14:45:14 +00:00
|
|
|
## <summary>dnsmasq DNS forwarder and DHCP server</summary>
|
2008-11-18 19:55:10 +00:00
|
|
|
|
|
|
|
########################################
|
|
|
|
## <summary>
|
|
|
|
## Execute dnsmasq server in the dnsmasq domain.
|
|
|
|
## </summary>
|
|
|
|
## <param name="domain">
|
|
|
|
## <summary>
|
2010-08-05 13:03:19 +00:00
|
|
|
## Domain allowed to transition.
|
2008-11-18 19:55:10 +00:00
|
|
|
## </summary>
|
|
|
|
## </param>
|
|
|
|
#
|
|
|
|
#
|
|
|
|
interface(`dnsmasq_domtrans',`
|
|
|
|
gen_require(`
|
|
|
|
type dnsmasq_exec_t, dnsmasq_t;
|
|
|
|
')
|
|
|
|
|
|
|
|
corecmd_search_bin($1)
|
|
|
|
domtrans_pattern($1, dnsmasq_exec_t, dnsmasq_t)
|
|
|
|
')
|
|
|
|
|
2009-07-20 19:40:57 +00:00
|
|
|
########################################
|
|
|
|
## <summary>
|
|
|
|
## Execute the dnsmasq init script in the init script domain.
|
|
|
|
## </summary>
|
|
|
|
## <param name="domain">
|
|
|
|
## <summary>
|
2010-08-05 13:03:19 +00:00
|
|
|
## Domain allowed to transition.
|
2009-07-20 19:40:57 +00:00
|
|
|
## </summary>
|
|
|
|
## </param>
|
|
|
|
#
|
|
|
|
#
|
|
|
|
interface(`dnsmasq_initrc_domtrans',`
|
|
|
|
gen_require(`
|
|
|
|
type dnsmasq_initrc_exec_t;
|
|
|
|
')
|
|
|
|
|
|
|
|
init_labeled_script_domtrans($1, dnsmasq_initrc_exec_t)
|
|
|
|
')
|
|
|
|
|
2008-11-18 19:55:10 +00:00
|
|
|
########################################
|
|
|
|
## <summary>
|
|
|
|
## Send dnsmasq a signal
|
|
|
|
## </summary>
|
|
|
|
## <param name="domain">
|
|
|
|
## <summary>
|
2010-08-02 13:22:09 +00:00
|
|
|
## Domain allowed access.
|
2008-11-18 19:55:10 +00:00
|
|
|
## </summary>
|
|
|
|
## </param>
|
|
|
|
#
|
|
|
|
#
|
|
|
|
interface(`dnsmasq_signal',`
|
|
|
|
gen_require(`
|
|
|
|
type dnsmasq_t;
|
|
|
|
')
|
|
|
|
|
|
|
|
allow $1 dnsmasq_t:process signal;
|
|
|
|
')
|
|
|
|
|
2009-03-23 14:56:43 +00:00
|
|
|
########################################
|
|
|
|
## <summary>
|
|
|
|
## Send dnsmasq a signull
|
|
|
|
## </summary>
|
|
|
|
## <param name="domain">
|
|
|
|
## <summary>
|
|
|
|
## Domain allowed access.
|
|
|
|
## </summary>
|
|
|
|
## </param>
|
|
|
|
#
|
|
|
|
#
|
|
|
|
interface(`dnsmasq_signull',`
|
|
|
|
gen_require(`
|
|
|
|
type dnsmasq_t;
|
|
|
|
')
|
|
|
|
|
|
|
|
allow $1 dnsmasq_t:process signull;
|
|
|
|
')
|
|
|
|
|
2008-11-18 19:55:10 +00:00
|
|
|
########################################
|
|
|
|
## <summary>
|
|
|
|
## Send dnsmasq a kill signal.
|
|
|
|
## </summary>
|
|
|
|
## <param name="domain">
|
|
|
|
## <summary>
|
|
|
|
## Domain allowed access.
|
|
|
|
## </summary>
|
|
|
|
## </param>
|
|
|
|
#
|
|
|
|
#
|
|
|
|
interface(`dnsmasq_kill',`
|
|
|
|
gen_require(`
|
|
|
|
type dnsmasq_t;
|
|
|
|
')
|
|
|
|
|
|
|
|
allow $1 dnsmasq_t:process sigkill;
|
|
|
|
')
|
|
|
|
|
2009-03-23 14:56:43 +00:00
|
|
|
########################################
|
|
|
|
## <summary>
|
2010-02-08 18:38:48 +00:00
|
|
|
## Read dnsmasq config files.
|
2009-03-23 14:56:43 +00:00
|
|
|
## </summary>
|
|
|
|
## <param name="domain">
|
Whitespace, newline and tab fixes.
Whitespace, newline and tab fixes.
Whitespace, newline and tab fixes.
Whitespace, newline and tab fixes.
Whitespace, newline and tab fixes.
Whitespace, newline and tab fixes.
Whitespace, newline and tab fixes.
Whitespace, newline and tab fixes.
Whitespace, newline and tab fixes.
Whitespace, newline and tab fixes.
Whitespace, newline and tab fixes.
Whitespace, newline and tab fixes.
Whitespace, newline and tab fixes.
Whitespace, newline and tab fixes.
Whitespace, newline and tab fixes.
Whitespace, newline and tab fixes.
Whitespace, newline and tab fixes.
2010-09-17 09:46:20 +00:00
|
|
|
## <summary>
|
2010-08-05 13:03:19 +00:00
|
|
|
## Domain allowed access.
|
Whitespace, newline and tab fixes.
Whitespace, newline and tab fixes.
Whitespace, newline and tab fixes.
Whitespace, newline and tab fixes.
Whitespace, newline and tab fixes.
Whitespace, newline and tab fixes.
Whitespace, newline and tab fixes.
Whitespace, newline and tab fixes.
Whitespace, newline and tab fixes.
Whitespace, newline and tab fixes.
Whitespace, newline and tab fixes.
Whitespace, newline and tab fixes.
Whitespace, newline and tab fixes.
Whitespace, newline and tab fixes.
Whitespace, newline and tab fixes.
Whitespace, newline and tab fixes.
Whitespace, newline and tab fixes.
2010-09-17 09:46:20 +00:00
|
|
|
## </summary>
|
2009-03-23 14:56:43 +00:00
|
|
|
## </param>
|
|
|
|
#
|
2010-02-08 18:38:48 +00:00
|
|
|
interface(`dnsmasq_read_config',`
|
2009-03-23 14:56:43 +00:00
|
|
|
gen_require(`
|
2010-02-08 18:38:48 +00:00
|
|
|
type dnsmasq_etc_t;
|
2009-03-23 14:56:43 +00:00
|
|
|
')
|
|
|
|
|
2010-05-21 21:02:24 +00:00
|
|
|
read_files_pattern($1, dnsmasq_etc_t, dnsmasq_etc_t)
|
2010-02-08 18:38:48 +00:00
|
|
|
files_search_etc($1)
|
2009-03-23 14:56:43 +00:00
|
|
|
')
|
|
|
|
|
|
|
|
########################################
|
|
|
|
## <summary>
|
2010-02-08 18:38:48 +00:00
|
|
|
## Write to dnsmasq config files.
|
2009-03-23 14:56:43 +00:00
|
|
|
## </summary>
|
|
|
|
## <param name="domain">
|
Whitespace, newline and tab fixes.
Whitespace, newline and tab fixes.
Whitespace, newline and tab fixes.
Whitespace, newline and tab fixes.
Whitespace, newline and tab fixes.
Whitespace, newline and tab fixes.
Whitespace, newline and tab fixes.
Whitespace, newline and tab fixes.
Whitespace, newline and tab fixes.
Whitespace, newline and tab fixes.
Whitespace, newline and tab fixes.
Whitespace, newline and tab fixes.
Whitespace, newline and tab fixes.
Whitespace, newline and tab fixes.
Whitespace, newline and tab fixes.
Whitespace, newline and tab fixes.
Whitespace, newline and tab fixes.
2010-09-17 09:46:20 +00:00
|
|
|
## <summary>
|
2010-08-05 13:03:19 +00:00
|
|
|
## Domain allowed access.
|
Whitespace, newline and tab fixes.
Whitespace, newline and tab fixes.
Whitespace, newline and tab fixes.
Whitespace, newline and tab fixes.
Whitespace, newline and tab fixes.
Whitespace, newline and tab fixes.
Whitespace, newline and tab fixes.
Whitespace, newline and tab fixes.
Whitespace, newline and tab fixes.
Whitespace, newline and tab fixes.
Whitespace, newline and tab fixes.
Whitespace, newline and tab fixes.
Whitespace, newline and tab fixes.
Whitespace, newline and tab fixes.
Whitespace, newline and tab fixes.
Whitespace, newline and tab fixes.
Whitespace, newline and tab fixes.
2010-09-17 09:46:20 +00:00
|
|
|
## </summary>
|
2009-03-23 14:56:43 +00:00
|
|
|
## </param>
|
|
|
|
#
|
2010-02-08 18:38:48 +00:00
|
|
|
interface(`dnsmasq_write_config',`
|
2009-03-23 14:56:43 +00:00
|
|
|
gen_require(`
|
2010-02-08 18:38:48 +00:00
|
|
|
type dnsmasq_etc_t;
|
2009-03-23 14:56:43 +00:00
|
|
|
')
|
|
|
|
|
2010-05-21 21:02:24 +00:00
|
|
|
write_files_pattern($1, dnsmasq_etc_t, dnsmasq_etc_t)
|
2010-02-08 18:38:48 +00:00
|
|
|
files_search_etc($1)
|
2009-03-23 14:56:43 +00:00
|
|
|
')
|
|
|
|
|
2010-01-05 15:26:14 +00:00
|
|
|
########################################
|
|
|
|
## <summary>
|
2010-02-08 18:38:48 +00:00
|
|
|
## Delete dnsmasq pid files
|
2010-01-05 15:26:14 +00:00
|
|
|
## </summary>
|
|
|
|
## <param name="domain">
|
2010-02-08 18:38:48 +00:00
|
|
|
## <summary>
|
|
|
|
## Domain allowed access.
|
|
|
|
## </summary>
|
2010-01-05 15:26:14 +00:00
|
|
|
## </param>
|
|
|
|
#
|
2010-02-08 18:38:48 +00:00
|
|
|
interface(`dnsmasq_delete_pid_files',`
|
2010-01-05 15:26:14 +00:00
|
|
|
gen_require(`
|
2010-02-08 18:38:48 +00:00
|
|
|
type dnsmasq_var_run_t;
|
2010-01-05 15:26:14 +00:00
|
|
|
')
|
|
|
|
|
2010-09-17 07:43:44 +00:00
|
|
|
files_search_pids($1)
|
2010-02-08 18:38:48 +00:00
|
|
|
delete_files_pattern($1, dnsmasq_var_run_t, dnsmasq_var_run_t)
|
2010-01-05 15:26:14 +00:00
|
|
|
')
|
|
|
|
|
|
|
|
########################################
|
|
|
|
## <summary>
|
2010-02-08 18:38:48 +00:00
|
|
|
## Read dnsmasq pid files
|
2010-01-05 15:26:14 +00:00
|
|
|
## </summary>
|
|
|
|
## <param name="domain">
|
2010-02-08 18:38:48 +00:00
|
|
|
## <summary>
|
|
|
|
## Domain allowed access.
|
|
|
|
## </summary>
|
2010-01-05 15:26:14 +00:00
|
|
|
## </param>
|
|
|
|
#
|
2010-02-08 18:38:48 +00:00
|
|
|
#
|
|
|
|
interface(`dnsmasq_read_pid_files',`
|
2010-01-05 15:26:14 +00:00
|
|
|
gen_require(`
|
2010-02-08 18:38:48 +00:00
|
|
|
type dnsmasq_var_run_t;
|
2010-01-05 15:26:14 +00:00
|
|
|
')
|
|
|
|
|
2010-09-17 07:43:44 +00:00
|
|
|
files_search_pids($1)
|
2010-02-08 18:38:48 +00:00
|
|
|
read_files_pattern($1, dnsmasq_var_run_t, dnsmasq_var_run_t)
|
2010-01-05 15:26:14 +00:00
|
|
|
')
|
|
|
|
|
2008-11-18 19:55:10 +00:00
|
|
|
########################################
|
|
|
|
## <summary>
|
2010-05-21 21:02:24 +00:00
|
|
|
## All of the rules required to administrate
|
2008-11-18 19:55:10 +00:00
|
|
|
## an dnsmasq environment
|
|
|
|
## </summary>
|
|
|
|
## <param name="domain">
|
|
|
|
## <summary>
|
|
|
|
## Domain allowed access.
|
|
|
|
## </summary>
|
|
|
|
## </param>
|
|
|
|
## <param name="role">
|
|
|
|
## <summary>
|
|
|
|
## The role to be allowed to manage the dnsmasq domain.
|
|
|
|
## </summary>
|
|
|
|
## </param>
|
|
|
|
## <rolecap/>
|
|
|
|
#
|
|
|
|
interface(`dnsmasq_admin',`
|
|
|
|
gen_require(`
|
|
|
|
type dnsmasq_t, dnsmasq_lease_t, dnsmasq_var_run_t;
|
|
|
|
type dnsmasq_initrc_exec_t;
|
|
|
|
')
|
|
|
|
|
|
|
|
allow $1 dnsmasq_t:process { ptrace signal_perms };
|
|
|
|
ps_process_pattern($1, dnsmasq_t)
|
|
|
|
|
|
|
|
init_labeled_script_domtrans($1, dnsmasq_initrc_exec_t)
|
|
|
|
domain_system_change_exemption($1)
|
|
|
|
role_transition $2 dnsmasq_initrc_exec_t system_r;
|
|
|
|
allow $2 system_r;
|
|
|
|
|
|
|
|
files_list_var_lib($1)
|
|
|
|
admin_pattern($1, dnsmasq_lease_t)
|
|
|
|
|
|
|
|
files_list_pids($1)
|
|
|
|
admin_pattern($1, dnsmasq_var_run_t)
|
|
|
|
')
|