[selinux-policy: 2377/3172] Lircd patch from Dan Walsh.

Daniel J Walsh dwalsh at fedoraproject.org
Thu Oct 7 22:31:02 UTC 2010


commit 8a8b24a4baf924ca3cda830e67db66f8ef7f074a
Author: Chris PeBenito <cpebenito at tresys.com>
Date:   Fri Jan 8 10:37:13 2010 -0500

    Lircd patch from Dan Walsh.

 policy/modules/services/lircd.fc |    2 ++
 policy/modules/services/lircd.if |   11 ++++-------
 policy/modules/services/lircd.te |   26 ++++++++++++++++----------
 3 files changed, 22 insertions(+), 17 deletions(-)
---
diff --git a/policy/modules/services/lircd.fc b/policy/modules/services/lircd.fc
index cc43e40..49e04e5 100644
--- a/policy/modules/services/lircd.fc
+++ b/policy/modules/services/lircd.fc
@@ -5,4 +5,6 @@
 
 /usr/sbin/lircd		--	gen_context(system_u:object_r:lircd_exec_t,s0)
 
+/var/run/lirc(/.*)?		gen_context(system_u:object_r:lircd_var_run_t,s0)
+/var/run/lircd(/.*)?		gen_context(system_u:object_r:lircd_var_run_t,s0)
 /var/run/lircd\.pid		gen_context(system_u:object_r:lircd_var_run_t,s0)
diff --git a/policy/modules/services/lircd.if b/policy/modules/services/lircd.if
index 2cd228a..d394f17 100644
--- a/policy/modules/services/lircd.if
+++ b/policy/modules/services/lircd.if
@@ -32,12 +32,11 @@ interface(`lircd_domtrans',`
 #
 interface(`lircd_stream_connect',`
 	gen_require(`
-		type lircd_sock_t, lircd_t;
+		type lircd_var_run_t, lircd_t;
 	')
 
-	allow $1 lircd_t:unix_stream_socket connectto;
-	allow $1 lircd_sock_t:sock_file write_sock_file_perms;
 	files_search_pids($1)
+	stream_connect_pattern($1, lircd_var_run_t, lircd_var_run_t, lircd_t)
 ')
 
 #######################################
@@ -60,7 +59,7 @@ interface(`lircd_read_config',`
 
 ########################################
 ## <summary>
-##	All of the rules required to administrate 
+##	All of the rules required to administrate
 ##	a lircd environment
 ## </summary>
 ## <param name="domain">
@@ -77,7 +76,7 @@ interface(`lircd_read_config',`
 #
 interface(`lircd_admin',`
 	gen_require(`
-		type lircd_t, lircd_var_run_t, lircd_sock_t;
+		type lircd_t, lircd_var_run_t;
 		type lircd_initrc_exec_t, lircd_etc_t;
 	')
 
@@ -94,6 +93,4 @@ interface(`lircd_admin',`
 
 	files_search_pids($1)
 	admin_pattern($1, lircd_var_run_t)
-
-	admin_pattern($1, lircd_sock_t)
 ')
diff --git a/policy/modules/services/lircd.te b/policy/modules/services/lircd.te
index db3079e..0c469d1 100644
--- a/policy/modules/services/lircd.te
+++ b/policy/modules/services/lircd.te
@@ -1,5 +1,5 @@
 
-policy_module(lircd, 1.0.0)
+policy_module(lircd, 1.0.1)
 
 ########################################
 #
@@ -16,13 +16,9 @@ init_script_file(lircd_initrc_exec_t)
 type lircd_etc_t;
 files_type(lircd_etc_t)
 
-type lircd_var_run_t;
+type lircd_var_run_t alias lircd_sock_t;
 files_pid_file(lircd_var_run_t)
 
-# type for lircd /dev/ sock file
-type lircd_sock_t;
-files_type(lircd_sock_t)
-
 ########################################
 #
 # lircd local policy
@@ -34,14 +30,24 @@ allow lircd_t self:unix_dgram_socket create_socket_perms;
 # etc file
 read_files_pattern(lircd_t, lircd_etc_t, lircd_etc_t)
 
-# pid file
 manage_dirs_pattern(lircd_t, lircd_var_run_t, lircd_var_run_t)
 manage_files_pattern(lircd_t, lircd_var_run_t, lircd_var_run_t)
+manage_sock_files_pattern(lircd_t, lircd_var_run_t, lircd_var_run_t)
 files_pid_filetrans(lircd_t, lircd_var_run_t, { dir file })
-
 # /dev/lircd socket
-manage_sock_files_pattern(lircd_t, lircd_sock_t, lircd_sock_t)
-dev_filetrans(lircd_t, lircd_sock_t, sock_file )
+dev_filetrans(lircd_t, lircd_var_run_t, sock_file)
+
+dev_read_generic_usb_dev(lircd_t)
+dev_filetrans_lirc(lircd_t)
+dev_rw_lirc(lircd_t)
+dev_rw_input_dev(lircd_t)
+
+files_read_etc_files(lircd_t)
+files_list_var(lircd_t)
+files_manage_generic_locks(lircd_t)
+files_read_all_locks(lircd_t)
+
+term_use_ptmx(lircd_t)
 
 logging_send_syslog_msg(lircd_t)
 


More information about the scm-commits mailing list