summaryrefslogtreecommitdiff
path: root/wifi_diagnostic/wifi_diagnostic.te
blob: 23a39d3ba8545aeec069335cd1b4dbf151532031 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
type wifi_diagnostic, domain;
type wifi_diagnostic_exec, exec_type, vendor_file_type, file_type;

# make transition from init to its domain
userdebug_or_eng(`
init_daemon_domain(wifi_diagnostic)
net_domain(wifi_diagnostic)

# daemon
allow wifi_diagnostic wifi_logging_data_file:dir create_dir_perms;
allow wifi_diagnostic wifi_logging_data_file:file create_file_perms;
allow wifi_diagnostic vendor_shell_exec:file execute_no_trans;
allow wifi_diagnostic wifi_diagnostic_exec:file execute_no_trans;
allow wifi_diagnostic self:capability net_admin;
allow wifi_diagnostic self:udp_socket ioctl;
allowxperm wifi_diagnostic self:udp_socket ioctl { SIOCETHTOOL SIOCDEVPRIVATE };

# wpa_cli
allow wifi_diagnostic self:capability { setgid setuid };
allow wifi_diagnostic wpa_data_file:dir w_dir_perms;
allow wifi_diagnostic wpa_data_file:sock_file { create setattr write unlink };
allow wifi_diagnostic hal_wifi_supplicant_default:unix_dgram_socket sendto;
allow wifi_diagnostic vendor_file:file execute_no_trans;
allow wifi_diagnostic vendor_file:dir r_dir_perms;

# property
get_prop(wifi_diagnostic, vendor_wifi_diagnostic_prop)
set_prop(wifi_diagnostic, vendor_wifi_diagnostic_prop)
')