@@ -51,6 +51,9 @@ files_type(pulseaudio_var_lib_t)
5151type pulseaudio_xdg_config_t;
5252xdg_config_content(pulseaudio_xdg_config_t)
5353
54+ type pulseaudio_xdg_cache_t;
55+ xdg_cache_content(pulseaudio_xdg_cache_t)
56+
5457# #######################################
5558#
5659# Local policy
@@ -76,6 +79,7 @@ userdom_user_home_dir_filetrans(pulseaudio_t, pulseaudio_home_t, file, ".pulse-c
7679
7780manage_dirs_pattern(pulseaudio_t, pulseaudio_tmp_t, pulseaudio_tmp_t)
7881manage_files_pattern(pulseaudio_t, pulseaudio_tmp_t, pulseaudio_tmp_t)
82+ allow pulseaudio_t pulseaudio_tmp_t:file map;
7983manage_sock_files_pattern(pulseaudio_t, pulseaudio_tmp_t, pulseaudio_tmp_t)
8084files_tmp_filetrans(pulseaudio_t, pulseaudio_tmp_t, { dir sock_file })
8185userdom_user_runtime_filetrans(pulseaudio_t, pulseaudio_tmp_t, dir)
@@ -103,6 +107,11 @@ manage_dirs_pattern(pulseaudio_t, pulseaudio_xdg_config_t, pulseaudio_xdg_config
103107manage_files_pattern(pulseaudio_t, pulseaudio_xdg_config_t, pulseaudio_xdg_config_t)
104108allow pulseaudio_t pulseaudio_xdg_config_t:file map;
105109
110+ manage_dirs_pattern(pulseaudio_t, pulseaudio_xdg_cache_t, pulseaudio_xdg_cache_t)
111+ manage_files_pattern(pulseaudio_t, pulseaudio_xdg_cache_t, pulseaudio_xdg_cache_t)
112+ allow pulseaudio_t pulseaudio_xdg_cache_t:file map;
113+ xdg_cache_filetrans(pulseaudio_t, pulseaudio_xdg_cache_t, dir)
114+
106115xdg_config_filetrans(pulseaudio_t, pulseaudio_xdg_config_t, dir, "pulse")
107116
108117allow pulseaudio_t pulseaudio_client:process signull;
@@ -122,8 +131,12 @@ dev_read_sound(pulseaudio_t)
122131dev_write_sound(pulseaudio_t)
123132dev_read_sysfs(pulseaudio_t)
124133dev_read_urand(pulseaudio_t)
134+ dev_rw_dri(pulseaudio_t)
135+ dev_read_video_dev(pulseaudio_t)
136+ dev_write_video_dev(pulseaudio_t)
125137
126138files_read_usr_files(pulseaudio_t)
139+ files_map_usr_files(pulseaudio_t)
127140
128141fs_getattr_tmpfs(pulseaudio_t)
129142fs_getattr_all_fs(pulseaudio_t)
@@ -136,6 +149,9 @@ term_use_all_ptys(pulseaudio_t)
136149
137150auth_use_nsswitch(pulseaudio_t)
138151
152+ # for /usr/lib/x86_64-linux-gnu/gstreamer1.0/gstreamer-1.0/gst-plugin-scanner
153+ libs_exec_lib_files(pulseaudio_t)
154+
139155logging_send_syslog_msg(pulseaudio_t)
140156
141157miscfiles_read_localization(pulseaudio_t)
@@ -202,6 +218,7 @@ optional_policy(`
202218 dbus_system_domain(pulseaudio_t, pulseaudio_exec_t)
203219 dbus_all_session_bus_client(pulseaudio_t)
204220 dbus_connect_all_session_bus(pulseaudio_t)
221+ dbus_getattr_session_runtime_socket(pulseaudio_t)
205222
206223 optional_policy(`
207224 policykit_dbus_chat(pulseaudio_t)
0 commit comments