xref: /aosp_15_r20/system/sepolicy/private/adbd_tradeinmode.te (revision e4a36f4174b17bbab9dc043f4a65dc8d87377290)
1### ADB in trade-in mode
2type adbd_tradeinmode, domain, coredomain, adbd_common;
3
4# Create and use network sockets.
5net_domain(adbd_tradeinmode)
6
7# Run /system/bin/tradeinmode
8domain_auto_trans(adbd_tradeinmode, tradeinmode_exec, tradeinmode)
9
10# Baseline rules to make adbd work after setcon().
11allow adbd_tradeinmode adbd:unix_stream_socket {
12    rw_socket_perms_no_ioctl
13    listen
14    accept
15};
16allow adbd_tradeinmode adbd:fd use;
17allow adbd_tradeinmode adbd:unix_dgram_socket { connect write };
18allow adbd_tradeinmode functionfs:dir r_dir_perms;
19allow adbd_tradeinmode functionfs:file rw_file_perms;
20allow adbd_tradeinmode proc_uptime:file r_file_perms;
21allow adbd_tradeinmode rootfs:dir r_dir_perms;
22
23set_prop(adbd_tradeinmode, ffs_control_prop)
24
25# Allow changing persist.adb.tradeinmode when testing.
26userdebug_or_eng(`set_prop(adbd_tradeinmode, shell_prop)')
27