## Bluetooth tools and system services.
########################################
##
## Read bluetooth daemon configuration.
##
##
## Domain allowed access.
##
#
interface(`bluetooth_read_config',`
gen_require(`
type bluetooth_conf_t;
')
allow $1 bluetooth_conf_t:file { getattr read ioctl };
')
########################################
##
## Execute bluetooth_helper in the bluetooth_helper domain.
##
##
## The type of the process performing this action.
##
#
interface(`bluetooth_domtrans_helper',`
gen_require(`
type bluetooth_helper_t, bluetooth_helper_exec_t;
')
domain_auto_trans($1,bluetooth_helper_exec_t,bluetooth_helper_t)
allow $1 bluetooth_helper_t:fd use;
allow bluetooth_helper_t $1:fd use;
allow bluetooth_helper_t $1:fifo_file rw_file_perms;
allow bluetooth_helper_t $1:process sigchld;
')
########################################
##
## Send and receive messages from
## bluetooth over dbus.
##
##
## Domain allowed access.
##
#
interface(`bluetooth_dbus_chat',`
gen_require(`
type bluetooth_t;
class dbus send_msg;
')
allow $1 bluetooth_t:dbus send_msg;
allow bluetooth_t $1:dbus send_msg;
')
########################################
##
## Execute bluetooth_helper in the bluetooth_helper domain, and
## allow the specified role the bluetooth_helper domain.
##
##
## The type of the process performing this action.
##
##
## The role to be allowed the bluetooth_helper domain.
##
##
## The type of the terminal allow the bluetooth_helper domain to use.
##
#
interface(`bluetooth_run_helper',`
gen_require(`
type bluetooth_helper_t;
')
bluetooth_domtrans_helper($1)
role $2 types bluetooth_helper_t;
allow bluetooth_helper_t $3:chr_file rw_term_perms;
')
########################################
##
## Read bluetooth helper files.
##
##
## Domain allowed access.
##
#
interface(`bluetooth_dontaudit_read_helper_files',`
gen_require(`
type bluetooth_helper_t;
')
dontaudit $1 bluetooth_helper_t:dir search;
dontaudit $1 bluetooth_helper_t:file { read getattr };
')