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