1type ims, domain;
2type ims_exec, exec_type, vendor_file_type, file_type;
3init_daemon_domain(ims)
4
5net_domain(ims)
6
7allow ims self:{
8    socket
9    netlink_generic_socket
10    qipcrtr_socket
11} create_socket_perms_no_ioctl;
12
13set_prop(ims, vendor_qcom_ims_prop)
14
15#Allow access to netmgrd socket
16allow ims netmgrd_socket:dir r_dir_perms;
17unix_socket_connect(ims, netmgrd, netmgrd)
18allow ims netmgrd_socket:sock_file rw_file_perms;
19
20hwbinder_use(ims)
21get_prop(ims, hwservicemanager_prop)
22
23r_dir_file(ims, sysfs_msm_subsys)
24
25allow ims sysfs_soc:dir search;
26allow ims sysfs_soc:file r_file_perms;
27
28get_prop(ims, vendor_cnd_prop)
29
30# for wfc, video call
31binder_call(ims, cnd)
32allow ims hal_datafactory_hwservice:hwservice_manager find;
33
34allow ims vendor_radio_data_file:dir rw_dir_perms;
35allow ims vendor_radio_data_file:file create_file_perms;
36
37allow ims sysfs_timestamp_switch:file r_file_perms;
38
39#diag
40userdebug_or_eng(`
41    r_dir_file(ims, sysfs_diag)
42    allow ims diag_device:chr_file rw_file_perms;
43')
44
45set_prop(ims, ctl_start_prop)
46set_prop(ims, ctl_stop_prop)
47
48r_dir_file(ims, sysfs_ssr)
49
50dontaudit ims diag_device:chr_file rw_file_perms;
51