2
0
mirror of https://gitlab.com/apparmor/apparmor synced 2025-08-22 10:07:12 +00:00

Add user side support for pux exec mode

This commit is contained in:
John Johansen 2009-08-20 15:41:10 +00:00
parent 6998f6fc3d
commit e43065cfe0
3 changed files with 12 additions and 4 deletions

View File

@ -32,7 +32,7 @@
#define AA_MAY_LINK (1 << 4) #define AA_MAY_LINK (1 << 4)
#define AA_MAY_LOCK (1 << 5) #define AA_MAY_LOCK (1 << 5)
#define AA_EXEC_MMAP (1 << 6) #define AA_EXEC_MMAP (1 << 6)
#define AA_MAY_MOUNT (1 << 7) #define AA_EXEC_PUX (1 << 7)
#define AA_EXEC_UNSAFE (1 << 8) #define AA_EXEC_UNSAFE (1 << 8)
#define AA_EXEC_INHERIT (1 << 9) #define AA_EXEC_INHERIT (1 << 9)
#define AA_EXEC_MOD_0 (1 << 10) #define AA_EXEC_MOD_0 (1 << 10)
@ -43,7 +43,7 @@
#define AA_BASE_PERMS (AA_MAY_EXEC | AA_MAY_WRITE | \ #define AA_BASE_PERMS (AA_MAY_EXEC | AA_MAY_WRITE | \
AA_MAY_READ | AA_MAY_APPEND | \ AA_MAY_READ | AA_MAY_APPEND | \
AA_MAY_LINK | AA_MAY_LOCK | \ AA_MAY_LINK | AA_MAY_LOCK | \
AA_MAY_MOUNT | AA_EXEC_MMAP | \ AA_EXEC_PUX | AA_EXEC_MMAP | \
AA_EXEC_UNSAFE | AA_EXEC_INHERIT | \ AA_EXEC_UNSAFE | AA_EXEC_INHERIT | \
AA_EXEC_MOD_0 | AA_EXEC_MOD_1 | \ AA_EXEC_MOD_0 | AA_EXEC_MOD_1 | \
AA_EXEC_MOD_2 | AA_EXEC_MOD_3) AA_EXEC_MOD_2 | AA_EXEC_MOD_3)
@ -74,7 +74,7 @@
AA_OTHER_EXEC_MODIFIERS) AA_OTHER_EXEC_MODIFIERS)
#define AA_EXEC_TYPE (AA_EXEC_UNSAFE | AA_EXEC_INHERIT | \ #define AA_EXEC_TYPE (AA_EXEC_UNSAFE | AA_EXEC_INHERIT | \
AA_EXEC_MODIFIERS) AA_EXEC_PUX | AA_EXEC_MODIFIERS)
#define AA_EXEC_UNCONFINED (AA_EXEC_MOD_0) #define AA_EXEC_UNCONFINED (AA_EXEC_MOD_0)
#define AA_EXEC_PROFILE (AA_EXEC_MOD_1) #define AA_EXEC_PROFILE (AA_EXEC_MOD_1)

View File

@ -162,7 +162,7 @@ COLON :
END_OF_RULE [,] END_OF_RULE [,]
SEPARATOR {UP} SEPARATOR {UP}
RANGE - RANGE -
MODE_CHARS ([RrWwaLlMmkXx])|(([Uu]|[Pp]|[Cc])[Xx])|(([Pp]|[Cc])?[Ii][Xx]) MODE_CHARS ([RrWwaLlMmkXx])|(([Pp]|[Cc])[Xx])|(([Pp]|[Cc])?([IiUu])[Xx])
MODES {MODE_CHARS}+ MODES {MODE_CHARS}+
WS [[:blank:]] WS [[:blank:]]
NUMBER [[:digit:]]+ NUMBER [[:digit:]]+

View File

@ -570,6 +570,14 @@ reeval:
mode |= tmode; mode |= tmode;
p += 2; /* skip x */ p += 2; /* skip x */
} }
} else if (tolower(next) == COD_UNSAFE_UNCONFINED_CHAR) {
tmode |= AA_EXEC_PUX;
if (IS_DIFF_QUAL(mode, tmode)) {
yyerror(_("Exec qualifier '%c%c' invalid, conflicting qualifier already specified"), this, next);
} else {
mode |= tmode;
p += 2; /* skip x */
}
} else if (IS_DIFF_QUAL(mode, tmode)) { } else if (IS_DIFF_QUAL(mode, tmode)) {
yyerror(_("Exec qualifier '%c' invalid, conflicting qualifier already specified"), this); yyerror(_("Exec qualifier '%c' invalid, conflicting qualifier already specified"), this);