Skip to content
Snippets Groups Projects
Commit e3adbb34 authored by Nick Kralevich's avatar Nick Kralevich Committed by Android Git Automerger
Browse files

am 20b4a3c3: am dc1cedf1: Merge "Clean up socket rules."

* commit '20b4a3c3':
  Clean up socket rules.
parents 0394da2a 20b4a3c3
No related branches found
No related tags found
No related merge requests found
...@@ -20,17 +20,21 @@ allow bluetooth { tun_device uhid_device hci_attach_dev }:chr_file rw_file_perms ...@@ -20,17 +20,21 @@ allow bluetooth { tun_device uhid_device hci_attach_dev }:chr_file rw_file_perms
# Other domains that can create and use bluetooth sockets. # Other domains that can create and use bluetooth sockets.
# SELinux does not presently define a specific socket class for # SELinux does not presently define a specific socket class for
# bluetooth sockets, nor does it distinguish among the bluetooth protocols. # bluetooth sockets, nor does it distinguish among the bluetooth protocols.
allow bluetoothdomain self:socket *; # TODO: This should no longer be needed with bluedroid for bluetooth
# but may be getting used for other non-bluetooth sockets that has no
# specific class defined. Consider taking to specific domains.
allow bluetoothdomain self:socket create_socket_perms;
# sysfs access. # sysfs access.
allow bluetooth sysfs_bluetooth_writable:file rw_file_perms; allow bluetooth sysfs_bluetooth_writable:file rw_file_perms;
allow bluetooth self:capability net_admin; allow bluetooth self:capability net_admin;
# Allow clients to use a socket provided by the bluetooth app. # Allow clients to use a socket provided by the bluetooth app.
# TODO: See if this is still required under bluedroid.
allow bluetoothdomain bluetooth:unix_stream_socket { read write shutdown }; allow bluetoothdomain bluetooth:unix_stream_socket { read write shutdown };
# tethering # tethering
allow bluetooth self:{ tun_socket udp_socket } { ioctl create }; allow bluetooth self:tun_socket create_socket_perms;
allow bluetooth efs_file:dir search; allow bluetooth efs_file:dir search;
# Talk to init over the property socket. # Talk to init over the property socket.
......
...@@ -19,7 +19,7 @@ allow clatd self:capability { net_admin setuid setgid }; ...@@ -19,7 +19,7 @@ allow clatd self:capability { net_admin setuid setgid };
# TODO: Run clatd in vpn group to avoid need for this on /dev/tun. # TODO: Run clatd in vpn group to avoid need for this on /dev/tun.
allow clatd self:capability dac_override; allow clatd self:capability dac_override;
allow clatd self:netlink_route_socket { create_socket_perms nlmsg_write }; allow clatd self:netlink_route_socket nlmsg_write;
allow clatd self:tun_socket create_socket_perms; allow clatd self:tun_socket create_socket_perms;
allow clatd tun_device:chr_file rw_file_perms; allow clatd tun_device:chr_file rw_file_perms;
allow clatd proc_net:file rw_file_perms;; allow clatd proc_net:file rw_file_perms;;
...@@ -9,8 +9,7 @@ net_domain(dhcp) ...@@ -9,8 +9,7 @@ net_domain(dhcp)
allow dhcp cgroup:dir { create write add_name }; allow dhcp cgroup:dir { create write add_name };
allow dhcp self:capability { setgid setuid net_admin net_raw net_bind_service }; allow dhcp self:capability { setgid setuid net_admin net_raw net_bind_service };
allow dhcp self:packet_socket create_socket_perms; allow dhcp self:packet_socket create_socket_perms;
allow dhcp self:netlink_route_socket { create_socket_perms nlmsg_write }; allow dhcp self:netlink_route_socket nlmsg_write;
allow dhcp self:rawip_socket create_socket_perms;
allow dhcp shell_exec:file rx_file_perms; allow dhcp shell_exec:file rx_file_perms;
allow dhcp system_file:file rx_file_perms; allow dhcp system_file:file rx_file_perms;
# For /proc/sys/net/ipv4/conf/*/promote_secondaries # For /proc/sys/net/ipv4/conf/*/promote_secondaries
......
...@@ -3,10 +3,9 @@ type dnsmasq, domain; ...@@ -3,10 +3,9 @@ type dnsmasq, domain;
permissive_or_unconfined(dnsmasq) permissive_or_unconfined(dnsmasq)
type dnsmasq_exec, exec_type, file_type; type dnsmasq_exec, exec_type, file_type;
net_domain(dnsmasq)
allow dnsmasq self:capability { net_bind_service setgid setuid }; allow dnsmasq self:capability { net_bind_service setgid setuid };
allow dnsmasq self:tcp_socket create_socket_perms;
allow dnsmasq dhcp_data_file:dir w_dir_perms; allow dnsmasq dhcp_data_file:dir w_dir_perms;
allow dnsmasq dhcp_data_file:file create_file_perms; allow dnsmasq dhcp_data_file:file create_file_perms;
allow dnsmasq port:tcp_socket name_bind;
allow dnsmasq node:tcp_socket node_bind;
...@@ -16,7 +16,8 @@ allow domain self:fd use; ...@@ -16,7 +16,8 @@ allow domain self:fd use;
allow domain self:dir r_dir_perms; allow domain self:dir r_dir_perms;
allow domain self:lnk_file r_file_perms; allow domain self:lnk_file r_file_perms;
allow domain self:{ fifo_file file } rw_file_perms; allow domain self:{ fifo_file file } rw_file_perms;
allow domain self:{ unix_dgram_socket unix_stream_socket } *; allow domain self:unix_dgram_socket { create_socket_perms sendto };
allow domain self:unix_stream_socket { create_stream_socket_perms connectto };
# Inherit or receive open files from others. # Inherit or receive open files from others.
allow domain init:fd use; allow domain init:fd use;
......
...@@ -5,6 +5,8 @@ type drmserver_exec, exec_type, file_type; ...@@ -5,6 +5,8 @@ type drmserver_exec, exec_type, file_type;
init_daemon_domain(drmserver) init_daemon_domain(drmserver)
typeattribute drmserver mlstrustedsubject; typeattribute drmserver mlstrustedsubject;
net_domain(drmserver)
# Perform Binder IPC to system server. # Perform Binder IPC to system server.
binder_use(drmserver) binder_use(drmserver)
binder_call(drmserver, system_server) binder_call(drmserver, system_server)
...@@ -17,8 +19,6 @@ binder_call(drmserver, mediaserver) ...@@ -17,8 +19,6 @@ binder_call(drmserver, mediaserver)
allow drmserver sdcard_type:dir search; allow drmserver sdcard_type:dir search;
allow drmserver drm_data_file:dir create_dir_perms; allow drmserver drm_data_file:dir create_dir_perms;
allow drmserver drm_data_file:file create_file_perms; allow drmserver drm_data_file:file create_file_perms;
allow drmserver self:{ tcp_socket udp_socket } *;
allow drmserver port:tcp_socket name_connect;
allow drmserver tee_device:chr_file rw_file_perms; allow drmserver tee_device:chr_file rw_file_perms;
allow drmserver platform_app_data_file:file { read write getattr }; allow drmserver platform_app_data_file:file { read write getattr };
allow drmserver app_data_file:file { read write getattr }; allow drmserver app_data_file:file { read write getattr };
......
...@@ -47,9 +47,6 @@ allow dumpstate { appdomain system_server }:process signal; ...@@ -47,9 +47,6 @@ allow dumpstate { appdomain system_server }:process signal;
# This list comes from native_processes_to_dump in dumpstate/utils.c # This list comes from native_processes_to_dump in dumpstate/utils.c
allow dumpstate { drmserver mediaserver sdcardd surfaceflinger }:process signal; allow dumpstate { drmserver mediaserver sdcardd surfaceflinger }:process signal;
# The /system/bin/ip command needs this for routing table information.
allow dumpstate self:netlink_route_socket { write getattr setopt };
# The vdc command needs to talk to the vold socket. # The vdc command needs to talk to the vold socket.
unix_socket_connect(dumpstate, vold, vold) unix_socket_connect(dumpstate, vold, vold)
......
...@@ -3,11 +3,12 @@ type hostapd, domain; ...@@ -3,11 +3,12 @@ type hostapd, domain;
permissive_or_unconfined(hostapd) permissive_or_unconfined(hostapd)
type hostapd_exec, exec_type, file_type; type hostapd_exec, exec_type, file_type;
net_domain(hostapd)
allow hostapd self:capability { net_admin net_raw setuid setgid }; allow hostapd self:capability { net_admin net_raw setuid setgid };
allow hostapd self:netlink_socket create_socket_perms; allow hostapd self:netlink_socket create_socket_perms;
allow hostapd self:packet_socket { create write read }; allow hostapd self:packet_socket create_socket_perms;
allow hostapd self:netlink_route_socket { bind create write nlmsg_write read }; allow hostapd self:netlink_route_socket nlmsg_write;
allow hostapd self:udp_socket { create ioctl };
allow hostapd wifi_data_file:file rw_file_perms; allow hostapd wifi_data_file:file rw_file_perms;
allow hostapd wifi_data_file:dir create_dir_perms; allow hostapd wifi_data_file:dir create_dir_perms;
......
...@@ -3,7 +3,6 @@ type logd, domain; ...@@ -3,7 +3,6 @@ type logd, domain;
type logd_exec, exec_type, file_type; type logd_exec, exec_type, file_type;
init_daemon_domain(logd) init_daemon_domain(logd)
allow logd self:unix_stream_socket *;
allow logd self:capability { setuid setgid sys_nice }; allow logd self:capability { setuid setgid sys_nice };
......
...@@ -7,10 +7,7 @@ init_daemon_domain(mtp) ...@@ -7,10 +7,7 @@ init_daemon_domain(mtp)
net_domain(mtp) net_domain(mtp)
# pptp policy # pptp policy
allow mtp self:tcp_socket create_socket_perms;
allow mtp self:socket create_socket_perms; allow mtp self:socket create_socket_perms;
allow mtp self:rawip_socket create_socket_perms;
allow mtp self:capability net_raw; allow mtp self:capability net_raw;
allow mtp ppp:process signal; allow mtp ppp:process signal;
allow mtp port:tcp_socket name_connect;
allow mtp vpn_data_file:dir search; allow mtp vpn_data_file:dir search;
...@@ -13,18 +13,7 @@ allow netdomain node_type:{ tcp_socket udp_socket } node_bind; ...@@ -13,18 +13,7 @@ allow netdomain node_type:{ tcp_socket udp_socket } node_bind;
allow netdomain port_type:udp_socket name_bind; allow netdomain port_type:udp_socket name_bind;
allow netdomain port_type:tcp_socket name_bind; allow netdomain port_type:tcp_socket name_bind;
# See changes to the routing table. # See changes to the routing table.
allow netdomain self:netlink_route_socket { allow netdomain self:netlink_route_socket { create_socket_perms nlmsg_read };
read
bind
create
nlmsg_read
ioctl
getattr
setattr
getopt
setopt
shutdown
};
# Talks to netd via dnsproxyd socket. # Talks to netd via dnsproxyd socket.
unix_socket_connect(netdomain, dnsproxyd, netd) unix_socket_connect(netdomain, dnsproxyd, netd)
......
...@@ -15,11 +15,9 @@ allow netd self:capability { net_admin net_raw kill }; ...@@ -15,11 +15,9 @@ allow netd self:capability { net_admin net_raw kill };
# sufficient testing of the fsetid removal. # sufficient testing of the fsetid removal.
# dontaudit netd self:capability fsetid; # dontaudit netd self:capability fsetid;
allow netd self:netlink_kobject_uevent_socket *; allow netd self:netlink_kobject_uevent_socket create_socket_perms;
allow netd self:netlink_route_socket *; allow netd self:netlink_route_socket nlmsg_write;
allow netd self:netlink_nflog_socket *; allow netd self:netlink_nflog_socket create_socket_perms;
allow netd self:rawip_socket *;
allow netd self:unix_stream_socket *;
allow netd shell_exec:file rx_file_perms; allow netd shell_exec:file rx_file_perms;
allow netd system_file:file x_file_perms; allow netd system_file:file x_file_perms;
allow netd devpts:chr_file rw_file_perms; allow netd devpts:chr_file rw_file_perms;
......
...@@ -5,10 +5,11 @@ type ppp_device, dev_type; ...@@ -5,10 +5,11 @@ type ppp_device, dev_type;
type ppp_exec, exec_type, file_type; type ppp_exec, exec_type, file_type;
domain_auto_trans(mtp, ppp_exec, ppp) domain_auto_trans(mtp, ppp_exec, ppp)
net_domain(ppp)
allow ppp mtp:socket rw_socket_perms; allow ppp mtp:socket rw_socket_perms;
allow ppp ppp_device:chr_file rw_file_perms; allow ppp ppp_device:chr_file rw_file_perms;
allow ppp self:capability net_admin; allow ppp self:capability net_admin;
allow ppp self:udp_socket create_socket_perms;
allow ppp system_file:file rx_file_perms; allow ppp system_file:file rx_file_perms;
allow ppp vpn_data_file:dir w_dir_perms; allow ppp vpn_data_file:dir w_dir_perms;
allow ppp vpn_data_file:file create_file_perms; allow ppp vpn_data_file:file create_file_perms;
......
...@@ -6,17 +6,17 @@ type racoon_exec, exec_type, file_type; ...@@ -6,17 +6,17 @@ type racoon_exec, exec_type, file_type;
init_daemon_domain(racoon) init_daemon_domain(racoon)
typeattribute racoon mlstrustedsubject; typeattribute racoon mlstrustedsubject;
net_domain(racoon)
binder_call(racoon, servicemanager) binder_call(racoon, servicemanager)
binder_call(racoon, keystore) binder_call(racoon, keystore)
allow racoon tun_device:chr_file r_file_perms; allow racoon tun_device:chr_file r_file_perms;
allow racoon cgroup:dir { add_name create }; allow racoon cgroup:dir { add_name create };
allow racoon kernel:system module_request; allow racoon kernel:system module_request;
allow racoon port:udp_socket name_bind;
allow racoon node:udp_socket node_bind;
allow racoon self:{ key_socket udp_socket } create_socket_perms; allow racoon self:key_socket create_socket_perms;
allow racoon self:tun_socket create; allow racoon self:tun_socket create_socket_perms;
allow racoon self:capability { net_admin net_bind_service net_raw setuid }; allow racoon self:capability { net_admin net_bind_service net_raw setuid };
# XXX: should we give ip-up-vpn its own label (currently racoon domain) # XXX: should we give ip-up-vpn its own label (currently racoon domain)
......
...@@ -5,7 +5,7 @@ type rild_exec, exec_type, file_type; ...@@ -5,7 +5,7 @@ type rild_exec, exec_type, file_type;
init_daemon_domain(rild) init_daemon_domain(rild)
net_domain(rild) net_domain(rild)
allow rild self:netlink_route_socket { setopt write }; allow rild self:netlink_route_socket nlmsg_write;
allow rild kernel:system module_request; allow rild kernel:system module_request;
unix_socket_connect(rild, property, init) unix_socket_connect(rild, property, init)
unix_socket_connect(rild, qemud, qemud) unix_socket_connect(rild, qemud, qemud)
...@@ -38,10 +38,9 @@ allow rild gps_device:chr_file rw_file_perms; ...@@ -38,10 +38,9 @@ allow rild gps_device:chr_file rw_file_perms;
allow rild tty_device:chr_file rw_file_perms; allow rild tty_device:chr_file rw_file_perms;
# Allow rild to create, bind, read, write to itself through a netlink socket # Allow rild to create and use netlink sockets.
allow rild self:netlink_socket { create bind read write }; allow rild self:netlink_socket create_socket_perms;
allow rild self:netlink_kobject_uevent_socket create_socket_perms;
allow rild self:netlink_kobject_uevent_socket { bind create getopt read setopt };
# Access to wake locks # Access to wake locks
allow rild sysfs_wake_lock:file rw_file_perms; allow rild sysfs_wake_lock:file rw_file_perms;
......
...@@ -28,7 +28,7 @@ allow surfaceflinger video_device:dir r_dir_perms; ...@@ -28,7 +28,7 @@ allow surfaceflinger video_device:dir r_dir_perms;
allow surfaceflinger video_device:chr_file rw_file_perms; allow surfaceflinger video_device:chr_file rw_file_perms;
# Create and use netlink kobject uevent sockets. # Create and use netlink kobject uevent sockets.
allow surfaceflinger self:netlink_kobject_uevent_socket *; allow surfaceflinger self:netlink_kobject_uevent_socket create_socket_perms;
# Set properties. # Set properties.
allow surfaceflinger system_prop:property_service set; allow surfaceflinger system_prop:property_service set;
......
...@@ -21,10 +21,6 @@ allow system_server zygote:fd use; ...@@ -21,10 +21,6 @@ allow system_server zygote:fd use;
allow system_server zygote:process sigchld; allow system_server zygote:process sigchld;
allow system_server zygote_tmpfs:file read; allow system_server zygote_tmpfs:file read;
# Needed to close the zygote socket, which involves getopt / getattr
# This should be deleted after b/12061011 is fixed
allow system_server zygote:unix_stream_socket { getopt getattr };
# system server gets network and bluetooth permissions. # system server gets network and bluetooth permissions.
net_domain(system_server) net_domain(system_server)
bluetooth_domain(system_server) bluetooth_domain(system_server)
...@@ -54,7 +50,7 @@ dontaudit system_server self:capability sys_ptrace; ...@@ -54,7 +50,7 @@ dontaudit system_server self:capability sys_ptrace;
allow system_server kernel:system module_request; allow system_server kernel:system module_request;
# Use netlink uevent sockets. # Use netlink uevent sockets.
allow system_server self:netlink_kobject_uevent_socket *; allow system_server self:netlink_kobject_uevent_socket create_socket_perms;
# Kill apps. # Kill apps.
allow system_server appdomain:process { sigkill signal }; allow system_server appdomain:process { sigkill signal };
...@@ -75,10 +71,10 @@ allow system_server qtaguid_device:chr_file rw_file_perms; ...@@ -75,10 +71,10 @@ allow system_server qtaguid_device:chr_file rw_file_perms;
allow system_server debugfs:file r_file_perms; allow system_server debugfs:file r_file_perms;
# WifiWatchdog uses a packet_socket # WifiWatchdog uses a packet_socket
allow system_server self:packet_socket *; allow system_server self:packet_socket create_socket_perms;
# 3rd party VPN clients require a tun_socket to be created # 3rd party VPN clients require a tun_socket to be created
allow system_server self:tun_socket create; allow system_server self:tun_socket create_socket_perms;
# Notify init of death. # Notify init of death.
allow system_server init:process sigchld; allow system_server init:process sigchld;
......
...@@ -11,4 +11,4 @@ allow tee self:capability { dac_override }; ...@@ -11,4 +11,4 @@ allow tee self:capability { dac_override };
allow tee tee_device:chr_file rw_file_perms; allow tee tee_device:chr_file rw_file_perms;
allow tee tee_data_file:dir rw_dir_perms; allow tee tee_data_file:dir rw_dir_perms;
allow tee tee_data_file:file create_file_perms; allow tee tee_data_file:file create_file_perms;
allow tee self:netlink_socket { create bind read }; allow tee self:netlink_socket create_socket_perms;
...@@ -19,6 +19,6 @@ allow ueventd dev_type:dir create_dir_perms; ...@@ -19,6 +19,6 @@ allow ueventd dev_type:dir create_dir_perms;
allow ueventd dev_type:lnk_file { create unlink }; allow ueventd dev_type:lnk_file { create unlink };
allow ueventd dev_type:chr_file { create setattr unlink }; allow ueventd dev_type:chr_file { create setattr unlink };
allow ueventd dev_type:blk_file { create setattr unlink }; allow ueventd dev_type:blk_file { create setattr unlink };
allow ueventd self:netlink_kobject_uevent_socket *; allow ueventd self:netlink_kobject_uevent_socket create_socket_perms;
allow ueventd efs_file:dir search; allow ueventd efs_file:dir search;
allow ueventd efs_file:file r_file_perms; allow ueventd efs_file:file r_file_perms;
...@@ -19,7 +19,7 @@ allow vold tmpfs:filesystem { mount unmount }; ...@@ -19,7 +19,7 @@ allow vold tmpfs:filesystem { mount unmount };
allow vold tmpfs:dir create_dir_perms; allow vold tmpfs:dir create_dir_perms;
allow vold tmpfs:dir mounton; allow vold tmpfs:dir mounton;
allow vold self:capability { net_admin dac_override mknod sys_admin chown fowner fsetid }; allow vold self:capability { net_admin dac_override mknod sys_admin chown fowner fsetid };
allow vold self:netlink_kobject_uevent_socket *; allow vold self:netlink_kobject_uevent_socket create_socket_perms;
allow vold app_data_file:dir search; allow vold app_data_file:dir search;
allow vold app_data_file:file rw_file_perms; allow vold app_data_file:file rw_file_perms;
allow vold loop_device:blk_file rw_file_perms; allow vold loop_device:blk_file rw_file_perms;
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please to comment