add macro to expand object class sets for use in require blocks
This commit is contained in:
parent
50f6503452
commit
157c69416f
@ -358,6 +358,33 @@ interface(`domain_getsession_all_domains',`
|
|||||||
allow $1 domain:process getsession;
|
allow $1 domain:process getsession;
|
||||||
')
|
')
|
||||||
|
|
||||||
|
########################################
|
||||||
|
## <summary>
|
||||||
|
## Do not audit attempts to get the attributes
|
||||||
|
## of all domains sockets, for all socket types.
|
||||||
|
## </summary>
|
||||||
|
## <desc>
|
||||||
|
## <p>
|
||||||
|
## Do not audit attempts to get the attributes
|
||||||
|
## of all domains sockets, for all socket types.
|
||||||
|
## </p>
|
||||||
|
## <p>
|
||||||
|
## This interface was added for PCMCIA cardmgr
|
||||||
|
## and is probably excessive.
|
||||||
|
## </p>
|
||||||
|
## </desc>
|
||||||
|
## <param name="domain">
|
||||||
|
## Domain to not audit.
|
||||||
|
## </param>
|
||||||
|
#
|
||||||
|
interface(`domain_dontaudit_getattr_all_sockets',`
|
||||||
|
gen_require(`
|
||||||
|
gen_require_set(getattr,socket_class_set)
|
||||||
|
')
|
||||||
|
|
||||||
|
dontaudit $1 domain:socket_class_set getattr;
|
||||||
|
')
|
||||||
|
|
||||||
########################################
|
########################################
|
||||||
## <desc>
|
## <desc>
|
||||||
## Do not audit attempts to get the attributes
|
## Do not audit attempts to get the attributes
|
||||||
|
@ -63,8 +63,11 @@ corecmd_exec_sbin(cardmgr_t)
|
|||||||
|
|
||||||
domain_use_wide_inherit_fd(cardmgr_t)
|
domain_use_wide_inherit_fd(cardmgr_t)
|
||||||
domain_exec_all_entry_files(cardmgr_t)
|
domain_exec_all_entry_files(cardmgr_t)
|
||||||
|
# Read /proc/PID directories for all domains (for fuser).
|
||||||
|
domain_read_all_domains_state(cardmgr_t)
|
||||||
# cjp: these look excessive:
|
# cjp: these look excessive:
|
||||||
domain_dontaudit_getattr_all_unnamed_pipes(cardmgr_t)
|
domain_dontaudit_getattr_all_unnamed_pipes(cardmgr_t)
|
||||||
|
domain_dontaudit_getattr_all_sockets(cardmgr_t)
|
||||||
|
|
||||||
files_search_home(cardmgr_t)
|
files_search_home(cardmgr_t)
|
||||||
files_read_etc_runtime_files(cardmgr_t)
|
files_read_etc_runtime_files(cardmgr_t)
|
||||||
@ -126,12 +129,7 @@ allow cardmgr_t var_lib_t:file { getattr read };
|
|||||||
# Create device files in /tmp.
|
# Create device files in /tmp.
|
||||||
file_type_auto_trans(cardmgr_t, { var_run_t cardmgr_var_run_t device_t tmp_t }, cardmgr_dev_t, { blk_file chr_file })
|
file_type_auto_trans(cardmgr_t, { var_run_t cardmgr_var_run_t device_t tmp_t }, cardmgr_dev_t, { blk_file chr_file })
|
||||||
|
|
||||||
# Read /proc/PID directories for all domains (for fuser).
|
|
||||||
can_ps(cardmgr_t, domain)
|
|
||||||
|
|
||||||
dontaudit cardmgr_t ptyfile:chr_file getattr;
|
dontaudit cardmgr_t ptyfile:chr_file getattr;
|
||||||
# cjp: these look excessive:
|
|
||||||
dontaudit cardmgr_t domain:socket_class_set getattr;
|
|
||||||
|
|
||||||
# this goes to apm
|
# this goes to apm
|
||||||
optional_policy(`pcmcia.te',`
|
optional_policy(`pcmcia.te',`
|
||||||
|
@ -200,3 +200,26 @@ define(`create_shm_perms', `{ associate getattr setattr create destroy read writ
|
|||||||
# Use (read and write) terminals
|
# Use (read and write) terminals
|
||||||
#
|
#
|
||||||
define(`rw_term_perms', `{ getattr read write ioctl }')
|
define(`rw_term_perms', `{ getattr read write ioctl }')
|
||||||
|
|
||||||
|
########################################
|
||||||
|
#
|
||||||
|
# Expand object class set macros.
|
||||||
|
#
|
||||||
|
# gen_require_set(permissions,object_class_set)
|
||||||
|
#
|
||||||
|
# the statement:
|
||||||
|
# gen_require_set({ getattr read },{ foo bar tar })
|
||||||
|
#
|
||||||
|
# makes:
|
||||||
|
# class foo { getattr read };
|
||||||
|
# class bar { getattr read };
|
||||||
|
# class tar { getattr read };
|
||||||
|
#
|
||||||
|
# !! This is only used in require blocks. !!
|
||||||
|
|
||||||
|
define(`gen_require_set',`
|
||||||
|
ifelse(regexp($2, `\w'), -1, `', `dnl
|
||||||
|
class regexp($2, `\(\w+\)', `\1') $1;
|
||||||
|
gen_require_set($1, regexp($2, `\w+\(.*\)', `\1'))dnl
|
||||||
|
') dnl
|
||||||
|
')
|
||||||
|
Loading…
Reference in New Issue
Block a user