commit:     319c3a79d778755a5519bac88dd056bcb6537057
Author:     Jason Zaman <jason <AT> perfinion <DOT> com>
AuthorDate: Mon Aug 18 09:51:22 2014 +0000
Commit:     Jason Zaman <gentoo <AT> perfinion <DOT> com>
CommitDate: Wed Aug 20 17:05:26 2014 +0000
URL:        
http://sources.gentoo.org/gitweb/?p=proj/hardened-refpolicy.git;a=commit;h=319c3a79

Add java_domain_type interface

This interface will enable another domain to use Java without
having to domtrans to java_t

---
 policy/modules/contrib/java.if | 34 ++++++++++++++++++++++++++++++++++
 policy/modules/contrib/java.te |  3 +++
 2 files changed, 37 insertions(+)

diff --git a/policy/modules/contrib/java.if b/policy/modules/contrib/java.if
index acf6a63..f4b9444 100644
--- a/policy/modules/contrib/java.if
+++ b/policy/modules/contrib/java.if
@@ -327,3 +327,37 @@ template(`java_noatsecure_domtrans',`
 
        java_domtrans($1)
 ')
+
+#######################################
+## <summary>
+##     The template for using java in a domain.
+## </summary>
+## <desc>
+##     <p>
+##     This template creates a derived domains which are used
+##     for java applications.
+##     </p>
+## </desc>
+## <param name="domain">
+##     <summary>
+##     The type of the domain to be given java privs.
+##     </summary>
+## </param>
+#
+template(`java_domain_type',`
+       gen_require(`
+               attribute java_domain;
+               type java_exec_t, java_tmp_t, java_tmpfs_t;
+               type java_home_t;
+       ')
+
+       ########################################
+       #
+       # Policy
+       #
+
+       typeattribute $1 java_domain;
+
+       # cannot be called on the attribute, so do it now
+       auth_use_nsswitch($1)
+')

diff --git a/policy/modules/contrib/java.te b/policy/modules/contrib/java.te
index 11e996d..67af775 100644
--- a/policy/modules/contrib/java.te
+++ b/policy/modules/contrib/java.te
@@ -120,6 +120,9 @@ ifdef(`distro_gentoo',`
        manage_dirs_pattern(java_domain, java_home_t, java_home_t)
        manage_files_pattern(java_domain, java_home_t, java_home_t)
        userdom_user_home_dir_filetrans(java_domain, java_home_t, dir, 
".icedtea")
+
+       manage_lnk_files_pattern(java_domain, java_tmp_t, java_tmp_t)
+       files_tmp_filetrans(java_domain, java_tmp_t, lnk_file)
 ')
 
 tunable_policy(`allow_java_execstack',`

Reply via email to