Blame android/bluetoothd.te

Packit Service 8264ee
type bluetoothd, domain;
Packit Service 8264ee
type bluetoothd_exec, exec_type, file_type;
Packit Service 8264ee
type bluetoothd_main_exec, exec_type, file_type;
Packit Service 8264ee
Packit Service 8264ee
# Start bluetoothd from init
Packit Service 8264ee
init_daemon_domain(bluetoothd)
Packit Service 8264ee
Packit Service 8264ee
# Data file accesses
Packit Service 8264ee
allow bluetoothd bluetooth_data_file:dir w_dir_perms;
Packit Service 8264ee
allow bluetoothd bluetooth_data_file:notdevfile_class_set create_file_perms;
Packit Service 8264ee
Packit Service 8264ee
allow bluetoothd self:capability { setuid net_admin net_bind_service net_raw };
Packit Service 8264ee
allow bluetoothd kernel:system module_request;
Packit Service 8264ee
Packit Service 8264ee
# TODO: this may be romoved for userbuild where we don't use bluetoothd_wrapper
Packit Service 8264ee
allow bluetoothd bluetoothd_main_exec:file { execute execute_no_trans read open };
Packit Service 8264ee
Packit Service 8264ee
# IPC socket communication
Packit Service 8264ee
allow bluetoothd self:socket { create_socket_perms accept listen setopt getopt };
Packit Service 8264ee
Packit Service 8264ee
# Allow clients to use a socket provided by the bluetooth app.
Packit Service 8264ee
allow bluetoothd { bluetooth mediaserver }:unix_stream_socket connectto;
Packit Service 8264ee
Packit Service 8264ee
# Allow system app to use sockets and fds
Packit Service 8264ee
allow bluetooth bluetoothd:fd use;
Packit Service 8264ee
allow bluetooth bluetoothd:unix_stream_socket rw_socket_perms;
Packit Service 8264ee
Packit Service 8264ee
# Allow user bluetooth apps to use sockets and fds
Packit Service 8264ee
allow bluetoothdomain bluetoothd:fd use;
Packit Service 8264ee
allow bluetoothdomain bluetoothd:unix_stream_socket { getopt setopt getattr read write ioctl shutdown };
Packit Service 8264ee
Packit Service 8264ee
# Other domains that can create and use bluetooth sockets.
Packit Service 8264ee
allow bluetoothdomain self:socket create_socket_perms;
Packit Service 8264ee
Packit Service 8264ee
#This we might should put to mediaserver.te ?
Packit Service 8264ee
allow mediaserver bluetoothd:fd use;
Packit Service 8264ee
allow mediaserver bluetoothd:socket rw_socket_perms;
Packit Service 8264ee
Packit Service 8264ee
# needs /system/bin/log access
Packit Service 8264ee
allow bluetoothd devpts:chr_file rw_file_perms;
Packit Service 8264ee
Packit Service 8264ee
# access to uhid device
Packit Service 8264ee
allow bluetoothd uhid_device:chr_file rw_file_perms;
Packit Service 8264ee
Packit Service 8264ee
# tethering
Packit Service 8264ee
allow bluetoothd self:udp_socket create_socket_perms;
Packit Service 8264ee
allow bluetoothd self:tcp_socket { create ioctl };