|
Chris PeBenito |
9401ae1 |
## <summary>Manager for dynamically switching between networks.</summary>
|
|
Chris PeBenito |
9401ae1 |
|
|
Chris PeBenito |
9401ae1 |
########################################
|
|
Chris PeBenito |
9401ae1 |
## <summary>
|
|
Dominick Grift |
21af0ce |
## Read and write networkmanager udp sockets.
|
|
Chris PeBenito |
9401ae1 |
## </summary>
|
|
Chris PeBenito |
9401ae1 |
## <param name="domain">
|
|
Chris PeBenito |
9401ae1 |
## <summary>
|
|
Chris PeBenito |
9401ae1 |
## Domain allowed access.
|
|
Chris PeBenito |
9401ae1 |
## </summary>
|
|
Chris PeBenito |
9401ae1 |
## </param>
|
|
Chris PeBenito |
9401ae1 |
#
|
|
Chris PeBenito |
9401ae1 |
interface(`networkmanager_rw_udp_sockets',`
|
|
Chris PeBenito |
9401ae1 |
gen_require(`
|
|
Chris PeBenito |
9401ae1 |
type NetworkManager_t;
|
|
Chris PeBenito |
9401ae1 |
')
|
|
Chris PeBenito |
9401ae1 |
|
|
Chris PeBenito |
9401ae1 |
allow $1 NetworkManager_t:udp_socket { read write };
|
|
Chris PeBenito |
9401ae1 |
')
|
|
Chris PeBenito |
9401ae1 |
|
|
Chris PeBenito |
9401ae1 |
########################################
|
|
Chris PeBenito |
9401ae1 |
## <summary>
|
|
Dominick Grift |
21af0ce |
## Read and write networkmanager packet sockets.
|
|
Chris PeBenito |
9401ae1 |
## </summary>
|
|
Chris PeBenito |
9401ae1 |
## <param name="domain">
|
|
Chris PeBenito |
9401ae1 |
## <summary>
|
|
Chris PeBenito |
9401ae1 |
## Domain allowed access.
|
|
Chris PeBenito |
9401ae1 |
## </summary>
|
|
Chris PeBenito |
9401ae1 |
## </param>
|
|
Chris PeBenito |
9401ae1 |
#
|
|
Chris PeBenito |
9401ae1 |
interface(`networkmanager_rw_packet_sockets',`
|
|
Chris PeBenito |
9401ae1 |
gen_require(`
|
|
Chris PeBenito |
9401ae1 |
type NetworkManager_t;
|
|
Chris PeBenito |
9401ae1 |
')
|
|
Chris PeBenito |
9401ae1 |
|
|
Chris PeBenito |
9401ae1 |
allow $1 NetworkManager_t:packet_socket { read write };
|
|
Chris PeBenito |
9401ae1 |
')
|
|
Chris PeBenito |
9401ae1 |
|
|
Chris PeBenito |
9401ae1 |
#######################################
|
|
Chris PeBenito |
9401ae1 |
## <summary>
|
|
Dominick Grift |
21af0ce |
## Relabel networkmanager tun socket.
|
|
Chris PeBenito |
9401ae1 |
## </summary>
|
|
Chris PeBenito |
9401ae1 |
## <param name="domain">
|
|
Chris PeBenito |
9401ae1 |
## <summary>
|
|
Chris PeBenito |
9401ae1 |
## Domain allowed access.
|
|
Chris PeBenito |
9401ae1 |
## </summary>
|
|
Chris PeBenito |
9401ae1 |
## </param>
|
|
Chris PeBenito |
9401ae1 |
#
|
|
Chris PeBenito |
9401ae1 |
interface(`networkmanager_attach_tun_iface',`
|
|
Chris PeBenito |
9401ae1 |
gen_require(`
|
|
Chris PeBenito |
9401ae1 |
type NetworkManager_t;
|
|
Chris PeBenito |
9401ae1 |
')
|
|
Chris PeBenito |
9401ae1 |
|
|
Chris PeBenito |
9401ae1 |
allow $1 NetworkManager_t:tun_socket relabelfrom;
|
|
Chris PeBenito |
9401ae1 |
allow $1 self:tun_socket relabelto;
|
|
Chris PeBenito |
9401ae1 |
')
|
|
Chris PeBenito |
9401ae1 |
|
|
Chris PeBenito |
9401ae1 |
########################################
|
|
Chris PeBenito |
9401ae1 |
## <summary>
|
|
Dominick Grift |
21af0ce |
## Read and write networkmanager netlink
|
|
Chris PeBenito |
9401ae1 |
## routing sockets.
|
|
Chris PeBenito |
9401ae1 |
## </summary>
|
|
Chris PeBenito |
9401ae1 |
## <param name="domain">
|
|
Chris PeBenito |
9401ae1 |
## <summary>
|
|
Chris PeBenito |
9401ae1 |
## Domain allowed access.
|
|
Chris PeBenito |
9401ae1 |
## </summary>
|
|
Chris PeBenito |
9401ae1 |
## </param>
|
|
Chris PeBenito |
9401ae1 |
#
|
|
Chris PeBenito |
9401ae1 |
interface(`networkmanager_rw_routing_sockets',`
|
|
Chris PeBenito |
9401ae1 |
gen_require(`
|
|
Chris PeBenito |
9401ae1 |
type NetworkManager_t;
|
|
Chris PeBenito |
9401ae1 |
')
|
|
Chris PeBenito |
9401ae1 |
|
|
Chris PeBenito |
9401ae1 |
allow $1 NetworkManager_t:netlink_route_socket { read write };
|
|
Chris PeBenito |
9401ae1 |
')
|
|
Chris PeBenito |
9401ae1 |
|
|
Chris PeBenito |
9401ae1 |
########################################
|
|
Chris PeBenito |
9401ae1 |
## <summary>
|
|
Dominick Grift |
21af0ce |
## Execute networkmanager with a domain transition.
|
|
Chris PeBenito |
9401ae1 |
## </summary>
|
|
Chris PeBenito |
9401ae1 |
## <param name="domain">
|
|
Chris PeBenito |
9401ae1 |
## <summary>
|
|
Chris PeBenito |
9401ae1 |
## Domain allowed to transition.
|
|
Chris PeBenito |
9401ae1 |
## </summary>
|
|
Chris PeBenito |
9401ae1 |
## </param>
|
|
Chris PeBenito |
9401ae1 |
#
|
|
Chris PeBenito |
9401ae1 |
interface(`networkmanager_domtrans',`
|
|
Chris PeBenito |
9401ae1 |
gen_require(`
|
|
Chris PeBenito |
9401ae1 |
type NetworkManager_t, NetworkManager_exec_t;
|
|
Chris PeBenito |
9401ae1 |
')
|
|
Chris PeBenito |
9401ae1 |
|
|
Chris PeBenito |
9401ae1 |
corecmd_search_bin($1)
|
|
Chris PeBenito |
9401ae1 |
domtrans_pattern($1, NetworkManager_exec_t, NetworkManager_t)
|
|
Chris PeBenito |
9401ae1 |
')
|
|
Chris PeBenito |
9401ae1 |
|
|
Chris PeBenito |
9401ae1 |
########################################
|
|
Chris PeBenito |
9401ae1 |
## <summary>
|
|
Dominick Grift |
21af0ce |
## Execute networkmanager scripts with
|
|
Dominick Grift |
21af0ce |
## an automatic domain transition to initrc.
|
|
Chris PeBenito |
9401ae1 |
## </summary>
|
|
Chris PeBenito |
9401ae1 |
## <param name="domain">
|
|
Chris PeBenito |
9401ae1 |
## <summary>
|
|
Chris PeBenito |
9401ae1 |
## Domain allowed to transition.
|
|
Chris PeBenito |
9401ae1 |
## </summary>
|
|
Chris PeBenito |
9401ae1 |
## </param>
|
|
Chris PeBenito |
9401ae1 |
#
|
|
Chris PeBenito |
9401ae1 |
interface(`networkmanager_initrc_domtrans',`
|
|
Chris PeBenito |
9401ae1 |
gen_require(`
|
|
Chris PeBenito |
9401ae1 |
type NetworkManager_initrc_exec_t;
|
|
Chris PeBenito |
9401ae1 |
')
|
|
Chris PeBenito |
9401ae1 |
|
|
Chris PeBenito |
9401ae1 |
init_labeled_script_domtrans($1, NetworkManager_initrc_exec_t)
|
|
Chris PeBenito |
9401ae1 |
')
|
|
Chris PeBenito |
9401ae1 |
|
|
Chris PeBenito |
9401ae1 |
########################################
|
|
Chris PeBenito |
9401ae1 |
## <summary>
|
|
Chris PeBenito |
9401ae1 |
## Send and receive messages from
|
|
Dominick Grift |
21af0ce |
## networkmanager over dbus.
|
|
Chris PeBenito |
9401ae1 |
## </summary>
|
|
Chris PeBenito |
9401ae1 |
## <param name="domain">
|
|
Chris PeBenito |
9401ae1 |
## <summary>
|
|
Chris PeBenito |
9401ae1 |
## Domain allowed access.
|
|
Chris PeBenito |
9401ae1 |
## </summary>
|
|
Chris PeBenito |
9401ae1 |
## </param>
|
|
Chris PeBenito |
9401ae1 |
#
|
|
Chris PeBenito |
9401ae1 |
interface(`networkmanager_dbus_chat',`
|
|
Chris PeBenito |
9401ae1 |
gen_require(`
|
|
Chris PeBenito |
9401ae1 |
type NetworkManager_t;
|
|
Chris PeBenito |
9401ae1 |
class dbus send_msg;
|
|
Chris PeBenito |
9401ae1 |
')
|
|
Chris PeBenito |
9401ae1 |
|
|
Chris PeBenito |
9401ae1 |
allow $1 NetworkManager_t:dbus send_msg;
|
|
Chris PeBenito |
9401ae1 |
allow NetworkManager_t $1:dbus send_msg;
|
|
Chris PeBenito |
9401ae1 |
')
|
|
Chris PeBenito |
9401ae1 |
|
|
Chris PeBenito |
9401ae1 |
########################################
|
|
Chris PeBenito |
9401ae1 |
## <summary>
|
|
Dominick Grift |
21af0ce |
## Send generic signals to networkmanager.
|
|
Chris PeBenito |
9401ae1 |
## </summary>
|
|
Chris PeBenito |
9401ae1 |
## <param name="domain">
|
|
Chris PeBenito |
9401ae1 |
## <summary>
|
|
Chris PeBenito |
9401ae1 |
## Domain allowed access.
|
|
Chris PeBenito |
9401ae1 |
## </summary>
|
|
Chris PeBenito |
9401ae1 |
## </param>
|
|
Chris PeBenito |
9401ae1 |
#
|
|
Chris PeBenito |
9401ae1 |
interface(`networkmanager_signal',`
|
|
Chris PeBenito |
9401ae1 |
gen_require(`
|
|
Chris PeBenito |
9401ae1 |
type NetworkManager_t;
|
|
Chris PeBenito |
9401ae1 |
')
|
|
Chris PeBenito |
9401ae1 |
|
|
Chris PeBenito |
9401ae1 |
allow $1 NetworkManager_t:process signal;
|
|
Chris PeBenito |
9401ae1 |
')
|
|
Chris PeBenito |
9401ae1 |
|
|
Chris PeBenito |
9401ae1 |
########################################
|
|
Chris PeBenito |
9401ae1 |
## <summary>
|
|
Dominick Grift |
21af0ce |
## Read networkmanager lib files.
|
|
Chris PeBenito |
9401ae1 |
## </summary>
|
|
Chris PeBenito |
9401ae1 |
## <param name="domain">
|
|
Chris PeBenito |
9401ae1 |
## <summary>
|
|
Chris PeBenito |
9401ae1 |
## Domain allowed access.
|
|
Chris PeBenito |
9401ae1 |
## </summary>
|
|
Chris PeBenito |
9401ae1 |
## </param>
|
|
Chris PeBenito |
9401ae1 |
#
|
|
Chris PeBenito |
9401ae1 |
interface(`networkmanager_read_lib_files',`
|
|
Chris PeBenito |
9401ae1 |
gen_require(`
|
|
Chris PeBenito |
9401ae1 |
type NetworkManager_var_lib_t;
|
|
Chris PeBenito |
9401ae1 |
')
|
|
Chris PeBenito |
9401ae1 |
|
|
Chris PeBenito |
9401ae1 |
files_search_var_lib($1)
|
|
Chris PeBenito |
9401ae1 |
list_dirs_pattern($1, NetworkManager_var_lib_t, NetworkManager_var_lib_t)
|
|
Chris PeBenito |
9401ae1 |
read_files_pattern($1, NetworkManager_var_lib_t, NetworkManager_var_lib_t)
|
|
Chris PeBenito |
9401ae1 |
')
|
|
Chris PeBenito |
9401ae1 |
|
|
Chris PeBenito |
9401ae1 |
########################################
|
|
Chris PeBenito |
9401ae1 |
## <summary>
|
|
Dominick Grift |
21af0ce |
## Append networkmanager log files.
|
|
Dominick Grift |
28b22b2 |
## </summary>
|
|
Dominick Grift |
28b22b2 |
## <param name="domain">
|
|
Dominick Grift |
28b22b2 |
## <summary>
|
|
Dominick Grift |
28b22b2 |
## Domain allowed access.
|
|
Dominick Grift |
28b22b2 |
## </summary>
|
|
Dominick Grift |
28b22b2 |
## </param>
|
|
Dominick Grift |
28b22b2 |
#
|
|
Dominick Grift |
28b22b2 |
interface(`networkmanager_append_log_files',`
|
|
Dominick Grift |
28b22b2 |
gen_require(`
|
|
Dominick Grift |
28b22b2 |
type NetworkManager_log_t;
|
|
Dominick Grift |
28b22b2 |
')
|
|
Dominick Grift |
28b22b2 |
|
|
Dominick Grift |
28b22b2 |
logging_search_logs($1)
|
|
Dominick Grift |
28b22b2 |
allow $1 NetworkManager_log_t:dir list_dir_perms;
|
|
Dominick Grift |
28b22b2 |
append_files_pattern($1, NetworkManager_log_t, NetworkManager_log_t)
|
|
Dominick Grift |
28b22b2 |
')
|
|
Dominick Grift |
28b22b2 |
|
|
Dominick Grift |
28b22b2 |
########################################
|
|
Dominick Grift |
28b22b2 |
## <summary>
|
|
Dominick Grift |
21af0ce |
## Read networkmanager pid files.
|
|
Chris PeBenito |
9401ae1 |
## </summary>
|
|
Chris PeBenito |
9401ae1 |
## <param name="domain">
|
|
Chris PeBenito |
9401ae1 |
## <summary>
|
|
Chris PeBenito |
9401ae1 |
## Domain allowed access.
|
|
Chris PeBenito |
9401ae1 |
## </summary>
|
|
Chris PeBenito |
9401ae1 |
## </param>
|
|
Chris PeBenito |
9401ae1 |
#
|
|
Chris PeBenito |
9401ae1 |
interface(`networkmanager_read_pid_files',`
|
|
Chris PeBenito |
9401ae1 |
gen_require(`
|
|
Chris PeBenito |
9401ae1 |
type NetworkManager_var_run_t;
|
|
Chris PeBenito |
9401ae1 |
')
|
|
Chris PeBenito |
9401ae1 |
|
|
Chris PeBenito |
9401ae1 |
files_search_pids($1)
|
|
Chris PeBenito |
9401ae1 |
allow $1 NetworkManager_var_run_t:file read_file_perms;
|
|
Chris PeBenito |
9401ae1 |
')
|
|
Dominick Grift |
21af0ce |
|
|
Dominick Grift |
21af0ce |
########################################
|
|
Dominick Grift |
21af0ce |
## <summary>
|
|
Dominick Grift |
21af0ce |
## All of the rules required to
|
|
Dominick Grift |
21af0ce |
## administrate an networkmanager environment.
|
|
Dominick Grift |
21af0ce |
## </summary>
|
|
Dominick Grift |
21af0ce |
## <param name="domain">
|
|
Dominick Grift |
21af0ce |
## <summary>
|
|
Dominick Grift |
21af0ce |
## Domain allowed access.
|
|
Dominick Grift |
21af0ce |
## </summary>
|
|
Dominick Grift |
21af0ce |
## </param>
|
|
Dominick Grift |
21af0ce |
## <param name="role">
|
|
Dominick Grift |
21af0ce |
## <summary>
|
|
Dominick Grift |
21af0ce |
## Role allowed access.
|
|
Dominick Grift |
21af0ce |
## </summary>
|
|
Dominick Grift |
21af0ce |
## </param>
|
|
Dominick Grift |
21af0ce |
## <rolecap/>
|
|
Dominick Grift |
21af0ce |
#
|
|
Dominick Grift |
21af0ce |
interface(`networkmanager_admin',`
|
|
Dominick Grift |
21af0ce |
gen_require(`
|
|
Dominick Grift |
21af0ce |
type NetworkManager_t, NetworkManager_initrc_exec_t, NetworkManager_etc_t;
|
|
Dominick Grift |
21af0ce |
type NetworkManager_etc_rw_t, NetworkManager_log_t, NetworkManager_tmp_t;
|
|
Dominick Grift |
21af0ce |
type NetworkManager_var_lib_t, NetworkManager_var_run_t, wpa_cli_t;
|
|
Dominick Grift |
21af0ce |
')
|
|
Dominick Grift |
21af0ce |
|
|
Dominick Grift |
21af0ce |
allow $1 { wpa_cli_t NetworkManager_t }:process { ptrace signal_perms };
|
|
Dominick Grift |
21af0ce |
ps_process_pattern($1, { wpa_cli_t NetworkManager_t })
|
|
Dominick Grift |
21af0ce |
|
|
Dominick Grift |
21af0ce |
init_labeled_script_domtrans($1, NetworkManager_initrc_exec_t)
|
|
Dominick Grift |
21af0ce |
domain_system_change_exemption($1)
|
|
Dominick Grift |
21af0ce |
role_transition $2 NetworkManager_initrc_exec_t system_r;
|
|
Dominick Grift |
21af0ce |
allow $2 system_r;
|
|
Dominick Grift |
21af0ce |
|
|
Dominick Grift |
21af0ce |
logging_search_etc($1)
|
|
Dominick Grift |
21af0ce |
admin_pattern($1, { NetworkManager_etc_t NetworkManager_etc_rw_t })
|
|
Dominick Grift |
21af0ce |
|
|
Dominick Grift |
21af0ce |
logging_search_logs($1)
|
|
Dominick Grift |
21af0ce |
admin_pattern($1, NetworkManager_log_t)
|
|
Dominick Grift |
21af0ce |
|
|
Dominick Grift |
21af0ce |
files_search_var_lib($1)
|
|
Dominick Grift |
21af0ce |
admin_pattern($1, NetworkManager_var_lib_t)
|
|
Dominick Grift |
21af0ce |
|
|
Dominick Grift |
21af0ce |
files_search_pids($1)
|
|
Dominick Grift |
21af0ce |
admin_pattern($1, NetworkManager_var_run_t)
|
|
Dominick Grift |
21af0ce |
|
|
Dominick Grift |
21af0ce |
files_search_tmp($1)
|
|
Dominick Grift |
21af0ce |
admin_pattern($1, NetworkManager_tmp_t)
|
|
Dominick Grift |
21af0ce |
')
|