blob: 3e85cd4ca85f9cd9363e2aa610de788c57a2db83 [file] [log] [blame]
Pierre-Hugues Husson40ae1042017-12-19 13:08:26 +01001type phhsu_daemon, domain;
2type phhsu_exec, exec_type, file_type;
3
4typeattribute phhsu_daemon coredomain;
5permissive phhsu_daemon;
6
7tmpfs_domain(phhsu_daemon);
8domain_auto_trans(init, phhsu_exec, phhsu_daemon);
9file_type_auto_trans(phhsu_daemon, device, phhsu_daemon);
10
11allow { appdomain shell } phhsu_daemon:unix_stream_socket { connectto write read };
12allow { appdomain shell } phhsu_daemon:sock_file { write read };
13allow { appdomain shell } phhsu_exec:file { getattr read open execute execute_no_trans };
14
15create_pty(shell)
16allowxperm shell devpts:chr_file ioctl TCSETSF;
17allowxperm untrusted_app untrusted_app_devpts:chr_file ioctl TCSETSF;
18
19allow servicemanager phhsu_daemon:dir { search read };
20allow servicemanager phhsu_daemon:file { open read };
21allow servicemanager phhsu_daemon:process { getattr };
22allow servicemanager phhsu_daemon:binder { call transfer };
23
24typeattribute phhsu_daemon mlstrustedobject;
25typeattribute phhsu_daemon mlstrustedsubject;
26
27allow shell su_exec:file getattr;
28typeattribute su mlstrustedsubject;
29
30allow phhsu_daemon { system_api_service app_api_service system_server_service }:service_manager find;
31
32allow system_server phhsu_daemon:fd use;
Pierre-Hugues Hussonb91085d2017-12-21 23:20:52 +010033allow system_server phhsu_daemon:binder { call transfer };
34allow system_server shell_devpts:chr_file { read write };
Pierre-Hugues Husson40ae1042017-12-19 13:08:26 +010035
36# Add su to various domains
Pierre-Hugues Hussondbfa3c72018-05-01 22:03:36 +020037net_domain(phhsu_daemon)
Pierre-Hugues Husson40ae1042017-12-19 13:08:26 +010038
Pierre-Hugues Hussondbfa3c72018-05-01 22:03:36 +020039hwbinder_use(phhsu_daemon)
Pierre-Hugues Husson40ae1042017-12-19 13:08:26 +010040
41allow phhsu_daemon toolbox_exec:file { read open execute_no_trans };
42allow phhsu_daemon untrusted_app_devpts:chr_file { getattr };
43allow phhsu_daemon zygote_exec:file { execute read open execute_no_trans getattr };
44
45allow phhsu_daemon phhsu_daemon:capability { setuid setgid dac_override chown};
46
47allow appdomain phhsu_daemon:dir { search };