Skip to content
Snippets Groups Projects
drmserver.te 1.31 KiB
Newer Older
  • Learn to ignore specific revisions
  • Stephen Smalley's avatar
    Stephen Smalley committed
    # drmserver - DRM service
    type drmserver, domain;
    
    permissive drmserver;
    
    Stephen Smalley's avatar
    Stephen Smalley committed
    type drmserver_exec, exec_type, file_type;
    
    init_daemon_domain(drmserver)
    
    typeattribute drmserver mlstrustedsubject;
    
    # Perform Binder IPC to system server.
    binder_use(drmserver)
    binder_call(drmserver, system_server)
    binder_call(drmserver, appdomain)
    binder_service(drmserver)
    
    # Perform Binder IPC to mediaserver
    binder_call(drmserver, mediaserver)
    
    allow drmserver sdcard_type:dir search;
    allow drmserver drm_data_file:dir create_dir_perms;
    allow drmserver drm_data_file:file create_file_perms;
    allow drmserver self:{ tcp_socket udp_socket } *;
    allow drmserver port:tcp_socket name_connect;
    allow drmserver tee_device:chr_file rw_file_perms;
    allow drmserver platform_app_data_file:file { read write getattr };
    allow drmserver { app_data_file asec_apk_file }:file { read write getattr };
    allow drmserver sdcard_type:file { read write getattr };
    allow drmserver efs_file:file { open read getattr };
    
    type drmserver_socket, file_type;
    
    # /data/app/tlcd_sock socket file.
    # Clearly, /data/app is the most logical place to create a socket.  Not.
    allow drmserver apk_data_file:dir rw_dir_perms;
    type_transition drmserver apk_data_file:sock_file drmserver_socket;
    allow drmserver drmserver_socket:sock_file create_file_perms;
    allow drmserver tee:unix_stream_socket connectto;