diff options
author | Riley Spahn <rileyspahn@google.com> | 2014-07-01 15:32:31 -0700 |
---|---|---|
committer | Riley Spahn <rileyspahn@google.com> | 2014-07-25 13:25:51 -0700 |
commit | f785f497567ea9d55ade92cbf82a7e80eeb5cb82 (patch) | |
tree | bd36d6320843cdb358ce79a6c3486919697ae594 /drm/libdrmframework | |
parent | 2e25819fffbb23d42541ead1bf735f3a02fa0330 (diff) | |
download | frameworks_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.h | 19 |
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); |