01d95c23ab
Define new netlink socket security classes introduced by upstream kernel commit 6c6d2e9bde1c1c87a7ead806f8f5e2181d41a652 ("selinux: update netlink socket classes"). This was merged in Linux 4.2 and is therefore only required for Android kernels based on 4.2 or newer (e.g. the android-4.4 branch of the kernel/common tree). Add the new socket classes to socket_class_set. Add an initial set of allow rules although further refinement will likely be necessary. Any allow rule previously written on :netlink_socket may need to be rewritten or duplicated for one or more of the more specific classes. For now, we retain the existing :netlink_socket rules for compatibility on older kernels. Change-Id: I5040b30edd2d374538490a080feda96dd4bae5bf Signed-off-by: Stephen Smalley <sds@tycho.nsa.gov>
27 lines
1.2 KiB
Text
27 lines
1.2 KiB
Text
# userspace wifi access points
|
|
type hostapd, domain, domain_deprecated;
|
|
type hostapd_exec, exec_type, file_type;
|
|
|
|
net_domain(hostapd)
|
|
|
|
allow hostapd self:capability { net_admin net_raw setuid setgid };
|
|
allow hostapd self:netlink_socket create_socket_perms;
|
|
allow hostapd self:netlink_generic_socket create_socket_perms;
|
|
allow hostapd self:packet_socket create_socket_perms;
|
|
allow hostapd self:netlink_route_socket nlmsg_write;
|
|
|
|
allow hostapd wifi_data_file:file rw_file_perms;
|
|
allow hostapd wifi_data_file:dir create_dir_perms;
|
|
type_transition hostapd wifi_data_file:dir wpa_socket "sockets";
|
|
type_transition hostapd wifi_data_file:dir wpa_socket "hostapd";
|
|
allow hostapd wpa_socket:dir create_dir_perms;
|
|
allow hostapd wpa_socket:sock_file create_file_perms;
|
|
allow hostapd netd:fd use;
|
|
allow hostapd netd:udp_socket { read write };
|
|
allow hostapd netd:fifo_file { read write };
|
|
# TODO: Investigate whether these inherited sockets should be closed on exec.
|
|
allow hostapd netd:netlink_kobject_uevent_socket { read write };
|
|
allow hostapd netd:netlink_nflog_socket { read write };
|
|
allow hostapd netd:netlink_route_socket { read write };
|
|
allow hostapd netd:unix_stream_socket { read write };
|
|
allow hostapd netd:unix_dgram_socket { read write };
|