2016-05-20 04:31:20 +02:00
|
|
|
# wificond
|
|
|
|
type wificond, domain;
|
|
|
|
type wificond_exec, exec_type, file_type;
|
|
|
|
|
|
|
|
init_daemon_domain(wificond)
|
2016-06-03 19:08:56 +02:00
|
|
|
|
|
|
|
binder_use(wificond)
|
|
|
|
binder_call(wificond, system_server)
|
2016-06-30 17:20:29 +02:00
|
|
|
binder_call(wificond, wpa)
|
2016-06-03 19:08:56 +02:00
|
|
|
|
|
|
|
allow wificond wificond_service:service_manager { add find };
|
2016-06-30 23:23:12 +02:00
|
|
|
|
|
|
|
allow wificond sysfs_wlan_fwpath:file w_file_perms;
|
2016-06-29 20:28:20 +02:00
|
|
|
|
|
|
|
set_prop(wificond, wifi_prop)
|
2016-07-22 23:34:26 +02:00
|
|
|
set_prop(wificond, ctl_default_prop)
|
2016-07-01 02:48:12 +02:00
|
|
|
|
|
|
|
# create sockets to set interfaces up and down
|
|
|
|
allow wificond self:udp_socket create_socket_perms;
|
2016-07-19 01:48:50 +02:00
|
|
|
allow wificond self:capability { net_admin net_raw };
|
|
|
|
allow wificond self:netlink_socket create_socket_perms;
|
2016-07-01 02:48:12 +02:00
|
|
|
|
|
|
|
r_dir_file(wificond, proc_net)
|
2016-07-21 18:12:28 +02:00
|
|
|
|
|
|
|
# wificond writes out configuration files for wpa_supplicant/hostapd.
|
2016-07-29 19:26:54 +02:00
|
|
|
# wificond also reads pid files out of this directory
|
2016-07-21 18:12:28 +02:00
|
|
|
allow wificond wifi_data_file:dir rw_dir_perms;
|
|
|
|
allow wificond wifi_data_file:file create_file_perms;
|
|
|
|
# TODO: Remove fowner when wificond runs as the wifi user b/29870863
|
|
|
|
# We need this today, because we need to chmod hostapd/supplicant
|
|
|
|
# files, which are owned by system or wifi (not wificond's root).
|
|
|
|
allow wificond self:capability { chown fowner };
|
2016-07-29 19:26:54 +02:00
|
|
|
|
|
|
|
# wificond tries to gracefully kill hostapd by sending it a signal.
|
|
|
|
# wificond checks for hostapd liveliness with signull.
|
|
|
|
allow wificond hostapd:process { signal signull };
|
|
|
|
# wificond needs kill to drop mad signals on hostapd.
|
|
|
|
allow wificond self:capability kill;
|