From 85dcd53b745dfcce534ea35443816057c6122887 Mon Sep 17 00:00:00 2001 From: Nick Kralevich <nnk@google.com> Date: Wed, 18 Nov 2015 09:19:17 -0800 Subject: [PATCH] Move bluetoothdomain rules into their own file. Don't mix bluetooth rules with bluetoothdomain. The bluetoothdomain rules are used by several other SELinux domains, not just bluetooth, and keeping them in the same file is confusing. Change-Id: I487251ab1c1392467a39c7a87328cdaf802fc1f8 --- bluetooth.te | 12 ------------ bluetoothdomain.te | 11 +++++++++++ 2 files changed, 11 insertions(+), 12 deletions(-) create mode 100644 bluetoothdomain.te diff --git a/bluetooth.te b/bluetooth.te index c05de059a..826856c27 100644 --- a/bluetooth.te +++ b/bluetooth.te @@ -23,23 +23,11 @@ r_dir_file(bluetooth, bluetooth_efs_file) allow bluetooth { tun_device uhid_device hci_attach_dev }:chr_file rw_file_perms; auditallow bluetooth tun_device:chr_file rw_file_perms; -# Other domains that can create and use bluetooth sockets. -# SELinux does not presently define a specific socket class for -# bluetooth sockets, nor does it distinguish among the bluetooth protocols. -# 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. allow bluetooth sysfs_bluetooth_writable:file rw_file_perms; allow bluetooth self:capability net_admin; allow bluetooth self:capability2 wake_alarm; -# 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 { getopt setopt getattr read write ioctl shutdown }; - # tethering allow bluetooth self:tun_socket create_socket_perms; allow bluetooth efs_file:dir search; diff --git a/bluetoothdomain.te b/bluetoothdomain.te new file mode 100644 index 000000000..9626e4b4b --- /dev/null +++ b/bluetoothdomain.te @@ -0,0 +1,11 @@ +# Other domains that can create and use bluetooth sockets. +# SELinux does not presently define a specific socket class for +# bluetooth sockets, nor does it distinguish among the bluetooth protocols. +# 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; + +# 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 { getopt setopt getattr read write ioctl shutdown }; -- GitLab