selinux-refpolicy/refpolicy/policy/support/misc_macros.spt

55 lines
1.2 KiB
Cheetah
Raw Normal View History

########################################
#
# Helper macros
#
#
# shiftn(num,list...)
#
# shift the list num times
#
define(`shiftn',`ifelse($1,0,`shift($*)',`shiftn(decr($1),shift(shift($*)))')')
2005-11-15 18:47:20 +00:00
#
# __endline__
#
# dummy macro to insert a newline. used for
# errprint, so the close parentheses can be
# indented correctly.
#
define(`__endline__',`
')
2005-09-12 15:17:39 +00:00
########################################
#
2005-09-16 19:36:10 +00:00
# gen_user(username, role_set, mls_defaultlevel, mls_range, [mcs_categories])
2005-09-12 15:17:39 +00:00
#
2005-09-16 19:36:10 +00:00
define(`gen_user',`user $1 roles { $2 }`'ifdef(`enable_mls', ` level $3 range $4')`'ifdef(`enable_mcs',` level s0 range s0`'ifelse(`$5',,,` - s0:$5')');')
2005-09-12 15:17:39 +00:00
########################################
#
# gen_context(context,mls_sensitivity,[mcs_categories])
#
define(`gen_context',`$1`'ifdef(`enable_mls',`:$2')`'ifdef(`enable_mcs',`:s0`'ifelse(`$3',,,`:$3')')') dnl
2005-06-09 23:06:07 +00:00
2005-06-21 17:01:45 +00:00
########################################
#
# can_exec(domain,executable)
#
2005-06-16 20:30:07 +00:00
define(`can_exec',`
gen_require(`
class file { rx_file_perms execute_no_trans };
')
allow $1 $2:file { rx_file_perms execute_no_trans };
')
2005-06-21 17:01:45 +00:00
########################################
#
# gen_bool(name,default_value)
#
define(`gen_bool',`
bool $1 dflt_or_overr(`$1'_conf,$2);
')