commit: 15f4cb7c1387e72719c9948281f4818842baea96
Author: Sven Vermeulen <sven.vermeulen <AT> siphos <DOT> be>
AuthorDate: Sun Aug 10 13:53:00 2014 +0000
Commit: Sven Vermeulen <swift <AT> gentoo <DOT> org>
CommitDate: Sun Aug 10 13:53:00 2014 +0000
URL:
http://git.overlays.gentoo.org/gitweb/?p=proj/hardened-refpolicy.git;a=commit;h=15f4cb7c
Fix bug #505406 - Make thunderbird work on Gentoo again
Changes made:
- Support thunderbird_tmp_t for /tmp created files and directories
- Support XDG types
- Make user content management optional (through access template)
---
policy/modules/contrib/thunderbird.fc | 8 ++++++++
policy/modules/contrib/thunderbird.te | 36 ++++++++++++++++++++++++++++++++---
2 files changed, 41 insertions(+), 3 deletions(-)
diff --git a/policy/modules/contrib/thunderbird.fc
b/policy/modules/contrib/thunderbird.fc
index c01805a..4a579fe 100644
--- a/policy/modules/contrib/thunderbird.fc
+++ b/policy/modules/contrib/thunderbird.fc
@@ -1,3 +1,11 @@
HOME_DIR/\.thunderbird(/.*)?
gen_context(system_u:object_r:thunderbird_home_t,s0)
/usr/bin/thunderbird.* --
gen_context(system_u:object_r:thunderbird_exec_t,s0)
+
+ifdef(`distro_gentoo',`
+/opt/thunderbird/plugin-container --
gen_context(system_u:object_r:thunderbird_exec_t,s0)
+/opt/thunderbird/run-mozilla\.sh --
gen_context(system_u:object_r:thunderbird_exec_t,s0)
+/opt/thunderbird/thunderbird --
gen_context(system_u:object_r:thunderbird_exec_t,s0)
+/opt/thunderbird/thunderbird-bin --
gen_context(system_u:object_r:thunderbird_exec_t,s0)
+/opt/thunderbird/updater --
gen_context(system_u:object_r:thunderbird_exec_t,s0)
+')
diff --git a/policy/modules/contrib/thunderbird.te
b/policy/modules/contrib/thunderbird.te
index 04a56d2..cbf9e39 100644
--- a/policy/modules/contrib/thunderbird.te
+++ b/policy/modules/contrib/thunderbird.te
@@ -105,9 +105,10 @@ userdom_write_user_tmp_sockets(thunderbird_t)
userdom_manage_user_tmp_dirs(thunderbird_t)
userdom_manage_user_tmp_files(thunderbird_t)
-userdom_manage_user_home_content_dirs(thunderbird_t)
-userdom_manage_user_home_content_files(thunderbird_t)
-userdom_user_home_dir_filetrans_user_home_content(thunderbird_t, { dir file })
+# Gentoo: managed through booleans defined thruogh
userdom_user_content_access_template
+#userdom_manage_user_home_content_dirs(thunderbird_t)
+#userdom_manage_user_home_content_files(thunderbird_t)
+#userdom_user_home_dir_filetrans_user_home_content(thunderbird_t, { dir file })
xserver_user_x_domain_template(thunderbird, thunderbird_t, thunderbird_tmpfs_t)
xserver_read_xdm_tmp_files(thunderbird_t)
@@ -168,11 +169,40 @@ optional_policy(`
')
ifdef(`distro_gentoo',`
+ type thunderbird_xdg_cache_home_t;
+ xdg_cache_home_content(thunderbird_xdg_cache_home_t)
+
+ type thunderbird_tmp_t;
+ userdom_user_tmp_file(thunderbird_tmp_t)
+
################################
#
# Thunderbird local policy
#
+ # thunderbird-bin to execute stuff in /opt/thunderbird/
+ can_exec(thunderbird_t, thunderbird_exec_t)
+
+ manage_dirs_pattern(thunderbird_t, thunderbird_tmp_t, thunderbird_tmp_t)
+ manage_files_pattern(thunderbird_t, thunderbird_tmp_t,
thunderbird_tmp_t)
+ files_tmp_filetrans(thunderbird_t, thunderbird_tmp_t, { dir file })
+
+ manage_files_pattern(thunderbird_t, thunderbird_xdg_cache_home_t,
thunderbird_xdg_cache_home_t)
+ manage_dirs_pattern(thunderbird_t, thunderbird_xdg_cache_home_t,
thunderbird_xdg_cache_home_t)
+ xdg_cache_home_filetrans(thunderbird_t, thunderbird_xdg_cache_home_t,
dir)
+
+ # File preview apps for instance
+ corecmd_exec_bin(thunderbird_t)
+
+ dev_read_sysfs(thunderbird_t)
+ dev_rw_dri(thunderbird_t)
+
+ userdom_use_user_ptys(thunderbird_t)
+ # User content access
+ userdom_user_content_access_template(thunderbird, thunderbird_t)
+
+ xdg_read_data_home_files(thunderbird_t)
+
optional_policy(`
pulseaudio_client_domain(thunderbird_t, thunderbird_tmpfs_t)
')