type shell, domain, mlstrustedsubject;
type shell_exec, file_type;
domain_auto_trans(init, shell_exec, shell)
allow shell rootfs:dir r_dir_perms;
allow shell devpts:chr_file rw_file_perms;
allow shell tty_device:chr_file rw_file_perms;
allow shell console_device:chr_file rw_file_perms;
allow shell input_device:chr_file rw_file_perms;
allow shell system_file:file x_file_perms;
allow shell shell_exec:file rx_file_perms;
allow shell zygote_exec:file rx_file_perms;
allow shell shell_data_file:dir create_dir_perms;
allow shell shell_data_file:file create_file_perms;
allow shell shell_data_file:file rx_file_perms;

# Access sdcard.
allow shell sdcard_type:dir rw_dir_perms;
allow shell sdcard_type:file create_file_perms;

r_dir_file(shell, apk_data_file)
allow shell dalvikcache_data_file:file { write setattr };

# Run logcat.
allow shell log_device:chr_file r_file_perms;

# Run app_process.
# XXX Split into its own domain?
app_domain(shell)

# Property Service
allow shell shell_prop:property_service set;

# setprop toolbox command
unix_socket_connect(shell, property, init)

# ctl interface
allow shell ctl_dumpstate_prop:property_service set;
