3e8dbf01ef
app_domain was split up in commit:2e00e6373f
to enable compilation by hiding type_transition rules from public policy. These rules need to be hidden from public policy because they describe how objects are labeled, of which non-platform should be unaware. Instead of cutting apart the app_domain macro, which non-platform policy may rely on for implementing new app types, move all app_domain calls to private policy. (cherry-pick of commit:76035ea019
) Bug: 33428593 Test: bullhead and sailfish both boot. sediff shows no policy change. Change-Id: I4beead8ccc9b6e13c6348da98bb575756f539665
78 lines
2 KiB
Text
78 lines
2 KiB
Text
#
|
|
# Apps that run with the system UID, e.g. com.android.system.ui,
|
|
# com.android.settings. These are not as privileged as the system
|
|
# server.
|
|
#
|
|
type system_app, domain, domain_deprecated;
|
|
|
|
net_domain(system_app)
|
|
binder_service(system_app)
|
|
|
|
# Read and write /data/data subdirectory.
|
|
allow system_app system_app_data_file:dir create_dir_perms;
|
|
allow system_app system_app_data_file:{ file lnk_file } create_file_perms;
|
|
|
|
# Read and write to /data/misc/user.
|
|
allow system_app misc_user_data_file:dir create_dir_perms;
|
|
allow system_app misc_user_data_file:file create_file_perms;
|
|
|
|
# Access to vold-mounted storage for measuring free space
|
|
allow system_app mnt_media_rw_file:dir search;
|
|
|
|
# Read wallpaper file.
|
|
allow system_app wallpaper_file:file r_file_perms;
|
|
|
|
# Read icon file.
|
|
allow system_app icon_file:file r_file_perms;
|
|
|
|
# Write to properties
|
|
set_prop(system_app, bluetooth_prop)
|
|
set_prop(system_app, debug_prop)
|
|
set_prop(system_app, system_prop)
|
|
set_prop(system_app, logd_prop)
|
|
set_prop(system_app, net_radio_prop)
|
|
set_prop(system_app, system_radio_prop)
|
|
set_prop(system_app, log_tag_prop)
|
|
userdebug_or_eng(`set_prop(system_app, logpersistd_logging_prop)')
|
|
auditallow system_app net_radio_prop:property_service set;
|
|
auditallow system_app system_radio_prop:property_service set;
|
|
|
|
# ctl interface
|
|
set_prop(system_app, ctl_default_prop)
|
|
set_prop(system_app, ctl_bugreport_prop)
|
|
|
|
# Create /data/anr/traces.txt.
|
|
allow system_app anr_data_file:dir ra_dir_perms;
|
|
allow system_app anr_data_file:file create_file_perms;
|
|
|
|
# Settings need to access app name and icon from asec
|
|
allow system_app asec_apk_file:file r_file_perms;
|
|
|
|
allow system_app servicemanager:service_manager list;
|
|
# TODO: scope this down? Too broad?
|
|
allow system_app { service_manager_type -netd_service -dumpstate_service -installd_service }:service_manager find;
|
|
|
|
allow system_app keystore:keystore_key {
|
|
get_state
|
|
get
|
|
insert
|
|
delete
|
|
exist
|
|
list
|
|
reset
|
|
password
|
|
lock
|
|
unlock
|
|
is_empty
|
|
sign
|
|
verify
|
|
grant
|
|
duplicate
|
|
clear_uid
|
|
user_changed
|
|
};
|
|
|
|
# /sys access
|
|
r_dir_file(system_app, sysfs_type)
|
|
|
|
control_logd(system_app)
|