# property contexts for microdroid
# microdroid uses far fewer properties than normal Android, so almost
# every property is listed as an exact entry.

debug.         u:object_r:debug_prop:s0 prefix
persist.debug. u:object_r:debug_prop:s0 prefix

init.svc_debug_pid. u:object_r:init_svc_debug_prop:s0 prefix int

ctl.sigstop_on$         u:object_r:ctl_sigstop_prop:s0
ctl.sigstop_off$        u:object_r:ctl_sigstop_prop:s0
ctl.start$              u:object_r:ctl_start_prop:s0
ctl.stop$               u:object_r:ctl_stop_prop:s0
ctl.restart$            u:object_r:ctl_restart_prop:s0
ctl.interface_start$    u:object_r:ctl_interface_start_prop:s0
ctl.interface_stop$     u:object_r:ctl_interface_stop_prop:s0
ctl.interface_restart$  u:object_r:ctl_interface_restart_prop:s0

ctl.start$adbd   u:object_r:ctl_adbd_prop:s0
ctl.stop$adbd    u:object_r:ctl_adbd_prop:s0
ctl.restart$adbd u:object_r:ctl_adbd_prop:s0

ctl.stop$apexd u:object_r:ctl_apexd_prop:s0

ctl.start$apexd-vm      u:object_r:ctl_apexd_vm_prop:s0
ctl.start$apkdmverity   u:object_r:ctl_apkdmverity_prop:s0
ctl.start$authfs_service u:object_r:ctl_authfs_prop:s0
ctl.start$seriallogging u:object_r:ctl_seriallogging_prop:s0
ctl.start$zipfuse       u:object_r:ctl_zipfuse_prop:s0

ctl.console     u:object_r:ctl_console_prop:s0
ctl.fuse_       u:object_r:ctl_fuse_prop:s0
ctl.            u:object_r:ctl_default_prop:s0

sys.init.perf_lsm_hooks u:object_r:init_perf_lsm_hooks_prop:s0 exact bool
sys.powerctl            u:object_r:powerctl_prop:s0

service.adb.root u:object_r:shell_prop:s0 exact bool

dev.bootcomplete   u:object_r:boot_status_prop:s0 exact bool

ro.config.low_ram u:object_r:build_prop:s0 exact bool

ro.boottime.adbd                      u:object_r:boottime_prop:s0 exact int
ro.boottime.apexd-vm                  u:object_r:boottime_prop:s0 exact int
ro.boottime.apkdmverity               u:object_r:boottime_prop:s0 exact int
ro.boottime.authfs_service            u:object_r:boottime_prop:s0 exact int
ro.boottime.init                      u:object_r:boottime_prop:s0 exact int
ro.boottime.init.cold_boot_wait       u:object_r:boottime_prop:s0 exact int
ro.boottime.init.first_stage          u:object_r:boottime_prop:s0 exact int
ro.boottime.init.modules              u:object_r:boottime_prop:s0 exact int
ro.boottime.init.selinux              u:object_r:boottime_prop:s0 exact int
ro.boottime.microdroid_manager        u:object_r:boottime_prop:s0 exact int
ro.boottime.ueventd                   u:object_r:boottime_prop:s0 exact int
ro.boottime.zipfuse                   u:object_r:boottime_prop:s0 exact int

ro.build.fingerprint u:object_r:fingerprint_prop:s0 exact string

apexd.status      u:object_r:apexd_prop:s0 exact enum starting activated ready
ro.apex.updatable u:object_r:apexd_prop:s0 exact bool

ro.cold_boot_done u:object_r:cold_boot_done_prop:s0 exact bool

sys.usb.controller     u:object_r:usb_control_prop:s0 exact string
persist.sys.usb.config u:object_r:usb_control_prop:s0 exact string

init.svc.apexd-vm           u:object_r:init_service_status_private_prop:s0 exact string
init.svc.apkdmverity        u:object_r:init_service_status_private_prop:s0 exact string
init.svc.authfs_service     u:object_r:init_service_status_private_prop:s0 exact string
init.svc.microdroid_manager u:object_r:init_service_status_private_prop:s0 exact string
init.svc.ueventd            u:object_r:init_service_status_private_prop:s0 exact string
init.svc.zipfuse            u:object_r:init_service_status_private_prop:s0 exact string

init.svc.adbd       u:object_r:init_service_status_prop:s0 exact string

ro.boot.adb.enabled                u:object_r:bootloader_prop:s0 exact bool
ro.boot.avb_version                u:object_r:bootloader_prop:s0 exact string
ro.boot.boot_devices               u:object_r:bootloader_prop:s0 exact string
ro.boot.first_stage_console        u:object_r:bootloader_prop:s0 exact string
ro.boot.force_normal_boot          u:object_r:bootloader_prop:s0 exact string
ro.boot.hardware                   u:object_r:bootloader_prop:s0 exact string
ro.boot.microdroid.debuggable      u:object_r:bootloader_prop:s0 exact bool
ro.boot.slot_suffix                u:object_r:bootloader_prop:s0 exact string
ro.boot.vbmeta.avb_version         u:object_r:bootloader_prop:s0 exact string
ro.boot.vbmeta.device_state        u:object_r:bootloader_prop:s0 exact string
ro.boot.vbmeta.digest              u:object_r:bootloader_prop:s0 exact string
ro.boot.vbmeta.hash_alg            u:object_r:bootloader_prop:s0 exact string
ro.boot.vbmeta.invalidate_on_error u:object_r:bootloader_prop:s0 exact string
ro.boot.vbmeta.size                u:object_r:bootloader_prop:s0 exact string
ro.boot.verifiedbootstate          u:object_r:bootloader_prop:s0 exact string
ro.boot.veritymode                 u:object_r:bootloader_prop:s0 exact string

ro.baseband   u:object_r:bootloader_prop:s0 exact string
ro.bootloader u:object_r:bootloader_prop:s0 exact string
ro.bootmode   u:object_r:bootloader_prop:s0 exact string
ro.hardware   u:object_r:bootloader_prop:s0 exact string
ro.revision   u:object_r:bootloader_prop:s0 exact string

ro.build.id                     u:object_r:build_prop:s0 exact string
ro.build.version.codename       u:object_r:build_prop:s0 exact string
ro.build.version.release        u:object_r:build_prop:s0 exact string
ro.build.version.sdk            u:object_r:build_prop:s0 exact int
ro.build.version.security_patch u:object_r:build_prop:s0 exact string
ro.build.version.known_codenames u:object_r:build_prop:s0 exact string
ro.product.cpu.abilist          u:object_r:build_prop:s0 exact string
ro.adb.secure                   u:object_r:build_prop:s0 exact bool

ro.debuggable                   u:object_r:debuggable_prop:s0 exact bool

ro.property_service.version u:object_r:property_service_version_prop:s0 exact int

apex_config.done u:object_r:apex_config_prop:s0 exact bool

microdroid_manager.apk_root_hash u:object_r:microdroid_manager_roothash_prop:s0 exact string
microdroid_manager.apk.mounted u:object_r:microdroid_manager_zipfuse_prop:s0 exact bool
microdroid_manager.extra_apk.mounted. u:object_r:microdroid_manager_zipfuse_prop:s0 prefix bool

microdroid_manager.authfs.enabled u:object_r:microdroid_config_prop:s0 exact bool
microdroid_manager.export_tombstones.enabled u:object_r:microdroid_config_prop:s0 exact bool

microdroid_manager.config_done u:object_r:microdroid_lifecycle_prop:s0 exact bool
microdroid_manager.init_done u:object_r:microdroid_lifecycle_prop:s0 exact bool

init_debug_policy.adbd.enabled u:object_r:init_debug_policy_prop:s0 exact bool

dev.mnt.blk.root   u:object_r:dev_mnt_prop:s0 exact string
dev.mnt.blk.vendor u:object_r:dev_mnt_prop:s0 exact string
dev.mnt.dev.root   u:object_r:dev_mnt_prop:s0 exact string
dev.mnt.dev.vendor u:object_r:dev_mnt_prop:s0 exact string

gsid.image_installed  u:object_r:gsid_prop:s0 exact bool
ro.gsid.image_running u:object_r:gsid_prop:s0 exact bool

service.adb.listen_addrs u:object_r:adbd_prop:s0 exact string

persist.adb.wifi.guid  u:object_r:adbd_prop:s0 exact string

ro.log.file_logger.path    u:object_r:log_prop:s0 exact string

log.tag          u:object_r:log_tag_prop:s0 prefix
persist.log.tag  u:object_r:log_tag_prop:s0 prefix

libc.debug.malloc.options u:object_r:libc_debug_prop:s0 exact string
libc.debug.malloc.program u:object_r:libc_debug_prop:s0 exact string
libc.debug.hooks.enable   u:object_r:libc_debug_prop:s0 exact string

arm64.memtag. u:object_r:arm64_memtag_prop:s0 prefix string
persist.arm64.memtag.             u:object_r:non_existing_prop:s0 prefix string

persist.sys.timezone u:object_r:timezone_prop:s0 exact string

ro.vndk.version  u:object_r:build_prop:s0 exact string

heapprofd.enable u:object_r:heapprofd_prop:s0 exact bool

# ART properties for CompOS.
dalvik.vm.                                  u:object_r:dalvik_config_prop:s0 prefix
ro.dalvik.vm.                               u:object_r:dalvik_config_prop:s0 prefix
persist.device_config.runtime_native.       u:object_r:device_config_runtime_native_prop:s0 prefix
persist.device_config.runtime_native_boot.  u:object_r:device_config_runtime_native_boot_prop:s0 prefix

# A list of ART properties that can be set dynamically.
dalvik.vm.background-dex2oat-cpu-set          u:object_r:dalvik_dynamic_config_prop:s0 exact string
dalvik.vm.background-dex2oat-threads          u:object_r:dalvik_dynamic_config_prop:s0 exact int
dalvik.vm.boot-dex2oat-cpu-set                u:object_r:dalvik_dynamic_config_prop:s0 exact string
dalvik.vm.boot-dex2oat-threads                u:object_r:dalvik_dynamic_config_prop:s0 exact int
dalvik.vm.dex2oat-cpu-set                     u:object_r:dalvik_dynamic_config_prop:s0 exact string
dalvik.vm.dex2oat-threads                     u:object_r:dalvik_dynamic_config_prop:s0 exact int
dalvik.vm.image-dex2oat-cpu-set               u:object_r:dalvik_dynamic_config_prop:s0 exact string
dalvik.vm.image-dex2oat-threads               u:object_r:dalvik_dynamic_config_prop:s0 exact int
dalvik.vm.restore-dex2oat-cpu-set             u:object_r:dalvik_dynamic_config_prop:s0 exact string
dalvik.vm.restore-dex2oat-threads             u:object_r:dalvik_dynamic_config_prop:s0 exact int

apexd.payload_metadata.path u:object_r:apexd_payload_metadata_prop:s0 exact string

# These non_existing_prop properties are unused in microdroid, but added here to suppress libc's
# access denial logs.
libc.debug.gwp_asan.              u:object_r:non_existing_prop:s0 prefix string
persist.libc.debug.gwp_asan.      u:object_r:non_existing_prop:s0 prefix string
persist.adb.tls_server.enable     u:object_r:non_existing_prop:s0 exact bool
persist.adb.watchdog.timeout_secs u:object_r:non_existing_prop:s0 exact int
persist.adb.watchdog              u:object_r:non_existing_prop:s0 exact bool
persist.device_config.            u:object_r:non_existing_prop:s0 prefix string
persist.sys.test_harness          u:object_r:non_existing_prop:s0 exact bool
ro.arch                           u:object_r:non_existing_prop:s0 exact string
ro.boot.vsock_tombstone_port      u:object_r:non_existing_prop:s0 exact int
ro.product.device                 u:object_r:non_existing_prop:s0 exact string
ro.product.model                  u:object_r:non_existing_prop:s0 exact string
ro.product.name                   u:object_r:non_existing_prop:s0 exact string
ro.product.vndk.version           u:object_r:non_existing_prop:s0 exact string
ro.secure                         u:object_r:non_existing_prop:s0 exact bool
ro.serialno                       u:object_r:non_existing_prop:s0 exact string
