commit:     280eb10e71337401487dd51dc3cb9243b16be783
Author:     Kenton Groombridge <me <AT> concord <DOT> sh>
AuthorDate: Sun Aug  8 16:54:41 2021 +0000
Commit:     Jason Zaman <perfinion <AT> gentoo <DOT> org>
CommitDate: Sat Nov 20 22:58:24 2021 +0000
URL:        
https://gitweb.gentoo.org/proj/hardened-refpolicy.git/commit/?id=280eb10e

cryfs, roles: use user exec domain attribute

Signed-off-by: Kenton Groombridge <me <AT> concord.sh>
Signed-off-by: Jason Zaman <perfinion <AT> gentoo.org>

 policy/modules/apps/cryfs.if   | 31 +++++++++++++++++++++++--------
 policy/modules/roles/sysadm.te |  2 +-
 2 files changed, 24 insertions(+), 9 deletions(-)

diff --git a/policy/modules/apps/cryfs.if b/policy/modules/apps/cryfs.if
index 300a00ad..d0bece91 100644
--- a/policy/modules/apps/cryfs.if
+++ b/policy/modules/apps/cryfs.if
@@ -4,18 +4,29 @@
 ## <summary>
 ##     Role access for CryFS.
 ## </summary>
-## <param name="role">
+## <param name="role_prefix">
 ##     <summary>
-##     Role allowed access.
+##     The prefix of the user role (e.g., user
+##     is the prefix for user_r).
 ##     </summary>
 ## </param>
-## <param name="domain">
+## <param name="user_domain">
 ##     <summary>
 ##     User domain for the role.
 ##     </summary>
 ## </param>
+## <param name="user_exec_domain">
+##     <summary>
+##     User exec domain for execute and transition access.
+##     </summary>
+## </param>
+## <param name="role">
+##     <summary>
+##     Role allowed access
+##     </summary>
+## </param>
 #
-interface(`cryfs_role',`
+template(`cryfs_role',`
        gen_require(`
                attribute_role cryfs_roles;
                type cryfs_t, cryfs_exec_t;
@@ -26,15 +37,19 @@ interface(`cryfs_role',`
        # Declarations
        #
 
-       roleattribute $1 cryfs_roles;
+       roleattribute $4 cryfs_roles;
 
        ########################################
        #
        # Policy
        #
 
-       domtrans_pattern($2, cryfs_exec_t, cryfs_t)
+       domtrans_pattern($3, cryfs_exec_t, cryfs_t)
 
-       allow $2 cryfs_t:process signal_perms;
-       ps_process_pattern($2, cryfs_t)
+       allow $3 cryfs_t:process signal_perms;
+       ps_process_pattern($3, cryfs_t)
+
+       optional_policy(`
+               systemd_user_app_status($1, cryfs_t)
+       ')
 ')

diff --git a/policy/modules/roles/sysadm.te b/policy/modules/roles/sysadm.te
index 44b80516..d5d61098 100644
--- a/policy/modules/roles/sysadm.te
+++ b/policy/modules/roles/sysadm.te
@@ -1230,7 +1230,7 @@ ifndef(`distro_redhat',`
        ')
 
        optional_policy(`
-               cryfs_role(sysadm_r, sysadm_t)
+               cryfs_role(sysadm, sysadm_t, sysadm_application_exec_domain, 
sysadm_r)
        ')
 
        optional_policy(`

Reply via email to