commit:     95bb9a0c4c8e7b00b48cd5ba7675efe259a03d41
Author:     cgzones <cgzones <AT> googlemail <DOT> com>
AuthorDate: Thu Jan  5 19:14:47 2017 +0000
Commit:     Jason Zaman <perfinion <AT> gentoo <DOT> org>
CommitDate: Mon Jan 23 12:56:05 2017 +0000
URL:        
https://gitweb.gentoo.org/proj/hardened-refpolicy.git/commit/?id=95bb9a0c

update screen module

 policy/modules/contrib/screen.fc | 10 +++++-----
 policy/modules/contrib/screen.if | 10 +++++-----
 policy/modules/contrib/screen.te | 29 ++++++++++++-----------------
 3 files changed, 22 insertions(+), 27 deletions(-)

diff --git a/policy/modules/contrib/screen.fc b/policy/modules/contrib/screen.fc
index 975d48f..7196c59 100644
--- a/policy/modules/contrib/screen.fc
+++ b/policy/modules/contrib/screen.fc
@@ -1,9 +1,9 @@
-HOME_DIR/\.screen(/.*)?        gen_context(system_u:object_r:screen_home_t,s0)
+HOME_DIR/\.screen(/.*)?                
gen_context(system_u:object_r:screen_home_t,s0)
 HOME_DIR/\.screenrc    --      gen_context(system_u:object_r:screen_home_t,s0)
 HOME_DIR/\.tmux\.conf  --      gen_context(system_u:object_r:screen_home_t,s0)
 
-/usr/bin/screen        --      gen_context(system_u:object_r:screen_exec_t,s0)
-/usr/bin/tmux  --      gen_context(system_u:object_r:screen_exec_t,s0)
+/run/screen(/.*)?              
gen_context(system_u:object_r:screen_runtime_t,s0)
+/run/tmux(/.*)?                        
gen_context(system_u:object_r:screen_runtime_t,s0)
 
-/run/screen(/.*)?      gen_context(system_u:object_r:screen_var_run_t,s0)
-/run/tmux(/.*)?        gen_context(system_u:object_r:screen_var_run_t,s0)
+/usr/bin/screen                --      
gen_context(system_u:object_r:screen_exec_t,s0)
+/usr/bin/tmux          --      gen_context(system_u:object_r:screen_exec_t,s0)

diff --git a/policy/modules/contrib/screen.if b/policy/modules/contrib/screen.if
index 2795f69..884e261 100644
--- a/policy/modules/contrib/screen.if
+++ b/policy/modules/contrib/screen.if
@@ -26,7 +26,7 @@ template(`screen_role_template',`
                attribute screen_domain;
                attribute_role screen_roles;
                type screen_exec_t, screen_tmp_t;
-               type screen_home_t, screen_var_run_t;
+               type screen_home_t, screen_runtime_t;
        ')
 
        ########################################
@@ -69,10 +69,10 @@ template(`screen_role_template',`
        userdom_user_home_dir_filetrans($3, screen_home_t, file, ".screenrc")
        userdom_user_home_dir_filetrans($3, screen_home_t, file, ".tmux.conf")
 
-       manage_dirs_pattern($3, screen_var_run_t, screen_var_run_t)
-       manage_files_pattern($3, screen_var_run_t, screen_var_run_t)
-       manage_lnk_files_pattern($3, screen_var_run_t, screen_var_run_t)
-       manage_fifo_files_pattern($3, screen_var_run_t, screen_var_run_t)
+       manage_dirs_pattern($3, screen_runtime_t, screen_runtime_t)
+       manage_files_pattern($3, screen_runtime_t, screen_runtime_t)
+       manage_lnk_files_pattern($3, screen_runtime_t, screen_runtime_t)
+       manage_fifo_files_pattern($3, screen_runtime_t, screen_runtime_t)
 
        corecmd_bin_domtrans($1_screen_t, $3)
        corecmd_shell_domtrans($1_screen_t, $3)

diff --git a/policy/modules/contrib/screen.te b/policy/modules/contrib/screen.te
index bebb3ec..d50f157 100644
--- a/policy/modules/contrib/screen.te
+++ b/policy/modules/contrib/screen.te
@@ -13,27 +13,23 @@ type screen_exec_t;
 application_executable_file(screen_exec_t)
 
 type screen_home_t;
-typealias screen_home_t alias { user_screen_home_t staff_screen_home_t 
sysadm_screen_home_t };
-typealias screen_home_t alias { auditadm_screen_home_t secadm_screen_home_t };
 userdom_user_home_content(screen_home_t)
 
 type screen_tmp_t;
-typealias screen_tmp_t alias { user_screen_tmp_t staff_screen_tmp_t 
sysadm_screen_tmp_t };
-typealias screen_tmp_t alias { auditadm_screen_tmp_t secadm_screen_tmp_t };
 userdom_user_tmp_file(screen_tmp_t)
 
-type screen_var_run_t;
-typealias screen_var_run_t alias { user_screen_var_run_t 
staff_screen_var_run_t sysadm_screen_var_run_t };
-typealias screen_var_run_t alias { auditadm_screen_var_run_t 
secadm_screen_var_run_t screen_dir_t };
-files_pid_file(screen_var_run_t)
-ubac_constrained(screen_var_run_t)
+type screen_runtime_t;
+typealias screen_runtime_t alias screen_var_run_t;
+files_pid_file(screen_runtime_t)
+ubac_constrained(screen_runtime_t)
 
 ########################################
 #
 # Common screen domain local policy
 #
 
-allow screen_domain self:capability { setuid setgid fsetid };
+# dac_override : read /dev/pts/ID
+allow screen_domain self:capability { setuid setgid fsetid dac_override };
 allow screen_domain self:process signal_perms;
 allow screen_domain self:fd use;
 allow screen_domain self:fifo_file rw_fifo_file_perms;
@@ -44,12 +40,12 @@ manage_dirs_pattern(screen_domain, screen_tmp_t, 
screen_tmp_t)
 manage_files_pattern(screen_domain, screen_tmp_t, screen_tmp_t)
 manage_fifo_files_pattern(screen_domain, screen_tmp_t, screen_tmp_t)
 files_tmp_filetrans(screen_domain, screen_tmp_t, { file dir })
-filetrans_pattern(screen_domain, screen_tmp_t, screen_var_run_t, sock_file)
+filetrans_pattern(screen_domain, screen_tmp_t, screen_runtime_t, sock_file)
 
-manage_fifo_files_pattern(screen_domain, screen_var_run_t, screen_var_run_t)
-manage_dirs_pattern(screen_domain, screen_var_run_t, screen_var_run_t)
-manage_sock_files_pattern(screen_domain, screen_var_run_t, screen_var_run_t)
-files_pid_filetrans(screen_domain, screen_var_run_t, dir)
+manage_fifo_files_pattern(screen_domain, screen_runtime_t, screen_runtime_t)
+manage_dirs_pattern(screen_domain, screen_runtime_t, screen_runtime_t)
+manage_sock_files_pattern(screen_domain, screen_runtime_t, screen_runtime_t)
+files_pid_filetrans(screen_domain, screen_runtime_t, dir)
 
 manage_dirs_pattern(screen_domain, screen_home_t, screen_home_t)
 read_files_pattern(screen_domain, screen_home_t, screen_home_t)
@@ -91,8 +87,7 @@ fs_getattr_all_fs(screen_domain)
 
 auth_dontaudit_read_shadow(screen_domain)
 auth_dontaudit_exec_utempter(screen_domain)
-
-init_rw_utmp(screen_domain)
+auth_rw_utmp(screen_domain)
 
 logging_send_syslog_msg(screen_domain)
 

Reply via email to