######################################## # # Helper macros # # # shiftn(num,list...) # # shift the list num times # define(`shiftn',`ifelse($1,0,`shift($*)',`shiftn(decr($1),shift(shift($*)))')') ######################################## # # context_template(context,sensitivity) # # Optionally put the sensitivity for the file # define(`context_template',`ifdef(`enable_mls',`$1:$2',`$1')') dnl ######################################## # # user_mls(level,range) # define(`user_mls',`ifdef(`enable_mls',`level $1 range $2')') dnl define(`can_exec',`allow $1 $2:file { getattr read execute execute_no_trans };')