diff --git a/non_plat/file.te b/non_plat/file.te index dfe514a..e5daf23 100644 --- a/non_plat/file.te +++ b/non_plat/file.te @@ -446,3 +446,6 @@ type camera_vendor_data_file, file_type, data_file_type; # TEE type vendor_teei_data_file, file_type, data_file_type; + +# IMS +type volte_ua_socket, file_type; diff --git a/non_plat/file_contexts b/non_plat/file_contexts index 3af71b9..ef2388a 100644 --- a/non_plat/file_contexts +++ b/non_plat/file_contexts @@ -712,6 +712,8 @@ /(system\/vendor|vendor)/bin/ipsec_mon u:object_r:ipsec_mon_exec:s0 # IMS +/dev/socket/volte_ua(/.*)? u:object_r:volte_ua_socket:s0 /(system\/vendor|vendor)/bin/bip u:object_r:bip_exec:s0 /(system\/vendor|vendor)/bin/volte_imsm_93 u:object_r:volte_imsm_93_exec:s0 /(system\/vendor|vendor)/bin/volte_md_status u:object_r:volte_md_status_exec:s0 +/(system\/vendor|vendor)/bin/volte_ua u:object_r:volte_ua_exec:s0 diff --git a/non_plat/property.te b/non_plat/property.te index c4ebc43..16e2440 100644 --- a/non_plat/property.te +++ b/non_plat/property.te @@ -338,3 +338,4 @@ type mtk_network_prop, property_type, mtk_core_property_type; # IMS type mtk_md_status_prop, property_type; +type ctl_volte_ua_prop, property_type; diff --git a/non_plat/property_contexts b/non_plat/property_contexts index 06c06a9..28980b9 100644 --- a/non_plat/property_contexts +++ b/non_plat/property_contexts @@ -378,3 +378,4 @@ ro.mtk_cam_stereo_camera_support u:object_r:mtk_camera_prop:s0 # IMS vendor.volte_md_status u:object_r:mtk_md_status_prop:s0 vendor.ril.volte. u:object_r:mtk_volte_prop:s0 +ctl.vendor.volte_ua u:object_r:ctl_volte_ua_prop:s0 diff --git a/non_plat/volte_ua.te b/non_plat/volte_ua.te new file mode 100644 index 0000000..0a60bc8 --- /dev/null +++ b/non_plat/volte_ua.te @@ -0,0 +1,16 @@ +type volte_ua, domain, netdomain, mtkimsmddomain; +type volte_ua_exec, exec_type, file_type, vendor_file_type; + +init_daemon_domain(volte_ua) + +allow volte_ua { + socket_device + volte_ua_socket + netd_socket +}:sock_file write; + +allow volte_ua node:udp_socket node_bind; + +allow volte_ua self:udp_socket { create bind read setopt }; +allow volte_ua self:capability { setgid setuid }; +allow volte_ua self:capability2 { wake_alarm };