apparmor: move permissions into their own file to be more easily shared
authorJohn Johansen <john.johansen@canonical.com>
Fri, 26 May 2017 08:57:09 +0000 (01:57 -0700)
committerJohn Johansen <john.johansen@canonical.com>
Thu, 8 Jun 2017 19:51:53 +0000 (12:51 -0700)
Signed-off-by: John Johansen <john.johansen@canonical.com>
security/apparmor/include/file.h
security/apparmor/include/perms.h [new file with mode: 0644]
security/apparmor/include/policy.h
security/apparmor/lib.c

index eba39cb..a75e487 100644 (file)
 
 #include "domain.h"
 #include "match.h"
+#include "perms.h"
 
 struct aa_profile;
 struct path;
 
-/*
- * We use MAY_EXEC, MAY_WRITE, MAY_READ, MAY_APPEND and the following flags
- * for profile permissions
- */
-#define AA_MAY_CREATE                  0x0010
-#define AA_MAY_DELETE                  0x0020
-#define AA_MAY_META_WRITE              0x0040
-#define AA_MAY_META_READ               0x0080
-
-#define AA_MAY_CHMOD                   0x0100
-#define AA_MAY_CHOWN                   0x0200
-#define AA_MAY_LOCK                    0x0400
-#define AA_EXEC_MMAP                   0x0800
-
-#define AA_MAY_LINK                    0x1000
-#define AA_LINK_SUBSET                 AA_MAY_LOCK     /* overlaid */
-#define AA_MAY_ONEXEC                  0x40000000      /* exec allows onexec */
-#define AA_MAY_CHANGE_PROFILE          0x80000000
-#define AA_MAY_CHANGEHAT               0x80000000      /* ctrl auditing only */
 
 #define AA_AUDIT_FILE_MASK     (MAY_READ | MAY_WRITE | MAY_EXEC | MAY_APPEND |\
                                 AA_MAY_CREATE | AA_MAY_DELETE |        \
diff --git a/security/apparmor/include/perms.h b/security/apparmor/include/perms.h
new file mode 100644 (file)
index 0000000..4a65755
--- /dev/null
@@ -0,0 +1,40 @@
+/*
+ * AppArmor security module
+ *
+ * This file contains AppArmor basic permission sets definitions.
+ *
+ * Copyright 2017 Canonical Ltd.
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License as
+ * published by the Free Software Foundation, version 2 of the
+ * License.
+ */
+
+#ifndef __AA_PERM_H
+#define __AA_PERM_H
+
+#include <linux/fs.h>
+
+/*
+ * We use MAY_EXEC, MAY_WRITE, MAY_READ, MAY_APPEND and the following flags
+ * for profile permissions
+ */
+#define AA_MAY_CREATE                  0x0010
+#define AA_MAY_DELETE                  0x0020
+#define AA_MAY_META_WRITE              0x0040
+#define AA_MAY_META_READ               0x0080
+
+#define AA_MAY_CHMOD                   0x0100
+#define AA_MAY_CHOWN                   0x0200
+#define AA_MAY_LOCK                    0x0400
+#define AA_EXEC_MMAP                   0x0800
+
+#define AA_MAY_LINK                    0x1000
+#define AA_LINK_SUBSET                 AA_MAY_LOCK     /* overlaid */
+#define AA_MAY_ONEXEC                  0x40000000      /* exec allows onexec */
+#define AA_MAY_CHANGE_PROFILE          0x80000000
+#define AA_MAY_CHANGEHAT               0x80000000      /* ctrl auditing only */
+
+
+#endif /* __AA_PERM_H */
index dffa01c..0f87f70 100644 (file)
@@ -29,6 +29,7 @@
 #include "domain.h"
 #include "file.h"
 #include "lib.h"
+#include "perms.h"
 #include "resource.h"
 
 
index 864b2fa..90eb14c 100644 (file)
@@ -21,6 +21,7 @@
 #include "include/audit.h"
 #include "include/apparmor.h"
 #include "include/lib.h"
+#include "include/perms.h"
 #include "include/policy.h"
 
 /**