512
512
if (entry->mode & AA_CHANGE_PROFILE) {
514
char lbuf[PATH_MAX + 8];
517
/* allow change_profile for all execs */
518
vec[0] = "/[^\\x00]*";
513
520
if (entry->namespace) {
515
char lbuf[PATH_MAX + 8];
517
522
ptype = convert_aaregex_to_pcre(entry->namespace, 0, lbuf, PATH_MAX + 8, &pos);
520
if (!aare_add_rule_vec(dfarules, 0, AA_CHANGE_PROFILE, 0, 2, vec, dfaflags))
523
if (!aare_add_rule(dfarules, tbuf, 0, AA_CHANGE_PROFILE, 0, dfaflags))
527
/* regular change_profile rule */
528
if (!aare_add_rule_vec(dfarules, 0, AA_CHANGE_PROFILE | AA_ONEXEC, 0, index - 1, &vec[1], dfaflags))
530
/* onexec rules - both rules are needed for onexec */
531
if (!aare_add_rule_vec(dfarules, 0, AA_ONEXEC, 0, 1, vec, dfaflags))
533
if (!aare_add_rule_vec(dfarules, 0, AA_ONEXEC, 0, index, vec, dfaflags))
527
536
if (entry->mode & (AA_USER_PTRACE | AA_OTHER_PTRACE)) {
528
537
int mode = entry->mode & (AA_USER_PTRACE | AA_OTHER_PTRACE);