5e37271df8
system_file_type is a new attribute used to identify files which exist on the /system partition. It's useful for allow rules in init, which are based off of a blacklist of writable files. Additionally, it's useful for constructing neverallow rules to prevent regressions. Additionally, add commented out tests which enforce that all files on the /system partition have the system_file_type attribute. These tests will be uncommented in a future change after all the device-specific policies are cleaned up. Test: Device boots and no obvious problems. Change-Id: Id9bae6625f042594c8eba74ca712abb09702c1e5
33 lines
1 KiB
Text
33 lines
1 KiB
Text
# IKE key management daemon
|
|
type racoon, domain;
|
|
type racoon_exec, system_file_type, exec_type, file_type;
|
|
|
|
typeattribute racoon mlstrustedsubject;
|
|
|
|
net_domain(racoon)
|
|
allowxperm racoon self:udp_socket ioctl { SIOCSIFFLAGS SIOCSIFADDR SIOCSIFNETMASK };
|
|
|
|
binder_use(racoon)
|
|
|
|
allow racoon tun_device:chr_file r_file_perms;
|
|
allow racoon cgroup:dir { add_name create };
|
|
allow racoon kernel:system module_request;
|
|
|
|
allow racoon self:key_socket create_socket_perms_no_ioctl;
|
|
allow racoon self:tun_socket create_socket_perms_no_ioctl;
|
|
allow racoon self:global_capability_class_set { net_admin net_bind_service net_raw };
|
|
|
|
# XXX: should we give ip-up-vpn its own label (currently racoon domain)
|
|
allow racoon system_file:file rx_file_perms;
|
|
not_full_treble(`allow racoon vendor_file:file rx_file_perms;')
|
|
allow racoon vpn_data_file:file create_file_perms;
|
|
allow racoon vpn_data_file:dir w_dir_perms;
|
|
|
|
use_keystore(racoon)
|
|
|
|
# Racoon (VPN) has a restricted set of permissions from the default.
|
|
allow racoon keystore:keystore_key {
|
|
get
|
|
sign
|
|
verify
|
|
};
|