commit:     31afb6134c5d0dca49042de96801d28601a905d3
Author:     Guido Trentalancia via refpolicy <refpolicy <AT> oss <DOT> tresys 
<DOT> com>
AuthorDate: Sat Sep 10 16:26:46 2016 +0000
Commit:     Sven Vermeulen <swift <AT> gentoo <DOT> org>
CommitDate: Mon Oct  3 06:06:32 2016 +0000
URL:        
https://gitweb.gentoo.org/proj/hardened-refpolicy.git/commit/?id=31afb613

mozilla: let mozilla play audio

Let mozilla play audio:

- add new interfaces to the pulseaudio module;
- let mozilla read alsa configuration files;
- add further permissions to mozilla needed to use
  pulseaudio to play audio.

Signed-off-by: Guido Trentalancia <guido <AT> trentalancia.net>

 policy/modules/contrib/mozilla.te    |  9 +++++
 policy/modules/contrib/pulseaudio.if | 77 ++++++++++++++++++++++++++++++++++++
 2 files changed, 86 insertions(+)

diff --git a/policy/modules/contrib/mozilla.te 
b/policy/modules/contrib/mozilla.te
index cd1aea3..ca45f5c 100644
--- a/policy/modules/contrib/mozilla.te
+++ b/policy/modules/contrib/mozilla.te
@@ -217,6 +217,11 @@ tunable_policy(`use_samba_home_dirs',`
 ')
 
 optional_policy(`
+       alsa_read_config(mozilla_t)
+       alsa_read_home_files(mozilla_t)
+')
+
+optional_policy(`
        apache_read_user_scripts(mozilla_t)
        apache_read_user_content(mozilla_t)
 ')
@@ -269,6 +274,8 @@ optional_policy(`
 
 optional_policy(`
        pulseaudio_run(mozilla_t, mozilla_roles)
+       pulseaudio_rw_tmpfs_files(mozilla_t)
+       pulseaudio_use_fds(mozilla_t)
 ')
 
 optional_policy(`
@@ -493,6 +500,8 @@ optional_policy(`
 
 optional_policy(`
        pulseaudio_run(mozilla_plugin_t, mozilla_plugin_roles)
+       pulseaudio_rw_tmpfs_files(mozilla_plugin_t)
+       pulseaudio_use_fds(mozilla_plugin_t)
 ')
 
 optional_policy(`

diff --git a/policy/modules/contrib/pulseaudio.if 
b/policy/modules/contrib/pulseaudio.if
index f057680..11238f2 100644
--- a/policy/modules/contrib/pulseaudio.if
+++ b/policy/modules/contrib/pulseaudio.if
@@ -371,3 +371,80 @@ interface(`pulseaudio_client_domain',`
        pulseaudio_domtrans($1)
        pulseaudio_tmpfs_content($2)
 ')
+
+#######################################
+## <summary>
+##     Read pulseaudio tmpfs files.
+## </summary>
+## <param name="domain">
+##     <summary>
+##     Domain allowed access.
+##     </summary>
+## </param>
+#
+interface(`pulseaudio_read_tmpfs_files',`
+       gen_require(`
+               type pulseaudio_tmpfs_t;
+       ')
+
+       fs_search_tmpfs($1)
+       read_files_pattern($1, pulseaudio_tmpfs_t, pulseaudio_tmpfs_t)
+')
+
+#######################################
+## <summary>
+##     Read and write pulseaudio tmpfs
+##     files.
+## </summary>
+## <param name="domain">
+##     <summary>
+##     Domain allowed access.
+##     </summary>
+## </param>
+#
+interface(`pulseaudio_rw_tmpfs_files',`
+       gen_require(`
+               type pulseaudio_tmpfs_t;
+       ')
+
+       fs_search_tmpfs($1)
+       rw_files_pattern($1, pulseaudio_tmpfs_t, pulseaudio_tmpfs_t)
+')
+
+########################################
+## <summary>
+##     Use file descriptors for
+##     pulseaudio.
+## </summary>
+## <param name="domain">
+##     <summary>
+##     Domain allowed access.
+##     </summary>
+## </param>
+#
+interface(`pulseaudio_use_fds',`
+       gen_require(`
+               type pulseaudio_t;
+       ')
+
+       allow $1 pulseaudio_t:fd use;
+')
+
+########################################
+## <summary>
+##     Do not audit attempts to use the
+##     file descriptors for pulseaudio.
+## </summary>
+## <param name="domain">
+##      <summary>
+##      Domain allowed access.
+##      </summary>
+## </param>
+#
+interface(`pulseaudio_dontaudit_use_fds',`
+       gen_require(`
+               type pulseaudio_t;
+       ')
+
+       dontaudit $1 pulseaudio_t:fd use;
+')

Reply via email to