summaryrefslogtreecommitdiffstats
path: root/drm/libdrmframework
diff options
context:
space:
mode:
authorRiley Spahn <rileyspahn@google.com>2014-07-01 15:32:31 -0700
committerRiley Spahn <rileyspahn@google.com>2014-07-25 13:25:51 -0700
commitf785f497567ea9d55ade92cbf82a7e80eeb5cb82 (patch)
treebd36d6320843cdb358ce79a6c3486919697ae594 /drm/libdrmframework
parent2e25819fffbb23d42541ead1bf735f3a02fa0330 (diff)
downloadframeworks_av-f785f497567ea9d55ade92cbf82a7e80eeb5cb82.zip
frameworks_av-f785f497567ea9d55ade92cbf82a7e80eeb5cb82.tar.gz
frameworks_av-f785f497567ea9d55ade92cbf82a7e80eeb5cb82.tar.bz2
Add SELinux MAC to DrmManagerService.
Add SELinux checks on all interfaces exposed by the DrmManagerService. Change-Id: Ib170d3229d88781b76e5fc1c557c8fed233df5d1
Diffstat (limited to 'drm/libdrmframework')
-rw-r--r--drm/libdrmframework/include/DrmManagerService.h19
1 files changed, 19 insertions, 0 deletions
diff --git a/drm/libdrmframework/include/DrmManagerService.h b/drm/libdrmframework/include/DrmManagerService.h
index 8bc59b4..45cee2e 100644
--- a/drm/libdrmframework/include/DrmManagerService.h
+++ b/drm/libdrmframework/include/DrmManagerService.h
@@ -42,9 +42,28 @@ public:
static void instantiate();
private:
+ enum drm_perm_t {
+ CONSUME_RIGHTS = 0,
+ SET_PLAYBACK_STATUS = 1,
+ OPEN_DECRYPT_SESSION = 2,
+ CLOSE_DECRYPT_SESSION = 3,
+ INITIALIZE_DECRYPT_UNIT = 4,
+ DECRYPT = 5,
+ FINALIZE_DECRYPT_UNIT = 6,
+ PREAD = 7,
+ };
+
+ static const char *const drm_perm_labels[];
+
DrmManagerService();
virtual ~DrmManagerService();
+ static const char *get_perm_label(drm_perm_t perm);
+
+ static bool selinuxIsProtectedCallAllowed(pid_t spid, drm_perm_t perm);
+
+ static bool isProtectedCallAllowed(drm_perm_t perm);
+
public:
int addUniqueId(bool isNative);