1# Define the packagemanagerpoxyd type 2type packagemanagerproxyd, domain; 3 4# Add to the coredomain since it lives in /system_ext 5typeattribute packagemanagerproxyd coredomain; 6 7typeattribute packagemanagerproxyd mlstrustedsubject; 8 9# Use the attribytes of packagemanagerproxy_server 10typeattribute packagemanagerproxyd packagemanagerproxy_server; 11 12# Declare the exec type 13type packagemanagerproxyd_exec, exec_type, system_file_type, file_type; 14 15# Allow packagemanagerproxyd to be launced by init 16init_daemon_domain(packagemanagerproxyd) 17 18# Allow use of Binder IPCs 19binder_use(packagemanagerproxyd) 20 21# The packagemanagerproxy server can call the system_server 22binder_call(packagemanagerproxy_server, system_server) 23 24# Allow the packagemanagerproxy server to find the package_native_service 25allow packagemanagerproxy_server package_native_service:service_manager find; 26 27# The packagemanagerproxy server can register the IPackageMangerProxy Binder IPC service. 28add_service(packagemanagerproxy_server, packagemanagerproxyd_service) 29 30# The packagemanagerproxy client can call the server via Binder IPC. 31binder_call(packagemanagerproxy_client, packagemanagerproxy_server) 32 33# The packagemanagerproxy client has access to the IPackageMangerProxy Binder IPC service. 34allow packagemanagerproxy_client packagemanagerproxyd_service:service_manager find; 35