423fd19d91
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.
Signed-off-by: Stephen Smalley <sds@tycho.nsa.gov>
(cherry picked from commit 01d95c23ab
)
Change-Id: Ic00a0d474730cda91ba3bc387e0cc14482f82114
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 };
|