1*e4a36f41SAndroid Build Coastguard Worker# IKE key management daemon 2*e4a36f41SAndroid Build Coastguard Workertype racoon, domain; 3*e4a36f41SAndroid Build Coastguard Workertype racoon_exec, system_file_type, exec_type, file_type; 4*e4a36f41SAndroid Build Coastguard Worker 5*e4a36f41SAndroid Build Coastguard Workertypeattribute racoon mlstrustedsubject; 6*e4a36f41SAndroid Build Coastguard Worker 7*e4a36f41SAndroid Build Coastguard Workernet_domain(racoon) 8*e4a36f41SAndroid Build Coastguard Workerallowxperm racoon self:udp_socket ioctl { SIOCSIFFLAGS SIOCSIFADDR SIOCSIFNETMASK }; 9*e4a36f41SAndroid Build Coastguard Worker 10*e4a36f41SAndroid Build Coastguard Workerbinder_use(racoon) 11*e4a36f41SAndroid Build Coastguard Worker 12*e4a36f41SAndroid Build Coastguard Workerallow racoon tun_device:chr_file r_file_perms; 13*e4a36f41SAndroid Build Coastguard Workerallowxperm racoon tun_device:chr_file ioctl TUNSETIFF; 14*e4a36f41SAndroid Build Coastguard Workerallow racoon cgroup:dir { add_name create }; 15*e4a36f41SAndroid Build Coastguard Workerallow racoon kernel:system module_request; 16*e4a36f41SAndroid Build Coastguard Worker 17*e4a36f41SAndroid Build Coastguard Workerallow racoon self:key_socket create_socket_perms_no_ioctl; 18*e4a36f41SAndroid Build Coastguard Workerallow racoon self:tun_socket create_socket_perms_no_ioctl; 19*e4a36f41SAndroid Build Coastguard Workerallow racoon self:global_capability_class_set { net_admin net_bind_service net_raw }; 20*e4a36f41SAndroid Build Coastguard Worker 21*e4a36f41SAndroid Build Coastguard Worker# XXX: should we give ip-up-vpn its own label (currently racoon domain) 22*e4a36f41SAndroid Build Coastguard Workerallow racoon system_file:file rx_file_perms; 23*e4a36f41SAndroid Build Coastguard Workernot_full_treble(`allow racoon vendor_file:file rx_file_perms;') 24*e4a36f41SAndroid Build Coastguard Workerallow racoon vpn_data_file:file create_file_perms; 25*e4a36f41SAndroid Build Coastguard Workerallow racoon vpn_data_file:dir w_dir_perms; 26*e4a36f41SAndroid Build Coastguard Worker 27*e4a36f41SAndroid Build Coastguard Workeruse_keystore(racoon) 28*e4a36f41SAndroid Build Coastguard Worker 29*e4a36f41SAndroid Build Coastguard Worker# Racoon (VPN) has a restricted set of permissions from the default. 30*e4a36f41SAndroid Build Coastguard Workerallow racoon keystore:keystore_key { 31*e4a36f41SAndroid Build Coastguard Worker get 32*e4a36f41SAndroid Build Coastguard Worker sign 33*e4a36f41SAndroid Build Coastguard Worker verify 34*e4a36f41SAndroid Build Coastguard Worker}; 35