Skip to content
Snippets Groups Projects
Commit 1134bd00 authored by Dongwon Kang's avatar Dongwon Kang
Browse files

Allow mediaextractor to load libraries from apk_data_file

This is an experimental feature only on userdebug and eng build.

Test: play MP4 file. install & uninstall media update apk.
Bug: 67908547
Change-Id: I513cdbfda962f00079e886b7a42f9928e81f6474
parent e2f4140c
No related branches found
No related tags found
No related merge requests found
...@@ -243,3 +243,6 @@ full_treble_only(` ...@@ -243,3 +243,6 @@ full_treble_only(`
-untrusted_app_visible_halserver -untrusted_app_visible_halserver
}:binder { call transfer }; }:binder { call transfer };
') ')
# Untrusted apps are not allowed to find mediaextractor update service.
neverallow all_untrusted_apps mediaextractor_update_service:service_manager find;
...@@ -52,6 +52,7 @@ ...@@ -52,6 +52,7 @@
lowpan_device lowpan_device
lowpan_prop lowpan_prop
lowpan_service lowpan_service
mediaextractor_update_service
mediaprovider_tmpfs mediaprovider_tmpfs
netd_stable_secret_prop netd_stable_secret_prop
network_watchlist_data_file network_watchlist_data_file
......
...@@ -88,6 +88,7 @@ media.log u:object_r:audioserver_service:s0 ...@@ -88,6 +88,7 @@ media.log u:object_r:audioserver_service:s0
media.player u:object_r:mediaserver_service:s0 media.player u:object_r:mediaserver_service:s0
media.metrics u:object_r:mediametrics_service:s0 media.metrics u:object_r:mediametrics_service:s0
media.extractor u:object_r:mediaextractor_service:s0 media.extractor u:object_r:mediaextractor_service:s0
media.extractor.update u:object_r:mediaextractor_update_service:s0
media.codec u:object_r:mediacodec_service:s0 media.codec u:object_r:mediacodec_service:s0
media.resource_manager u:object_r:mediaserver_service:s0 media.resource_manager u:object_r:mediaserver_service:s0
media.sound_trigger_hw u:object_r:audioserver_service:s0 media.sound_trigger_hw u:object_r:audioserver_service:s0
......
...@@ -746,6 +746,11 @@ allow system_server netd:bpf { map_read map_write }; ...@@ -746,6 +746,11 @@ allow system_server netd:bpf { map_read map_write };
allow system_server user_profile_data_file:dir { search }; allow system_server user_profile_data_file:dir { search };
allow system_server user_profile_data_file:file { getattr open read }; allow system_server user_profile_data_file:file { getattr open read };
userdebug_or_eng(`
# Allow system server to notify mediaextractor of the plugin update.
allow system_server mediaextractor_update_service:service_manager find;
')
### ###
### Neverallow rules ### Neverallow rules
### ###
......
...@@ -416,6 +416,7 @@ neverallow { ...@@ -416,6 +416,7 @@ neverallow {
userdebug_or_eng(`-su') userdebug_or_eng(`-su')
-webview_zygote -webview_zygote
-zygote -zygote
userdebug_or_eng(`-mediaextractor')
} { } {
file_type file_type
-system_file -system_file
......
...@@ -37,6 +37,15 @@ allow mediaextractor ringtone_file:file { read getattr }; ...@@ -37,6 +37,15 @@ allow mediaextractor ringtone_file:file { read getattr };
# scan extractor library directory to dynamically load extractors # scan extractor library directory to dynamically load extractors
allow mediaextractor system_file:dir { read open }; allow mediaextractor system_file:dir { read open };
userdebug_or_eng(`
# Allow extractor to add update service.
add_service(mediaextractor, mediaextractor_update_service)
# Allow extractor to load media extractor plugins from update apk.
allow mediaextractor apk_data_file:dir search;
allow mediaextractor apk_data_file:file { execute open };
')
### ###
### neverallow rules ### neverallow rules
### ###
...@@ -63,4 +72,5 @@ neverallow mediaextractor domain:{ tcp_socket udp_socket rawip_socket } *; ...@@ -63,4 +72,5 @@ neverallow mediaextractor domain:{ tcp_socket udp_socket rawip_socket } *;
neverallow mediaextractor { neverallow mediaextractor {
data_file_type data_file_type
-zoneinfo_data_file # time zone data from /data/misc/zoneinfo -zoneinfo_data_file # time zone data from /data/misc/zoneinfo
userdebug_or_eng(`-apk_data_file') # for loading media extractor plugins
}:file open; }:file open;
...@@ -16,6 +16,7 @@ type keystore_service, service_manager_type; ...@@ -16,6 +16,7 @@ type keystore_service, service_manager_type;
type mediaserver_service, service_manager_type; type mediaserver_service, service_manager_type;
type mediametrics_service, service_manager_type; type mediametrics_service, service_manager_type;
type mediaextractor_service, service_manager_type; type mediaextractor_service, service_manager_type;
type mediaextractor_update_service, service_manager_type;
type mediacodec_service, service_manager_type; type mediacodec_service, service_manager_type;
type mediadrmserver_service, service_manager_type; type mediadrmserver_service, service_manager_type;
type netd_service, service_manager_type; type netd_service, service_manager_type;
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment